Page 1 of 2

БОМБЫ!

Posted: 2008-02-16 16:21:44
by www.i.ru
Простите что вылкадую тут скрипт на изи уо! Но просто есть скрипт кидает бомбы, но почему то в ся где тут ошибка :cry: и только вы можете мне помочь :roll:

Code: Select all


;==================================

set %hotkey 4

set %msg


set %wait1 1


set %wait2 2

set %lpc 100

;==================================
initevents

LinesPerCycle %lpc

loop:
gosub findboom
gosub hotkey
gosub boom
gosub setwait
gosub throw
goto loop:

sub findboom
for %a 1 4
   {
   finditem TUF
   set %pot , %a #findid
   ignoreitem #findid
   }
return

sub hotkey
hotkeyloop:
onhotkey %hotkey
   goto startthrow
goto hotkeyloop
startthrow:
targetloop:
set #enemyid #ltargetid
set #ltargetid #enemyid
set %target #ltargetid
return

sub boom
set %charposx #charposx
set %charposy #charposy
for %b 1 4
   {
   wait %wait1
   set #lobjectid %pot . %b
   event macro 17
   target
   key esc
   }
return

sub setwait
set #enemyid #ltargetid
set #ltargetid #enemyid
set %laststatus #ltargetid
finditem %laststatus
set #enemyid #ltargetid
set #ltargetid #enemyid
set %target #ltargetid
if #finddist > 9
   {
   set %wait3 %wait2 - 2
   goto setwait
   }
if #finddist > 7
   set %wait3 %wait2 - 1
setwait:
set %movewait %wait3 - 4
return

sub throw
if #charposx <> %charposx || #charposy <> %charposy
   wait %movewait
else
   wait %wait3   
for %c 1 4
   {
   set #lobjectid %pot . %c
   event macro 17
   set #enemyid #ltargetid
  set #ltargetid #enemyid
  set %target #ltargetid
   finditem %target
   set #enemyid #ltargetid
  set #ltargetid #enemyid
  set %target #ltargetid
   ;if #finddist > 12
   ;   gosub findnewtarget
   target
   event macro 22
   wait %wait1
   set #enemyid #ltargetid
  set #ltargetid #enemyid
  set %target #ltargetid
   }
return

Code: Select all

А вот и тэги :) aka I'm

Re: БОМБЫ!

Posted: 2008-02-16 17:55:35
by Edred
Во-первых, код засунь в теги code. Иначе даже смотреть не хочется.

www.i.ru wrote:но почему то в ся где тут ошибка


Долго думал, но так и не понял что в этой фразе написано. Телепаты в отпуске. Что за ошибка и где. Изя все говорит, вот и ты напиши.

Posted: 2008-02-16 18:34:45
by www.i.ru
Скрипт заключается в том что бросает Explotion в противника, но скрипт не работает!!! Он зажигает банки, но они не летят в противника и взрываются на мне! А мне нужно чтобы они летели в противника! вот так

Posted: 2008-02-17 00:30:02
by Edred
Отлично. Теперь все объяснил. Осталась малость - выполнить правила форума и запостить скрипт в тегах code.

Posted: 2008-02-17 00:37:15
by Grin
и выровнять;)

Posted: 2008-02-17 01:09:03
by Edred
Там есть отступы. Именно поэтому и требую в теги заключить - скрипт сразу станет читабельным. Увидеть, что там есть отступы можно выбрав вариант ответа с цитированием...

Posted: 2008-02-17 13:03:28
by www.i.ru

Code: Select all


;==================================

set %hotkey 4

set %msg


set %wait1 1


set %wait2 2

set %lpc 100

;==================================
initevents

LinesPerCycle %lpc

loop:
gosub findboom
gosub hotkey
gosub boom
gosub setwait
gosub throw
goto loop:

sub findboom
for %a 1 4
{
finditem TUF
set %pot , %a #findid
ignoreitem #findid
}
return

sub hotkey
hotkeyloop:
onhotkey %hotkey
goto startthrow
goto hotkeyloop
startthrow:
targetloop:
set #enemyid #ltargetid
set #ltargetid #enemyid
set %target #ltargetid
return

sub boom
set %charposx #charposx
set %charposy #charposy
for %b 1 4
{
wait %wait1
set #lobjectid %pot . %b
event macro 17
target
key esc
}
return

sub setwait
set #enemyid #ltargetid
set #ltargetid #enemyid
set %laststatus #ltargetid
finditem %laststatus
set #enemyid #ltargetid
set #ltargetid #enemyid
set %target #ltargetid
if #finddist > 9
{
set %wait3 %wait2 - 2
goto setwait
}
if #finddist > 7
set %wait3 %wait2 - 1
setwait:
set %movewait %wait3 - 4
return

