UO-Dev Arama



Kiralık katil sistemi

Yazar :: aldarson
Tarih :: 26-06-2010 17:46
Karakter Boyut ::

Paylaş :: Paylaş




Kod:
[DEFNAME KIRALIK_KATIL]
OPTION_RENT_KILLER_STONE_UID "04000bb22"
OPTION_MAX_HEAD_LIST "5"
OPTION_HEAD_LIST_MIN_GOLD "5000"

[FUNCTION GOREVIPTAL]
REF9=<DEF.OPTION_RENT_KILLER_STONE_UID>
IF !(<SRC.TAG0.KILLED>)
SRC.SYS_HATA Zaten şuanda bir göreviniz bulunmuyor.
ELSEIF (<SERV.TIME> < <SRC.DTAG0.CANCEL_TIME>)
SRC.SYS_HATA Bu komutu şimdi kullanamazsınız.
ELSE
REF9.TAG0.HEAD_<STREAT <SRC.TAG0.KILLED>>
SRC.TAG0.KILLED
SRC.EVENTS -KIRALIK_KATIL
SRC.SYS_HATA Kiralık katil göreviniz iptal edildi.
SRC.TAG0.CANCEL_TIME (<SERV.TIME>+60000)
ENDIF

[FUNCTION GOREVOK]
REF1 = <SRC.TAG0.KILLED>
IF !(<REF1>)
SRC.SYS_HATA Şuanda bir göreviniz bulunmuyor.
ELSEIF !(<REF1.ISONLINE>) || (<REF1.FLAGS>&STATF_DEAD)
SRC.SYS_HAFA Hedefiniz oyunda değil veya ölü durumda.
ELSE
SRC.SYS_OK Hedefinize ok çıkarıldı,lütfen görevinizi tamamlayınız.
SRC.SYS_OK Öldürülecek:<REF1.NAME>,Bulunduğu bölge:<REF1.REGION.NAME>,Koordinatlar:<REF1.P>
SRC.ARROWQUEST = <REF1.P>
ENDIF

[FUNCTION KATIL]
<QVAL (<SRC.KILLS> < <SERV.MURDERMINCOUNT>)?SRC.SYS_HATA Bu sistemi kullanabilmek için player killer olmalısınız.:SRC.F_RESENDIALOG D_KIRALIK_KATIL>

[DIALOG D_KIRALIK_KATIL2]
50,50
NOMOVE
REF9=<DEF.OPTION_RENT_KILLER_STONE_UID>
REF2=<F_SELECT 1,<REF9.TAG0.HEAD_<DARGV[0]>>>
REF3=<F_SELECT 3,<REF9.TAG0.HEAD_<DARGV[0]>>>
RESIZEPIC 0 0 02422 400 190
DHTMLGUMP 110 18 999 20 0 0 <DEF.BFONT_RED><SERV.NAME> Kiralık Katil Sistemi
DHTMLGUMP 55 40 999 20 0 0 Sayın <SRC.NAME>,
DHTMLGUMP 55 60 300 100 0 0 <REF2.NAME> isimli kişinin başına koyduğunuz ödülü iptal etmek istiyor musunuz ?
BUTTON 55 110 <DEF.BUTTONID_1> 1 0 1
BUTTON 55 130 <DEF.BUTTONID_1> 1 0 2
DHTMLGUMP 75 108 999 20 0 0 Evet,iptal etmek istiyorum.
DHTMLGUMP 75 128 999 20 0 0 <QVAL (<REF3>)?Hayır,görevine devam etsin.:Bu görevi iptal etme.>
SRC.CTAG0.NUM=<DARGV[0]>

[DIALOG D_KIRALIK_KATIL2 BUTTON]
ON=0
SRC.SYS_OK İşlemi iptal ettiniz.

ON = 1
LOCAL.NUM=<SRC.CTAG0.NUM>
SRC.CTAG0.NUM=

REF9=<DEF.OPTION_RENT_KILLER_STONE_UID>
REF2=<F_SELECT 1,<REF9.TAG0.HEAD_<DLOCAL.NUM>>>
REF3=<F_SELECT 3,<REF9.TAG0.HEAD_<DLOCAL.NUM>>>

