[defname mat_options]
Reg 500,8,i_reag_black_pearl,i_reag_blood_moss,i_reag_garlic,i_reag_ginseng,i_reag_mandrake_root,i_reag_nightshade,i_reag_sulfur_ash,i_reag_spider_silk // reg sayısı, regler, her regden max kaçtane
Ore 400,12,i_ore_iron,i_ore_dull_copper,i_ore_copper,i_ore_bronze,i_ore_gold,i_ore_shadow,i_ore_agapite,i_ore_verite,i_ore_valorite,i_ore_mytheril,i_ore_bloodrock,i_ore_blackrock // ore sayısı, orelar, her oredan max kaçtane
Ingot 450,12,i_ingot_iron,i_ingot_dull_copper,i_ingot_copper,i_ingot_bronze,i_ingot_gold,i_ingot_shadow,i_ingot_agapite,i_ingot_verite,i_ingot_valorite,i_ingot_mytheril,i_ingot_bloodrock,i_ingot_blackrock // ingot sayısı, ingotlar, her ingotdan max kaçtane
Other 750,6,i_bandage,i_potion_Healgreat,i_potion_curegreat,i_cloth,i_log,i_scroll_blank
/////
/// Ana itemimiz.
/////
[itemdef i_matbag]
id i_backpack
name Material Bag
weight 25
type t_eq_script
value 64205
ON=@Create
for 1 <dizi <def.reg>,2>
tag.reg<dlocal._for> 0
endfor
for 1 <dizi <def.ore>,2>
tag.ore<dlocal._for> 0
endfor
for 1 <dizi <def.ingot>,2>
tag.ingot<dlocal._for> 0
endfor
for 1 <dizi <def.other>,2>
tag.other<dlocal._for> 0
endfor
color 0835
attr 06
on 31001
matbag Reg,<dizi <ctag.matmenu>,2>
on 31002
matbag Ore,<dizi <ctag.matmenu>,2>
on 31003
matbag Other,<dizi <ctag.matmenu>,2>
on 31004
matbag Ingot,<dizi <ctag.matmenu>,2>
/////
/// burasıda malzeme ekleme olayı, bütün bölümler ve malzemeler tek bi komutta ekleniyor.
/////
Scriptin işlevi: Her hafta yapılan milli piyango çekilişlerinin sphereye uyarlanmış hali. Resimler:
Kod:
[DEFNAME SETTINGS_LOTTERY]
TICKET_PRICE "20000"
TICKETS_4SALE "400" // toplam sat??a ç?kar?lan bilet miktar?
TICKET_ODUL_1 büyük ödül
TICKET_ODUL_2 normal ödül
TICKET_ODUL_3 teselli ödülü
amorti 10 // amorti yüzdesi
check_id = i_makbuz
[CHARDEF C_H_PIYANGO]
ID C_MAN
NAME #NAMES_HUMANMALE
CAN MT_wALK
COLOR COLORS_SKIN
ITEM=i_hair_long
COLOR 07a1
ITEM=I_ROBE
COLOR 0455
ATTR 04
ITEM=I_BOOTS_cALF
COLOR 0455
ATTR 04
ITEM=I_STAFF_BLACK
ITEM=I_APRON_HALF
COLOR 0455
ATTR 04
ON=@NPCSEENEWPLAYER
dorand 3
sayu Hey <src.name>!
say_trk <src.name> şansını denemek istemezmisin?
say_trk kolay yoldan para kazanmak istiyorsan beni arıyorsun ?
ENDDO
[DIALOG d_buy_ticket]
0,0
page 0
resizepic 31 53 2550 281 211
if !(<db.connected>)
db.connect
endif
db.query "SELECT COUNT(TicketUid) FROM game_cekilis "
db.close
dhtmlgump 90 70 200 25 0 0 <DEF.BFONT_red><serv.servname> Piyango Çekilişi
if (<var0.devreden>)
local.a (<db.row.0>*<def.ticket_price>)
local.b (<var.devreden>*<def.ticket_price>)
local.c <eval (<local.a>+<local.b>)>
else
local.c (<db.row.0>*<def.ticket_price>)
endif
dhtmlgump 75 100 200 200 0 0 <def.small><DEF.BFONT_RED><EVAL <SERV.AGE>/7>. hafta<DEF.BFONT_BLACK> çekilişinde toplam <DEF.BFONT_RED><ddef.tickets_4sale><DEF.BFONT_BLACK> bilet satışa çıkarılmıştır. Şuana kadar <DEF.BFONT_RED><ddb.row.0><DEF.BFONT_BLACK> bilet satılmış olup, şuan için büyük ödül <def.bfont_red><f_bolukayir <eval <dlocal.c>/2>><def.bfont_black>gp'ye ulaşmıştır. Bir bilet <def.bfont_Red><f_bolukayir <ddef.ticket_price>> <def.bfont_black>altındır.
dhtmlgump 80 200 200 23 0 0 <DEF.BFONT_BLACK>bir bilet satın almak istiyorum.
button 55 200 5550 5551 1 0 1
resizepic 31 280 2550 281 100
dhtmlgump 50 300 240 70 0 0 <def.small>Şuana kadar buradan alınan <def.bfont_red><REGION.DTAG0.TICKET> kupondan <def.black>toplam <def.bfont_red><region.dtag0.BigPrize> adet büyük ödül, <region.dtag0.normalprize> adet normal ödül, <region.dtag0.amortiprize><def.bfont_black> adet amorti ödülü çıkmıştır.
[DIALOG D_BUY_TICKET BUTTON]
ON=1
if <src.account.tag0.aldiklarim> == 3
src.sysh_trk Her hafta en fazla 3 adet kupon alabilirsiniz.
return 1
endif
if !(<db.connected>)
db.connect
endif
db.query "SELECT COUNT(TicketUid) as bilet FROM game_cekilis "
sysmessage @977a,,1 <db.row.0>
IF (<SRC.GOLD> < <DEF.TICKET_PRICE>)
SRC.sysh_trk yeterli paranız yok.
RETURN 1
ENDIF
IF (<DB.ROW.0.bilet> >= <DEF.TICKETS_4SALE>)
SRC.sysh_trk kuponlar tükenmiş.
RETURN 1
ENDIF
[FUNCTION Cekilisbaslat]
if !(<db.connected>)
db.connect
endif
db.query "SELECT COUNT(TicketUid) as bilet FROM game_cekilis "
if (<db.row.0.bilet> < 10)
sysmessage @,,1 Yeterli katılım olmamış çekilişi daha sonra yapın.
return 1
endif
local.amorti = <db.row.0.bilet>
LOCAL.GREATPRIZE <qval (<var0.devreden>)?<eval <db.row.0.bilet>+<var0.devreden>>:<db.row.0.bilet>>
IF (<R1,3> = 1)
if (<var0.devreden>)
var.devreden +=<eval <db.row.0.bilet>/2>
else
var.devreden <eval <db.row.0.bilet>/2>
endif
serv.newitem i_gold
LOCAL.SERIAL <EVAL STRLEN(<NEW.UID>)>
serv.allclients sound 247
serv.allclients sysmessage @07a0,,1 Nimloth <eval <serv.age>/7>.hafta çekilişinde büyük ödül <STRSUB <EVAL (<LOCAL.SERIAL>-4)> <DLOCAL.SERIAL> <NEW.UID>> nolu bilete çıkmıştır. Bu bilet satın alınmadığı için çekiliş haftaya devretmiştir.
serv.allclients sysmessage @07a0,,1 Amorti ödüllü kazananlar ödüllerini bayilerimizden alabilirler
new.remove
else
DB.query "select * from game_cekilis WHERE ODUl= 0 order by rand() limit 1"
SERV.NEWITEM I_GOLD
NEW.P <DB.ROW.0.TicketRegion>
LOCAL.SERIAL <EVAL STRLEN(<db.row.0.TicketUid>)>
serv.allclients sound 247
serv.allclients sysmessage @07a0,,1 Bu haftaki buyuk ikramiyeyi kazanan kupon <new.region.name> şehrinden alınan <STRSUB <EVAL (<LOCAL.SERIAL>-4)> <DLOCAL.SERIAL> <db.row.0.TicketUid>> numaralı kupon olmuştur. Kazanan oyuncuyu tebrik ediyoruz.
DB.EXECUTE "UPDATE game_cekilis SET ODUL=1 WHERE TicketUid='<DB.ROW.0.TicketUid>'"
UID.<DB.ROW.0.TicketUid>.COLOR 07AD
UID.<DB.ROW.0.TicketUid>.MOREY (<LOCAL.GREATPRIZE>/2)
NEW.REGION.TAG0.BigPrize ++
NEW.REMOVE
var.devreden
endif
/////////////////////////////////////////////////////////////////////////////////////
DB.query "select * from game_cekilis WHERE ODUl= 0 order by rand() limit 2"
UID.<DB.ROW.0.TicketUid>.COLOR 0810
UID.<DB.ROW.1.TicketUid>.COLOR 0810
DB.EXECUTE "UPDATE game_cekilis SET ODUL=2 WHERE TicketUid='<DB.ROW.0.TicketUid>'"
DB.EXECUTE "UPDATE game_cekilis SET ODUL=2 WHERE TicketUid='<DB.ROW.1.TicketUid>'"
UID.<DB.ROW.0.TicketUid>.MOREY (<LOCAL.GREATPRIZE>/5)
UID.<DB.ROW.1.TicketUid>.MOREY (<LOCAL.GREATPRIZE>/5)
SERV.NEWITEM I_GOLD
NEW.P <DB.ROW.0.TicketRegion>
NEW.REGION.TAG0.NormalPrize ++
NEW.P <DB.ROW.1.TicketRegion>
NEW.REGION.TAG0.NormalPrize ++
NEW.REMOVE
/////////////////////////////////////////////////////////////////////////////////////////
DB.query "select * from game_cekilis WHERE ODUl= 0 order by rand() limit <f_yuzde <def.amorti>,<dlocal.amorti>>"
FOR 0 <EVAL <DB.ROW.NUMROWS>-1>
UID.<DB.ROW.<DLOCAL._FOR>.TicketUid>.COLOR 080A
UID.<DB.ROW.<DLOCAL._FOR>.TicketUid>.morey = 1
DB.EXECUTE "UPDATE game_cekilis SET ODUL=3 WHERE TicketUid='<DB.ROW.<DLOCAL._fOR>.TicketUid>'"
SERV.NEWITEM I_GOLD
NEW.P <DB.ROW.<DLOCAL._FOR>.TicketRegion>
NEW.REGION.TAG0.AmortiPrize ++
NEW.REMOVE
ENDFOR
////////////////////////////////////////////////////////////////////////////////////////////////////
DB.QUERY "SELECT TicketUid FROM game_cekilis WHERE ODUL= 0 "
FOR 0 <eval <DB.ROW.NUMROWS>-1>
UID.<DB.ROW.<DLOCAL._FOR>.TicketUid>.REMOVE
ENDFOR
db.close
cleandatabase game_cekilis
for 0 <eval <serv.accounts>-1>
serv.account.<dlocal._for>.tag0.aldiklarim =
endfor
endif
[ITEMDEF I_TICKET_LOTTERY]
ID I_DEED
NAME piyango kuponu
WEIGHT 12
TYPE T_SCRIPT
ON=@DCLICK
IF !(<color>=02e2)
TARGET @,,1 biletinizi bozdurmak istediginiz görevliyi seçin ?
return 1
endif
src.sysh_trk Haftalık çekilişler Pazar günü saat 19:30'da yapılır.
return 1
ON=@TARGON_CHAR
IF (<SRC.TARG.BASEID>==C_H_PIYANGO)
IF (<MOREY>)
serv.newitem <def.check_id>,1,<src.uid>
new.more1 = <EVAL <MOREY>*<DEF.TICKET_PRICE>>
new.more2 = <src.targ.uid>
SRC.SYSMESSAGE @,,1 <EVAL <MOREY>*<DEF.TICKET_PRICE>> altın bankanıza aktarılmıştır.
REMOVE
ENDIF
ELSE
SRC.SYSMESSAGE @,,1 biletinizi herhangi bir piyango bayisinden bozdurabilirsiniz.
RETURN 1
ENDIF
return 1
ON=@destroy
if !(<db.connected>)
db.connect
endif
db.execute "delete from game_cekilis Where TicketUid = '<uid>';"
db.close
[function f_cekilis_recover]
db.query "select TicketUid from game_cekilis where Odul=0"
for 0 <eval <db.row.numrows>-1>
ref1=<db.row.<dlocal._for>.ticket_uid>
if !(<uid.<ref1.uid>>)
db.execute "delete from game_cekilis Where TicketUid = '<ref1.uid>';"
endif
endfor
[function cleandatabase]
if !(<db.connected>)
db.connect
endif
db.execute TRUNCATE TABLE `<args>`
db.close
sysh_trk <args> adlı veritabanı temizlenmiştir.
Scriptin işlevi: Zindan sistemi oyuncuların topluca haraket etmesini , gurup anlayışını kavramalarını ve bu gurup anlayışı içerisinde birbirleri ile bir çok zorluğu aşıp zindanı tamamlamalarından oluşmaktadır.
Zindan yapılacak alanın kordinatları script içerisinde tanımlanıp bir area oluşturulur
Zindan içerisinde oluşturulacak yaratıklar , lootlar , şampıyon lootları belirlenir
Zindan içerisine yaratıklar spawn edilir. ( Her zindan yeni bir gurup girdiği zaman oto respawn olurlar )
Zindan içerisine bosslar yerleştirilir.
Zindana giriş taşı/gatesi yerleştirilir.
5 kişilik bir gurup/party oluşturulur.
Parti lideri taşa çift tıklar. Eğer zindan boş ise ve 5 kişilik gurup zindan taşı yakınında ise zindana girerler.
Zindana girdikten sonra girdikleri alan içerisinde yaratık bulunamaz.
Zindan içerisinde ölüm yoktur. Öldüğü varsayılan kişi belirli bir süre stone olur ve hiç bir işlevi bulunamaz.( PVP sunucusu için kullanışlı oluyor )
Zindanda lootlar otomatik olarak kişilere dağatılır. Her ölen NPC farklı bir kişiye sıra ile düşer.
Şampıyonlar ölürse loot ortak yapılır.
Eğer bir oyuncu oyundan düşerse parti ve zindan bozulur.
Eğer parti başkanı zindanı bitirme taşına basarsa zindan bozulur.
Zindan bozulduğu zaman çantanızdaki herşey ile safe kordinatına atılırsınız.
Resimler:
Kod:
// SON GUNCELLEME : Pazar, Mart 29, 2010
// TIP : Sıfırdan Hazırlama
VERSION=0.56b
//###################################################//
//####### Zindan sistemi değişken tanımları #########//
//###################################################//
//###################################################//
//####### Zindan sistemi alan tanımlaması ###########//
//###################################################//
//###################################################//
//######### Zindan sistemi genel işlemler ###########//
//###################################################//
ON=@CLICK
MESSAGE @39,0,1 [ Zindan Sistemi ]
MESSAGE @50,0,1 [ Zindan Yenileyicisi ]
SRC.SYSMESSAGE @39,0,1 Zindan Sistemi yenilenmesi için gerekli bir objedir lütfen bu obje ile oynamayınız aski halinde sorgusuz bloke edilirsiniz..
RETURN 1
ON=@TIMER
IF !(<DVAR.INISTANCETIMER> == -1)
VAR.INISTANCETIMER -= 1
ENDIF
IF (<DVAR.INISTANCETIMER> == 3300)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 55 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 3000)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 50 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 2700)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 45 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 1800)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 30 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 900)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 15 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 450)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 7.5 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 225)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 3.5 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 60)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 1 dakika içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ELSEIF (<DVAR.INISTANCETIMER> == 10)
SERV.ALLCLIENTS SYSMESSAGE @39,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 <UID.<VAR.INISTANCELEADER>.NAME> ve partisi 10 saniye içerisinde zindanı bitiremezlerse zindandan atılacaktırlar..
ENDIF
[REGIONTYPE R_INISTANCE_EVENT]
ON=@ENTER
IF (<SRC.ISPLAYER>) && !(<SRC.ISGM>)
IF (<SRC.ISEVENT.E_DUNGEONACTIVE> == 0)
SRC.TIMERF 5,SRC.GO <DEF.SAFEALAN>
ENDIF
ENDIF
ON=@EXIT
IF (<SRC.ISPLAYER>) && !(<SRC.ISGM>)
IF (<SRC.ISINPARTY> == 1)
SRC.DUNGEONEXIT <SRC.UID>
ENDIF
ENDIF
[ITEMDEF I_DUNGEON_STONE]
ID = 10901
NAME = Dungeon Stone
TYPE = T_DUNGEONSTONE
VALUE = 1
ON=@CREATE
COLOR = 07C4
ATTR = ATTR_STATIC
[TYPEDEF T_DUNGEONSTONE]
ON=@CLICK
MESSAGE @39,0,1 [ <SERV.NAME> ]
MESSAGE @07A1,0,1 Zindan Girişi
IF (<DVAR.ISPARTYACTIVE> == 1)
MESSAGE @39,0,1 Şu anda dolu
ELSEIF (<DVAR.ISPARTYACTIVE> == 0)
MESSAGE @50,0,1 Boş
ENDIF
RETURN 1
ON=@DCLICK
IF (<DISTANCE <SRC.UID>> > 5)
SRC.SYSMESSAGE @39,0,1 Bu sistemi kullanabilmek için taşa 5 kare yakın olmanız gerekmektedir..
ELSEIF (<SRC.ISINPARTY> == 0)
SRC.SYSMESSAGE @39,0,1 Bu sistemi sadece parti sahibi kullanabilir..
ELSEIF (<SRC.DCTAG.DUNGEONNOFLOOD> == 1)
SRC.SYSMESSAGE @39,0,1 Bu sistemi sadece 10 saniyede bir kullanabilirsiniz..
ELSEIF (<VAR.ISPARTYACTIVE> == 1)
SRC.SYSMESSAGE @39,0,1 Şu anda bir parti zindanı kullanmaktadır..
ELSEIF !(<SRC.PARTY.MEMBER.0.UID> == <SRC.UID>)
SRC.SYSMESSAGE @39,0,1 Bu sistemi sadece parti sahibi kullanabilir..
ELSEIF !(<SRC.PARTY.MEMBERS> == 5) && (<SRC.ACCOUNT.PLEVEL> == 1)
SRC.SYSMESSAGE @39,0,1 Bu sistemi kullanabilmek için partinizde 5 kişi olması gerekmektedir..
ELSEIF (<SRC.PARTYMEMBERCHECK <UID>,<SRC.UID>>)
SRC.SYSMESSAGE @39,0,1 Lütfen zindana girecek olan parti oyuncularınızı toplayıp tekrar deneyiniz..
ELSE
SRC.PARTY_TELEPORT <SRC.UID>
ENDIF
SRC.F_PARTYWAIT
RETURN 1
[FUNCTION DUNGEONEXIT]
REF1 = <ARGV[0]>
IF (<REF1> == 0)
RETURN 1
ENDIF
FOR PARTY_PLAYERS 0 4
REF2 = <VAR.INISTANCEMEMBER<DLOCAL.PARTY_PLAYERS>>
REF2.EVENTS -E_DUNGEONACTIVE
REF2.STONE 1
REF2.TIMERF 10,STONE 0
REF2.HITS = <REF2.STR>
REF2.TIMERF 10,GO <DEF.SAFEALAN>
REF2.FINDID.I_DUNGEON_QUITTER.REMOVE
REF2.SYSMESSAGE @39,0,1 <REF1.NAME> isimli oyuncu zindandan ayrıldığı için zindandan atıldınız..
REF2.SYSMESSAGE @39,0,1 10 saniye içerisinde safe alana ışınlanıcaksınız..
ENDFOR
VAR.ISPARTYACTIVE = 0
REF1.PARTY.DISBAND
SERV.ALLCLIENTS SYSMESSAGE @07A1,0,1 Zindan Sistemi :
SERV.ALLCLIENTS SYSMESSAGE @50,0,1 Zindan şu anda kullanılabilir durumdadır..
VAR.INISTANCETIMER = -1
VAR.INISTANCELEADER = 0
RETURN 1
ON=@DCLICK
SRC.SYSMESSAGE @39,0,1 Bu eşya zindan sistemindeki yaratıklardan çıkmaktadır.. Bu eşya ile zindan sisteminin özel olarak size sunduğu eşyaları satın alabilirsiniz..
RETURN 1
ON=@Dclick
IF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF !(<dRESCOUNT>)
SRC.SYS_HATA Bu vendorun satılık malı bulunmuyor.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSE
FINDLAYER.21.OPEN
FACE <SRC>
ENDIF
RETURN 1
ON=@EnvironChange
IF !(<OWNER>) && (<UID.<TAG0.OWNER>&g t;)
F_MakePetOf <TAG0.OWNER>
ENDIF
ON=@GetHit
RETURN 1
ON=@Attack
RETURN 1
ON=@Damage
RETURN 1
ON=@SpellEffect
RETURN 1
ON=@NpcFollow
RETURN 1
ON=@HitTry
RETURN 1
ON=@RecieveItem
IF (<OWNER>!=<SRC>)
RETURN 1
ENDIF
[SPEECH player_vendor]
ON=satin al
IF !(<dRESCOUNT>)
SRC.SYS_HATA Bu vendorun satılık malı bulunmuyor.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSEIF (<TAG0.OWNER>==<SRC>)
SRC.SYS_HATA Sizin eşyayı satın almanıza gerek yok.
ELSE
SRC.TARGETF F_BUY_ITEM_VENDOR <UID>
ENDIF
ON=fiyat
IF (<TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bu vendorun sahibi siz değilsiniz.
ELSEIF !(<dRescount>)
SRC.SYS_HATA Vendorunuzda satılık mal bulunmuyor.
ELSEIF (< SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSE
SRC.TARGETF F_ITEM_VALUE_VENDOR <UID>
ENDIF
ON=esya kaldir
IF (<TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bu vendorun sahibi siz değilsiniz.
ELSEIF !(<dRescount>)
SRC.SYS_HATA Vendorunuzda zaten satılık mal bulunmuyor.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSE
SRC.TARGETF F_ITEM_RELEASE_VENDOR <UID>
ENDIF
ON=kasa
IF (<TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bu vendorun sahibi siz değilsiniz.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSE
F_RESENDIALOG D_VENDOR_ADD_GOLD
ENDIF
ON=hasilat
IF (<TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bu vendorun sahibi siz değilsiniz.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF (<DEF.PLAYER_VENDOR_REVENUE_DEFEND>) && (<GOLD> < 1000)
SRC.SYS_HATA Vendorunuzda çok az para var !
ELSE
F_RESENDIALOG D_VENDOR_REVENUE
ENDIF
ON=bilgi
IF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF !(<FINDID.I_PLAYER_VENDOR.MORE2>)
SRC.SYS_HATA Bu vendor hiçbir şey satmamış.
ELSE
F_RESENDIALOG D_VENDOR_INFO
ENDIF
ON=kaldir
IF (<TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bu vendorun sahibi siz değilsiniz.
ELSEIF (<SRC.F_CanSeeLos <UID& gt;>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSE
F_RESENDIALOG D_VENDOR_REMOVE
ENDIF
IF !(<REF4.ISITEM>)
SRC.SYS_HATA Hatalı seçim yaptınız.
ELSEIF !(<REF3>)
SRC.SYS_HATA Hatalı bir durum oluştu.
ELSEIF (<REF3.TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bunu siz yapamazsınız.
ELSEIF (<SRC.F_CanSeeLos <REF3>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF !(<dRESCOUNT>)< BR> SRC.SYS_HATA Vendorda satılık eşya bulunmuyor.
ELSEIF (<REF4.TOPOBJ>!=<REF3>)
SRC.SYS_HATA Bu eşya vendorda bulunmuyor.
ELSE
SRC.F_RESENDIALOG D_ITEM_VALUE,0,<REF3>,<REF4>
ENDIF
IF !(<REF4.ISITEM>)
SRC.SYS_HATA Hatalı seçim yaptınız.
ELSEIF !(<REF3>)
SRC.SYS_HATA Hatalı bir durum oluştu.
ELSEIF (<REF3.TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bunu siz yapamazsınız.
ELSEIF (<SRC.F_CanSeeLos <REF3>>)
SRC.SYS_HATA Vendora çok uzaktasınız.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken kullanamazsınız.
ELSEIF (<REF4.TOPOBJ>!=<REF3>)
SRC.SYS_HATA Bu eşya vendorda bulunmuyor.
ELSE
REF4.TAG0.VALUE=
REF4.CONT = <SRC.FINDLAYER(21)>
SRC.SYS_OK <REF4.NAME> isimli eşya çantanıza aktarıldı.
ENDIF
IF !(<REF1>) || !(<REF2>)
SRC.SYS_HATA Hatalı bir durum oluştu.
ELSEIF (<ISEMPTY <ARGTXT[1]>>)
SRC.SYS_HATA Bu kısmı boş bırakamazsınız.
ELSEIF !(<ISNUMBER <ARGTXT[1]>>)
SRC.SYS_HATA Sadece rakam girebilirsiniz.
ELSEIF (<REF2.TOPOBJ>!=<REF1>)
SRC.SYS_HATA Bu item vendorun çan tasında bulunmuyor.
ELSEIF (<SRC.F_CanSeeLos <REF1>>)
SRC.SYS_HATA Vendora ulaşamıyorsunuz.
ELSEIF (<ARGTXT[1]> > <dLOCAL.MAX_VALUE>) || (<ARGTXT[1]> < <dLOCAL.MIN_VALUE>)
SRC.SYS_HATA En yüksek fiyat olarak <dLOCAL.MAX_VALUE> altın,en düşük fiyat olarak <dLOCAL.MIN_VALUE> altın girebilirsiniz.
ELSE
REF2.TAG0.VALUE = <dARGTXT[1]>
SRC.SYS_OK <REF2.NAME> isimli eşyanın değeri <dARGTXT[1]> olarak ayarlandı.
ENDIF
SRC.CTAG0.PLAYER_VENDOR=
[DIALOG D_VENDOR_ADD_GOLD]
100,100
NOMOVE
RESIZEPIC 0 0 9390 300 200
DHTMLGUMP 80 6 999 20 0 0 <Def.Bfont_Blue><SERV.NAME> Vendor Menüsü
DHTMLGUMP 50 40 200 80 0 0 Sayın <SRC.NAME>,<DEF.BR>Vendorunuzun kasasına ne kadar altın ekleceksiniz ?<DEF.BR>Şuanki altın miktari:<GOLD>
RESIZEPIC 90 135 3000 150 30
DTEXTENTRY 106 140 600 20 1152 1 Buraya yazın
BUTTON 50 140 <DEF.BUTTON ID_1> 1 0 1
[DIALOG D_VENDOR_ADD_GOLD BUTTON]
ON=1
IF !(<UID.<UID>>)
SRC.SYS_HATA Hatalı bir durum oluştı.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora ulaşamıyorsunuz.
ELSEIF (<REF1.GOLD> > 2000000)
SRC.SYS_HATA Vendorunuzda zaten çok fazla para bulunuyor.
ELSEIF (<SRC.GOLD> < <DARGTXT[1]>)
SRC.SYS_HATA Yazdığınız miktarda paranız bulunmuyor.
ELSE
GOLD +=<dARGTXT[1]>
Findid.I_Player_Vendor.Timer=3600
SRC.GOLD -=<dARGTXT[1]>
SRC.SYS_OK Vendorunuzun çalışma süresini,<EVAL (<ARGTXT[1]>/250)> saat arttırdınız.
ENDIF
[DIALOG D_VENDOR_REMOVE BUTTON]
ON=1
IF !(<UID.<UID>>)
SRC.SYS_HATA Bir hata oluştu.
ELSEIF (<TAG0.OWNER>!=<SRC>)
SRC.SYS_HATA Bu vendorun sahibi siz değilsiniz.
ELSEIF (<SRC.F_CanSeeLos <UID>>)
SRC.SYS_HATA Vendora ulaşamıyorsunuz.
ELSEIF (<SRC.F_FLAGS_CHECK>)
SRC.SYS_HATA Bu durumda iken yapamazsınız.
ELSE
F_UNEQUIP_PACK
F_B ACKPACK_CONT <SRC>
SRC.GOLD +=<GOLD>
SERV.NEWITEM I_DEED_PLAYER_VENDOR,1,<SRC>
SRC.SYS_OK <GOLD> altın size aktarıldı.
REMOVE
ENDIF
Bütün katılımcılara başarılar diliyorum.. Bütün scriptlere baktım; herhangi biri için özel bir yorum yapılamayacak kadar güzel hepsi de ^^
Onurum gururumdur. Gururumsa yaşamım...
Deniz ve Nehirlerin Tanrıçası Nyétandriel tüm güzelliğiyle parladığında bir gece vakti önümde,
Kesinleşmişti rotamız Sosaria'nın bizi kabulleneceği yaşamda ve ölümde.
AlıntıTheRaskol :
Unutmadan buradan çıkacak sonuç sadece bir oydur.
Alınan anket puanına göre her katılan script 10 üzerinden puan alacaktır.
Diğer oylar jüriye aittir.
Sonra jüri puanlaması olacak birde.
Son güncelleme: TheRaskol tarafından 03-05-2010 00:14 GMT, 753 Gün önce düzenlendi.
if endif, for endfor, dorand enddo... niye hep birşeyleri kısıtlıyoruz?