Arkadaşlar sabahtan beri pc başındayım artık beynmideki tüm işlevler durdu :) şimdi sorunum şu ben posion potu dclick ile yaptım yani çift ıklayıp silaha sürdükten sonra zehiri sürüyor.Benim istediğim ise zehri başarıyla sürdünüz yazısından sonra çantaya i_bottle_empty versin ben yaptım fakat zehri sürer srmez çantaya atıyor timerf ilede denedim olmadı bilen varmıdır?


src.timerf 3,src.newitem i_bottle_empty
src.act.bounce
Master
59.2997
src.timerf 3, serv.newitem i_potion_empty,1,<src>
Üzgünüm olmadı :(

if (<src.targ.type> == t_weapon_sword) ||(<src.targ.type> == t_weapon_fence) ||(<src.targ.type> == t_weapon_fence)
elif (<src.targ.morez> == 0))
src.timerf 3,sysmessage @38,,1 Zehri basariyla surdunuz.
src.timerf 3,src.targ.morez 100
src.timerf 3,src.consume 1 i_potion_poison
src.consume 1 i_potion_poisondeadly
src.timerf 3, serv.newitem i_potion_empty,1,<src> 
src.act.bounce
else
src.sysmessage @38,,1 Bu bir silah degil.
return 1
endif
Master
59.2997
src.act.bounce eklemene gerek yok benim verdiğim kısmı eklediğinde. Eğer eklersen anında çantana yerleştirecektir.
Slothere hazır seni yakalamışken şunuda bi sorayım.Şimdi bende bi yarışma var herşeyi ile hazır yalnız kazananlar gidince yarışma alanındakiler hala orda bekliyor.Yani kazananlar gidince yarışmanın bitmesi lazım ve oyuncuların safeye gitmesi lazım ama olmuyor yapamadım:

on=@step
src.bitti

[function bitti]
src.events -e_xxxxx
src.go safe alan
return 1

böyle şeyler yaptım ama olmadı
Novice
11.9
On=@step doğru da function hatalı

Functionu şu şekilde değiştir

[function bitti]
forplayers 6143
if (<isevent.e_yarismaeventi>)
go safe alan
events -e_yarismaeventi
endif
endfor

ayrıca on=@step in altına yarışmayı birinci bitiren için src.events -e_yarismaeventi ekle sorun çıkmasın.

Bu konu Rowall tarafından düzenlendi(2009-07-05 06:28, 14 yıl önce)
[function bitti]
forclients <serv.clients>
if (<isevent.e_yarismaeventi>) && !(<uid> == <src.uid>)
go safe alan
events -e_yarismaevent
endif
endfor

şu for altında src kullanırsanız functionu kullananı hedef alır. rowall sen adamı safe e göndermşin diğerlerini bırakıp eventlerini silmişin :S :D
olmadı ya delirdim :)
Master
59.2997
allclients <function> şeklinde kullanım daha iyi olacak gibi bu durumda.
Novice
11.9
Basic : [function bitti]
forclients <serv.clients>
if (<isevent.e_yarismaeventi>) && !(<uid> == <src.uid>)
go safe alan
events -e_yarismaevent
endif
endfor

şu for altında src kullanırsanız functionu kullananı hedef alır. rowall sen adamı safe e göndermşin diğerlerini bırakıp eventlerini silmişin :S :D

Pardon yaptığım biraz saçma olmuş src. oraya nasıl gelmiş bilmiyorum :D. Editledim şimdi dene bi sorun çıkacağını sanmıyorum
şunu denermsin

[function bitti]
forchars 10000
if (<isplayer>)
if (<isevent.e_yarismaeventi>)
if (<isevent.e_bitirmis>)
go bitisnoktasi
events -e_yarismaeventi
events -e_bitirmis
else
go safe alan
events -e_yarismaeventi
endif
endif
endif
endfor

[events e_bitirmis]

on=@step
src.events e_bitirmis
bitti

itema functionu kullandırıp adama event verdirip dene bide.

//edit: allclients yormazmış onu kullanmalıymışsın. allclientsla yap hiç uğraşma bunlarla
Novice
11.9
yahu bu kadar uzun şeye ne gerek var

[function bitti]
forplayers 6143
if (<isevent.e_yarismaeventi>)
go safe alan
events -e_yarismaeventi
endif
endfor

bunu denedim sorunsuz çalışıyor
ya bende mi bi kazmalık var.

on=@step
if (<dtag0.gecen> = 0)
tag0.gecen 1
src.sysmessage @096,1,1 Tebrikler 1. oldun
serv.allclients sysmessage @0798 <src.name> kuyu yarismasinda 1. olmustur.
src.kyodulunual
src.events -e_kuyuyarisma
src.robesil
src.go safe alan
elseif (<dtag0.gecen> == 1)
tag0.gecen 2
src.sysmessage @096,1,1 Tebrikler 2. oldun
serv.allclients sysmessage @0798 <src.name> kuyu yarismasinda 2. olmustur.
src.kyodulunual3
src.events -e_kuyuyarisma
src.robesil
src.go safe alan
elseif (<dtag0.gecen> == 2)
tag0.gecen 3
src.sysmessage @096,1,1 Tebrikler 3. oldun
serv.allclients sysmessage @0798 <src.name> kuyu yarismasinda 3. olmustur.
src.kyodulunual2
src.events -e_kuyuyarisma
src.robesil
src.go safe alan
else
src.bitti
endif

forplayers 6143
if (<isevent.e_kuyuyarisma>)
go safe alan
events -e_kuyuyarisma
endif
endfor
Novice
11.9
on=@step
if (<dtag0.gecen> = 0)
tag0.gecen 1
src.sysmessage @096,1,1 Tebrikler 1. oldun
serv.allclients sysmessage @0798 <src.name> kuyu yarismasinda 1. olmustur.
src.kyodulunual
src.events -e_kuyuyarisma
src.robesil
src.go safe alan
elseif (<dtag0.gecen> == 1)
tag0.gecen 2
src.sysmessage @096,1,1 Tebrikler 2. oldun
serv.allclients sysmessage @0798 <src.name> kuyu yarismasinda 2. olmustur.
src.kyodulunual3
src.events -e_kuyuyarisma
src.robesil
src.go safe alan
elseif (<dtag0.gecen> == 2)
tag0.gecen 3
src.sysmessage @096,1,1 Tebrikler 3. oldun
serv.allclients sysmessage @0798 <src.name> kuyu yarismasinda 3. olmustur.
src.kyodulunual2
src.events -e_kuyuyarisma
src.robesil
src.go safe alan
src.bitti
endif


[function bitti]
forplayers 6143
if (<isevent.e_yarismaeventi>)
go safe alan
events -e_yarismaeventi
endif
endfor


Bu konu Rowall tarafından düzenlendi(2009-07-05 10:10, 14 yıl önce)
Bi saniye şimdi aklıma dank etti.Biz bu src.bitti functionunu neden on=@step'e koyuyoruz ya da siz beni yanlış anladınız :)
Olayı anlatayım çünkü herşeyi denedim fakat olmadı kolay kolay topic açan biride değilim çünkü bu sorunu hallettim mi diğer yarışmalar içinde iyi olacak onlarda da bu son kalanları gönderme olayı olacak :)
Şimdi bi teleporter var üzerinden geçen ilk 3 kişi ödülünü alıp gidiyorlar burada bi sorun yok.FAKAT son kişi yani 3. kişide teleporttan geçtikten sonra e_kuyuyarisma eventine sahip olanlar(geri kalanlar işte) safeye gitmesini istiyorum ama yapamadım..



Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.