Page 1 of 1
идея.
Posted: 2007-08-23 18:37:17
by Bangbuss
nu tak vobshem ja tak podumal i pridumal 6to mozhno bilo bi sdelat' 2 skripta. no sam ja eto nesmogu sdelat', potomu obrashajus k expertam.
sut' pervovo skripta v tom 6to nado uznat' skoka na vashem servere dlitsa kast magiji. eto est tak, s momenta kogda vi nachili kastavat' magiju do momenta kogda otnemaetsa mana. vapros v tom kak zastavit' injektu shitat' vreme i pokazat' eto nam.
2 skript naverno budet po leg4e. esli mi znaem vremja magiji, to mi mozhem sdelat' takoj kakbi ot4et:
Code: Select all
UO.Cast('Flame Strike','laststatus')
uo.Print('4...')
wait(1000)
uo.Print('3...')
wait(1000)
uo.Print('2...')
wait(1000)
uo.Print('1...')
tolka pri fizzle terminate etot skript.
nu vot tak dumaju vam ponjatno o 4em ja govaru. izvinite za latinicu.
Posted: 2007-08-23 20:03:29
by Scripts Writer
Code: Select all
sub Time_Cast()
var k=0
var mana=uo.mana
repeat
uo.DeleteJournal()
k=0
uo.Cast('Flame','laststatus')
repeat
wait(100)
k=k+1
until uo.InJournal('fizzles') || uo.mana <> mana
if uo.InJournal('fizzles') then
uo.Print('Fizzle...')
else
uo.Print('Casttime is :'+STR(k)+'00')
endif
until uo.mana <> mana
end sub
Posted: 2007-08-23 20:11:44
by Bangbuss
o spasiba. eto imeno to shto mne nado. a 2 skript kak sdelat 6tob pri fizzle ot4et prekrashalsa?
Posted: 2007-08-23 20:18:03
by Scripts Writer
Bangbuss wrote:o spasiba. eto imeno to shto mne nado. a 2 skript kak sdelat 6tob pri fizzle ot4et prekrashalsa?
При физле скрипт начинает повторный каст с засечением времени пока каст не пройдёт. Добавил обнуление счётчика при физле. Пробуй
Posted: 2007-08-23 20:25:28
by Bangbuss
ti menja ne ponel. s etim tvoim skriptom ja zapishu skoka vreme raznih kastov. a 2 otdelinij skript mne nado uzhe dla pvp, nazhimaju FS na laststatus i na4enaetsa ot4et vreme kasta, no pri fizle ot4et prekrashaetsa.
nu tipa kak ta tak. neznaju ponel ili net. mozhet ja neumeju virazitsa kak nado.
UO.Cast('Flame Strike','laststatus')
uo.Print('4...')
wait(1000)
uo.Print('3...')
wait(1000)
uo.Print('2...')
wait(1000)
uo.Print('1...')
Posted: 2007-08-23 20:54:12
by Scripts Writer
Code: Select all
sub Time_Cast()
var k=3
var mana=uo.mana
uo.DeleteJournal()
uo.Cast('Flame','laststatus')
repeat
wait(1000)
k=k-1
uo.Print('Thats more than '+STR(k)+'000 to cast.')
until uo.InJournal('fizzles') || uo.mana <> mana
end sub
пробуй
Posted: 2007-08-23 21:13:43
by Bangbuss
xorosho, toka esli magija ne na4elelas izza tago 6to targeta nety to ot4et tyt lishnij. nado delat' podrugomu.
nelza kakto tak?
Code: Select all
sub Time_Cast()
var k=6
var mana=uo.mana
while true
if UO.InJournal(uo.GetName('self')+ ": Kal Vas Flam") then
repeat
wait(1000)
k=k-1
uo.Print('wait '+STR(k)+'000 to cast.')
until uo.InJournal('fizzles') || uo.mana <> mana
end if
wait(100)
uo.DeleteJournal()
wend
end sub
Posted: 2007-08-23 21:28:58
by Scripts Writer
Поправил то что ты выложил. Пробуй
Posted: 2007-08-23 21:37:36
by Bangbuss
net, shas vobshe vreme nepokazivaet.
Posted: 2007-08-24 17:58:29
by Bangbuss
skripter kuda propal?
Posted: 2007-08-24 20:26:13
by Destruction
Прочитал первый топик, решил попробывать реализовать сразу оба скрипта.. Понятное дело в окне ответа..
Code: Select all
sub castSpell( spellname, target )
var i, cast_time = uo.getglobal( "time-" + spellname )
if cast_time == "N/A" then
uo.print( "Неизвестное заклинание, засекаю время." )
castTimer( spellname, target )
return false
endif
cast_time = val( cast_time )
if target then
uo.waittargetobject( target )
endif
deljournal( "fizzles" )
uo.cast( spellname )
for i=cast_time to 1 step -1
uo.print( "До конца каста: " + str( i ) + "сек." )
wait( 1000 )
if uo.injournal( "fizzles" ) then
uo.print( "Каст не удался." )
return false
endif
next
endsub
sub castTimer( spellname, target )
if target then
uo.waittargetobject( target )
endif
var time = 0, mana = uo.mana
deljournal( "fizzles" )
uo.cast( spellname )
repeat
wait( 1000 )
time = time + 1
until uo.injournal( "fizzles" ) OR uo.mana < mana
if not uo.injournal( "fizzles" ) then
uo.print( "Каст прошёл удачно, время записано: " + str( time ) + " сек." )
uo.setGlobal( "time-" + spellname, str( time ) )
else
uo.print( "Каст неудался, время не записано." )
endif
endsub
spellname - название каста, который кастуем. target - объект на который кастуем или false, если не нужно указывать куда кастовать.
Вроде так + пара мелочей, вроде того, чтобы скрипт не дох от фразы "fizzles" со стороны других игроков

los-angeles-times
Posted: 2008-02-10 20:43:24
by JohnyG
Ваша идея великолепна
Извиняюсь, но мне необходимо немного больше информации.