IF !(<REF9.TAG0.HEAD_<DLOCAL.NUM>>)
SRC.SYS_HATA Bir hata oluştu menüyü tekrar açınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken bunu yapamazsınız.
ELSEIF (<SRC.KILLS> < <SERV.MURDERMINCOUNT>)
SRC.SYS_HATA Bu sistemi kullanabilmek için player killer olmalısınız.
ELSE
IF !(<REF3>)
SRC.SYS_OK <REF2.NAME> isimli kişi için kiralamaya çalıştığınız kiralık katil görevi sonlandırıldı.
ELSE
SRC.SYS_OK <REF2.NAME> isimli kişi için kiralamaya çalıştığınız kiralık katil görevi sonlandırıldı.
IF (<REF3.ISONLINE>)
REF3.ARROWQUEST
REF3.SYS_OK <REF2.NAME> isimli kişiyi öldürme göreviniz <SRC.NAME> tarafından sonlandırıldı.
ELSE
REF3.NOTICE='<SRC.NAME>' tarafından '<REF2.NAME>' isimli kişiyi öldürme göreviniz sonlandırıldı.
ENDIF
REF3.TAG0.KILLED=
REF3.EVENTS -KIRALIK_KATIL
ENDIF
ENDIF

REF9.TAG0.HEAD_<DLOCAL.NUM>=

ON = 2
SRC.CTAG0.NUM=
SRC.SYS_OK İşlemi iptal ettiniz.

[DIALOG D_KIRALIK_KATIL]
50,50
RESIZEPIC 0 0 02422 400 <EVAL <DEF.OPTION_MAX_HEAD_LIST> * 42>
DHTMLGUMP 110 18 999 20 0 0 <DEF.BFONT_RED><SERV.NAME> Kiralık Katil Sistemi
DHTMLGUMP 45 40 999 20 0 0 <DEF.BFONT_RED><DEF.BFONT_SIZE7>Öldürülecek
DHTMLGUMP 165 40 999 20 0 0 <DEF.BFONT_RED><DEF.BFONT_SIZE7>Kiralayan
DHTMLGUMP 285 40 999 20 0 0 <DEF.BFONT_RED><DEF.BFONT_SIZE7>Kiralanan

REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>
FOR <DDEF.OPTION_MAX_HEAD_LIST>
LOCAL.Z=<EVAL (<LOCAL._FOR>*20)+40>
FOR X 3
REF<DLOCAL.X> <F_SELECT <DLOCAL.X>,<REF9.TAG0.HEAD_<DLOCAL._FOR>>>
ENDFOR
DHTMLGUMP 45 <DLOCAL.Z> 999 20 0 0 <QVAL (<REF1>)?<REF1.NAME>:Kiralanmamış>
DHTMLGUMP 165 <DLOCAL.Z> 999 20 0 0 <QVAL (<REF2>)?<REF2.NAME>:Kiralanmamış>
DHTMLGUMP 285 <DLOCAL.Z> 999 20 0 0 <QVAL (<REF3>)?<REF3.NAME>:Kiralanmamış>
IF (<REF1>)
BUTTON 25 <DLOCAL.Z> <DEF.BUTTONID_1> 1 0 <DLOCAL._FOR>
ENDIF
ENDFOR

BUTTON 40 170 <DEF.BUTTONID_1> 1 0 99
DHTMLGUMP 60 170 999 20 0 0 Öldürülecek listesine ekle

[DIALOG D_KIRALIK_KATIL BUTTON]
ON=1,98
REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>
REF1 = <F_SELECT 1,<REF9.TAG0.HEAD_<DARGN>>>
REF2 = <F_SELECT 2,<REF9.TAG0.HEAD_<DARGN>>>
REF3 = <F_SELECT 3,<REF9.TAG0.HEAD_<DARGN>>>

