идея.

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Bangbuss
Posts: 228
Joined: 2005-07-06 18:17:24

идея.

Post 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.
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post 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
Last edited by Scripts Writer on 2007-08-23 20:18:28, edited 1 time in total.
Bangbuss
Posts: 228
Joined: 2005-07-06 18:17:24

Post by Bangbuss »

o spasiba. eto imeno to shto mne nado. a 2 skript kak sdelat 6tob pri fizzle ot4et prekrashalsa?
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Bangbuss wrote:o spasiba. eto imeno to shto mne nado. a 2 skript kak sdelat 6tob pri fizzle ot4et prekrashalsa?


При физле скрипт начинает повторный каст с засечением времени пока каст не пройдёт. Добавил обнуление счётчика при физле. Пробуй
Bangbuss
Posts: 228
Joined: 2005-07-06 18:17:24

Post 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...')
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post 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


пробуй
Bangbuss
Posts: 228
Joined: 2005-07-06 18:17:24

Post 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
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Поправил то что ты выложил. Пробуй
Bangbuss
Posts: 228
Joined: 2005-07-06 18:17:24

Post by Bangbuss »

net, shas vobshe vreme nepokazivaet.
Bangbuss
Posts: 228
Joined: 2005-07-06 18:17:24

Post by Bangbuss »

skripter kuda propal?
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post 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" со стороны других игроков :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
JohnyG
Posts: 1
Joined: 2007-04-14 11:16:50
Contact:

los-angeles-times

Post by JohnyG »

Ваша идея великолепна
Извиняюсь, но мне необходимо немного больше информации.
Post Reply