sub throw
if #charposx <> %charposx || #charposy <> %charposy
wait %movewait
else
wait %wait3
for %c 1 4
{
set #lobjectid %pot . %c
event macro 17
set #enemyid #ltargetid
set #ltargetid #enemyid
set %target #ltargetid
finditem %target
set #enemyid #ltargetid
set #ltargetid #enemyid
set %target #ltargetid
;if #finddist > 12
; gosub findnewtarget
target
event macro 22
wait %wait1
set #enemyid #ltargetid
set #ltargetid #enemyid
set %target #ltargetid
}
return

Posted: 2008-02-17 13:04:21
by www.i.ru
Получилось :roll:

Posted: 2008-02-17 13:26:49
by Grin
неа...

Posted: 2008-02-17 13:35:11
by www.i.ru
А что еще не правильно? :( ну пожалуйсто исправте его...

Posted: 2008-02-17 14:01:59
by Grin
ошибок уйма... сек

Posted: 2008-02-17 14:16:46
by Edred
В первом посте скрипт без тегов, но с отступами. Это видно при цитировании. В повторном - в тегах, но без отступов. Плохо и так, и так. Поправить твой пост я не могу, я не модератор. Надо зайти в редактирование первого поста и добавить перед скриптом тег [сode], а после скрипта тег [/сode]. Тогда должно получиться нормально.

Posted: 2008-02-17 14:17:31
by Grin
давай определимся с какого параметра надо брать серийник жертвы? с #enemyid или #ltargetid

Posted: 2008-02-17 14:20:05
by Grin

Code: Select all

;==================================

set %hotkey 4
set %msg
set %wait1 1
set %wait2 2
set %lpc 100

;==================================
initevents

LinesPerCycle %lpc

loop:
   
      gosub findboom
      gosub hotkey
      gosub boom
      gosub setwait
      gosub throw
      
      goto loop:
      
   sub findboom
   
      for %a 1 4
      {
         finditem TUF
         set %pot.%a #findid
         ignoreitem #findid
      }
      return
      
   sub hotkey
   
hotkeyloop:

      onhotkey %hotkey
         goto startthrow
      goto hotkeyloop
         
startthrow:
targetloop:
         
      set #enemyid #ltargetid
      set #ltargetid #enemyid
      set %target #ltargetid
      return
      
   sub boom
   
      set %charposx #charposx
      set %charposy #charposy
      for %b 1 4
      {
         wait %wait1
         set #lobjectid %pot.%b
         event macro 17
         target
         key esc
      }
      return
      
   sub setwait
   
      set #enemyid #ltargetid
      set #ltargetid #enemyid
      set %laststatus #ltargetid
      
      finditem %laststatus
      
      set #enemyid #ltargetid
      set #ltargetid #enemyid
      set %target #ltargetid
      
      if #finddist > 9
      {
         set %wait3 %wait2 - 2
         goto setwait
      }
      
      if #finddist > 7
         set %wait3 %wait2 - 1

setwait:

      set %movewait %wait3 - 4
      return
      
   sub throw
   
      if #charposx <> %charposx || #charposy <> %charposy
         wait %movewait
      else
         wait %wait3
         
      for %c 1 4
      {
         set #lobjectid %pot . %c
         event macro 17
         
         set #enemyid #ltargetid
         set #ltargetid #enemyid
         set %target #ltargetid
         
         finditem %target
         
         set #enemyid #ltargetid
         set #ltargetid #enemyid
         set %target #ltargetid
         
         ;if #finddist > 12
         ; gosub findnewtarget
         
         target
         event macro 22
         wait %wait1
         
         set #enemyid #ltargetid
         set #ltargetid #enemyid
         set %target #ltargetid
      }
      return

держи с отступасми, но его весь пере делывать надо...

Posted: 2008-02-17 15:12:37
by www.i.ru
серийник жертвы #ltargetid

Posted: 2008-02-17 15:18:42
by Edred
Да все не так уж плохо, единственное что - зачем:

Code: Select all

         set #enemyid #ltargetid 
         set #ltargetid #enemyid


Я не понял. Ну и бомбы чар метать будет в себя, а не в врага, потому как координаты-то свои берутся...

Code: Select all

      set %charposx #charposx 
      set %charposy #charposy

Posted: 2008-02-17 15:21:47
by Grin
там была проблема с присвоением %pot,%a
должно быть %pot.%a собствено в версии с отступами исправлено.

Posted: 2008-02-17 22:48:41
by Edred
А, я предыдущие версии просто не смотрел. А через точку - это правильно.

Posted: 2008-02-18 15:56:52
by www.i.ru
Я не понял то есть все скпрт на 1 странице готов (исправлен)?

Posted: 2008-02-18 15:58:04
by Edred
А попробовать лень?