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
А попробовать лень?