IF !(<REF9.TAG0.HEAD_<DARGN>>)
SRC.SYS_HATA Bir hata oluştu menüyü tekrar açınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken bunu yapamazsınız.
ELSE
IF (<REF2> == <SRC>)
SRC.F_RESENDIALOG D_KIRALIK_KATIL2,0,<DARGN>
ELSEIF (<REF1> == <SRC>)
SRC.SYS_HATA Kendi kendinizin kiralık katili mi olacaksınız ?
ELSEIF (<SRC.TAG0.KILLED>) && (<REF3>==<SRC>)
SRC.SYS_HATA Bu görev zaten size ait.
ELSEIF (<SRC.TAG0.KILLED>) && (<REF3>!=<SRC>)
SRC.SYS_HATA Zaten bir göreviniz bulunuyor.
ELSEIF (<SRC.MEMORYFINDTYPE(MEMORY_GUILD)>)
SRC.SYS_HATA Guild üyeleri bunu kullanamaz.
ELSEIF (<F_CHARACTER_CONTROL <REF1>>)
SRC.SYS_HATA Kendi hesabınızdaki karaktere bu işlemi yapamazsınız.
ELSE
SRC.TAG0.KILLED=<REF1>,<DARGN>
SRC.TAG0.CANCEL_TIME=(<SERV.TIME>+60000)
REF9.TAG0.HEAD_<DARGN> == <REF1>,<REF2>,<SRC>
IF (<REF1.ISONLINE>)
SRC.ARROWQUEST=<REF1.P>
ENDIF
SRC.SYS_OK Göreviniz:<REF1.NAME> isimli kişiyi öldüreceksiniz.Ödülünüz görevi bitirince bankanıza aktarılacaktır.
SRC.SYS_OK Eğer öldüreceğiniz kişi sizi öldürürse göreviniz iptal olur.
SRC.SYS_OK Hedefe ok çıkarmak için '.gorevok' görevi iptal etmek için '.goreviptal' yazabilirsiniz.
SRC.EVENTS +KIRALIK_KATIL
ENDIF
ENDIF

ON = 99
IF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken bunu yapamazsınız.
ELSE
SRC.TARGETF F_TARGET_SELECT_HEAD
SRC.SYS_OK Kimin için kiralık katil arıyacaksınız ?
ENDIF

[FUNCTION F_SELECT_SLOTH_TEST]
REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>
FOR <DDEF.OPTION_MAX_HEAD_LIST>
IF STRMATCH("<F_SELECT 1,<REF9.TAG0.HEAD_<DLOCAL._FOR>>>","<ARGV[0]>")
RETURN 1
ENDIF
ENDFOR
RETURN 0

[FUNCTION F_SELECT_SLOTH]
REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>
FOR <DDEF.OPTION_MAX_HEAD_LIST>
IF !<REF9.TAG0.HEAD_<DLOCAL._FOR>>
LOCAL.SLOTH <DLOCAL._FOR>
ENDIF
ENDFOR
RETURN <DLOCAL.SLOTH>

[FUNCTION F_CHARACTER_CONTROL]
FOR <DDEF.OPTION_MAX_HEAD_LIST>
FOR X <EVAL (<ACCOUNT.CHARS>)-1>
IF (<ARGV[0]>==<ACCOUNT.CHAR.<DLOCAL.X>.UID>)
RETURN 1
ENDIF
ENDFOR
ENDFOR
RETURN 0

[FUNCTION F_SYSTEM_CHECK]
REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>
FOR <DDEF.OPTION_MAX_HEAD_LIST>
IF (<REF9.TAG0.HEAD_<DLOCAL._FOR>>)
LOCAL.TOTAL ++
ENDIF
ENDFOR
RETURN <DLOCAL.TOTAL>

[FUNCTION F_TARGET_SELECT_HEAD]
REF1 = <ARGO.UID>
IF (<REF1.BASEID> == I_FLESH_HEAD) && (<REF1.LINK>) && (<REF1.LINK.ISPLAYER>)
REF2 = <REF1.LINK>
ENDIF
REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>

