Kod:
[itemdef i_gate_bomber_enter]/////////////////////////////
id i_moongate_black
name Bomberman Etkinligi
on=@create
color 0bb4
dispid i_moongate_blue
for x 1 20
tag.girenuid<dlocal.x>
endfor
on=@click
message @58,,1 Bomberman Yarismasi
if (<timer> >= 60)
message @38,,1 [Kalan Sure: <eval (<timer>/60)> dakika]
else
message @38,,1 [Kalan Sure: <timer> saniye]
endif
return 1
on=@dclick
if (<src.isgm>)
src.go bomberman alani
return 1
endif
if !(0<tag.girenuid10> == 0)
src.sysmessage @50 Yarismaya maximum kisi olan 10 kisi zaten girmis..
timer 1
return 1
endif
FORCHARS 15
IF (<MEMORYFINDTYPE.MEMORY_IPET>)
IF (<MEMORYFINDTYPE.MEMORY_IPET.LINK>==<SRC.UID>)
SRC.SYSMESSAGE @39,0,1 Etrafınızda size ait hayvan varken yarışmaya katılamazsınız.
RETURN 1
ENDIF
ENDIF
ENDFOR
YARISMAKOMUTLAR
VAR0.bombe_COUNT += 1
SRC.OTOBOMBERYARISMAYAGIR
for x 1 50
if (<tag0.girenuid<eval <local.x>>> == 0)
serv.allclients sysmessage @58,,1 <dlocal.x>. kişi bomberman yarışmasına girdi.
serv.allclients sysmessage @58,,1 Bomberman yarışmasına girişin kapanmasına ve yarışmanın başlamasına son <eval <timer>/60> dakika veya <eval 10-<local.x>> kişi.
tag.girenuid<eval <local.x>> <src.uid>
return 1
endif
endfor
return 1
on=@step
src.sysmessage @39,1,1 <src.name>, lütfen gate'e iki kere tıklayın.
return 1
endif
on=@timer
IF (<DVAR0.bombe_COUNT> >= 2)
REMOVE
serv.allclients sysmessage @50,,1 Bomberman yarışmaşı 10 sn sonra başlıyor.
TRY UID.<VAR0.BOMBESTARTERUID>.TIMER 10
RETURN 1
ELSE
BOMBERIPTAL
REMOVE
RETURN 1
ENDIF
Kod:
[FUNCTION OTOBOMBERYARISMAYAGIR]
local.place <r1,10>
src.go <def.playerp<dlocal.place>>
events +e_bomberman
src.tag.bomberhak 3
tag0.firedist 1
tag0.bombtime 5
tag0.bomb
f_fizzle
//stone 1
nightsight 1
hits <str>
serv.allclients sysmessage @0785,1,1 <name> Bomberman yarışmasına katıldı.
//DORAND 10
//SRC.GO 5598,1130,1
//SRC.GO 5578,1136,1
//SRC.GO 5588,1134,1
//SRC.GO 5592,1126,1
//SRC.GO 5594,1118,1
//SRC.GO 5588,1112,1
//SRC.GO 5586,1118,1
//SRC.GO 5586,1124,1
//SRC.GO 5578,1120,1
//SRC.GO 5582,1128,1
//ENDDO
SRC.HITS <SRC.STR>
SRC.STAM <SRC.DEX>
FOR 0 28
IF (<DLOCAL._FOR> != 21) && (<DLOCAL._FOR> != 29) && (<DLOCAL._FOR> != 11) && (<DLOCAL._FOR> != 16)
REF1 = <SRC.FINDLAYER.<DLOCAL._FOR>.UID>
IF (<EVAL <REF1>> != 0)
REF1.P = 1,1,1
SRC.CTAG.GMBOMBEITEM<DLOCAL._FOR> = <REF1.UID>
REF1.CONT = <SRC.FINDLAYER.LAYER_PACK.UID>
REF1.UPDATE
REF1.FIX
ENDIF
ENDIF
ENDFOR
SRC.NEWITEM 01517
NEW.COLOR 1983
NEW.ATTR 010
NEW.EQUIP
SRC.NEWITEM 0152E
NEW.COLOR 1983
NEW.ATTR 010
NEW.EQUIP
SRC.NEWITEM 0170F
NEW.COLOR 1983
NEW.ATTR 010
NEW.EQUIP
SRC.FLAGS = <SRC.FLAGS>|04
SRC.CTAG.GMBOMBEITEM21 = <SRC.FINDLAYER.21.UID>
SRC.FINDLAYER.21.CONT = <SRC.FINDLAYER.29.UID>
BANK
UPDATE
FIX
Kod:
[events e_bomberman]
on=@click
message @075f,1,1 Bomber <eval <tag.bomberhak>> hakkı var
message @07a1,1,1 <name>
return 1
on=@attack
return 1
on=@spellcast
return 1
on=@spelleffect
return 1
on=@death
if (<tag.bomberhak> > 0)
src.sys_beyaz <eval <tag.bomberrhak>> hakkınız kaldı..
src.hits <src.str>
src.tag.bomberhak -=1
serv.allclients sysmessage @07a1,1,1 <name> öldü ve <eval <tag.bomberhak>> bomberman hakkı kaldı.
local.place <r1,10>
src.go <def.playerp<dlocal.place>>
timerf 3,kalankontrol
return 1
endif
YARISMAGENELFLAGSIL_
VAR0.BOMBE_COUNT --
SRC.EVENTS -E_BOMBERMAN
src.stonemgitsinbeabi
SRC.GO guvenli alan
serv.allclients sysmessage @033,1,1 Bomberman yarismasinda kalan kisi :<eval <var0.bombe_count>>
resurrect 1
SRC.HITS <SRC.STR>
BOMBERCIKIS
byebye
RETURN 1
ON=@LOGOUT
TRIGGER=@DEATH
RETURN 0
Kod:
[function kalankontrol]
IF (<eval <VAR0.BOMBE_COUNT>> == 1)
BOMBERCIKIS
BOMBERMANBIRINCI
endif
return 1
Kod:
[function BOMBERMANBITTI]
foritems 64000
if <baseid> == i_box_art
remove
endif
endfor
VAR0.BIRYARISMAVAR 0
VAR0.BOMBEBASLADIBASKAN 0
Kod:
[function BOMBERMANBIRINCI]
forchars 65000
if (<isevent.e_BOMBERMAN>)
events -e_bomberman
go GUVENLI ALAN
timerf,1 TOPUKODUL
resurrect 1
SRC.HITS <SRC.STR>
bombermanbitti
serv.allclients sysmessage @07b1,,1 <name> Bomberman yarışmasını kazandı.
return 1
endif
endfor
Şimdi iki sistemin harmanlanması ve ufak eklentiler ile otonatik bomberman yapımına giriştim. Sonuç istediğim gibi olmak üzere sadece son kalan oyuncunun ödülünü verip gönderme kısmı sıkıntılı. Şimdiki halinde bir kez daha ölmesi gerekiyor. Sorgulama "Event" "on=@death" altından hariç başka bir şekilde yapılabilinir mi?