IF !(<REF1.ISITEM>)
SRC.SYS_HATA Bu bir oyuncu kafası değil.
ELSEIF (<REF1.TOPOBJ>!=<SRC>)
SRC.SYS_HATA Ekleyeceğiniz kafa çantanızda olmalıdır.
ELSEIF (<REF1.BASEID>!=I_FLESH_HEAD)
SRC.SYS_HATA Bu bir oyuncu kafası değil.
ELSEIF !(<REF2>)
SRC.SYS_HATA Hatalı olduğu için silindi.
REF1.REMOVE
ELSEIF !(<REF2.ISPLAYER>)
SRC.SYS_HATA Bu bir oyuncu kafası değil.
ELSEIF (<SRC.MEMORYFINDTYPE(MEMORY_GUILD)>)
SRC.SYS_HATA Guild üyeleri bunu kullanamaz.
ELSEIF (<SRC.KILLS> < <SERV.MURDERMINCOUNT>)
SRC.SYS_HATA Bu sistemi kullanabilmek için player killer olmalısınız.
ELSEIF (<F_SELECT_SLOTH_TEST <REF2>>)
SRC.SYS_HATA Bu kişi zaten öldürülücek listesinde yer alıyor.
ELSEIF (<SRC.GOLD> < <DDEF.OPTION_HEAD_LIST_MIN_GOLD>)
SRC.SYS_HATA Bu işlemi yapmak için <DDEF.OPTION_HEAD_LIST_MIN_GOLD> altın sahibi olmalısınız.
ELSEIF (<REF2.FAME> <6500) || <FVAL (<REF2.SKILLTOTAL> <500.0)>
SRC.SYS_HATA Bu kişinin famei 7500'den düşük veya skill toplamı 600.0'dan küçük.
ELSEIF (<REF2.FLAGS>&STATF_DEAD) || !(<REF2.ISONLINE>)
SRC.SYS_HATA <REF2.NAME> ölü durumda veya oyunda değil.
ELSEIF (<F_CHARACTER_CONTROL <REF2>>)
SRC.SYS_HATA Kendi hesabınızdaki karaktere bu işlemi yapamazsınız.
ELSEIF <EVAL (<F_SYSTEM_CHECK>> == 5)
SRC.SYS_HATA Sistemi şuanda kullanamazsınız.
ELSE
REF9.TAG0.HEAD_<F_SELECT_SLOTH> == <REF2>,<SRC>,0
SRC.SYS_OK <REF2.NAME> isimli kişiyi öldürülecek listesine eklediniz.
SRC.GOLD -=<DDEF.OPTION_HEAD_LIST_MIN_GOLD>
SERV.WRITEFILE SCRIPTS/LOGS/LOGS1.TXT Kiralık Katil - Öldürülecek(<REF1.NAME>=<REF1>),Kiralayıcı(<SRC.NAME>=<SRC>),Hesap:(<SRC.ACCOUNT>),(Tarih(<SERV.RTIME>)
REF1.REMOVE
ENDIF

[EVENTS KIRALIK_KATIL]
ON=@CLICK
REF1=<TAG0.KILLED>
MSG_OK [Kiralık Katil]
MSG_NORMAL [Hedefi : <REF1.NAME>]

ON=@DEATH
IF (<ARGO>==<SRC.TAG0.KILLED>)
SRC.SYS_OK Öldürmeye çalıştığınız hedefiniz sizi öldürdüğü için göreviniz iptal edildi.
SRC.TAG0.KILLED=
SRC.EVENTS -KIRALIK_KATIL
ENDIF

ON=@KILL
REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>
IF (<ARGO>==<SRC.TAG0.KILLED>)
SRC.SYS_OK Hedefinizi başarıyla öldürdünüz,ödülünüz bankanıza aktarıldı.
SRC.EVENTS -KIRALIK_KATIL
REF9.TAG0.HEAD_<STREAT <SRC.TAG0.KILLED>>
SRC.TAG0.KILLED=
LOCAL.GOLD=<EVAL (<ARGO.FAME>*10)+60000>
SRC.GOLD +=<DLOCAL.GOLD>
SRC.SYS_OK Ödülünüz:<DLOCAL.GOLD> altın bankanıza aktarıldı.
SRC.ARROWQUEST
ENDIF

ON=@ENVIRONCHANGE
REF9 = <DEF.OPTION_RENT_KILLER_STONE_UID>
IF (<SRC.TAG0.KILLED>) && !(<UID.<SRC.TAG0.KILLED>>)
REF9.TAG0.HEAD_<STREAT <SRC.TAG0.KILLED>>
SRC.TAG0.KILLED=
SRC.EVENTS -KIRALIK_KATIL
ENDIF

Yorumlar

Henüz yorum yapılmamıştır.

Oylamalar

Oylama::
Üyelerin oylama ortalaması (10 dışında) : 7.24   
Oylar: 4 den itibaren 11-07-2010 21:03

Keywords:


Sayfa açılma süresi 0.199 saniye
SQL toplam zamanı: 0.123 saniye - SQL sorgusu: 22 - Ortalama SQL zamanı: 0.00559 saniye