Belirli süreli mücadele sistemi.
Bir mobil oyun uygulamasının görevinden esinlenip yapılmıştır. Sürekli olarak yaratık keserek sıralamanın en üstünde yer almak.
1- Birincilikle bitiren kişi bütün ödülleri almaya hak kazanır.
2- Sıralamayı 2 ila 20 arasında bitiren oyuncular 2 - 20 ödüllerini almaya hak kazanır.
3- Sıralamayı 20 ve sonrası bitirenler sadece teselli ödüllerini almaya hak kazanır.
Mücadele yetkililer tarafından ne zaman istenirse o zaman başlatılır.. Mücadele süresi ve Ödüller Sistemin kontrol panelinden ayarlanmaktadır.
.asalet_odulkontrol // Kontrol paneline ulaşım.
sphere.ini içerisinde //EventsPet= kısmını bulup
EventsPet=e_npc // bu şekilde yapmalısınız.
Hangi yaratığın ne kadar puan vermesini istiyorsanız scp nin en alt kısmında bulunan e_npc kısmında örnekler verilmiştir. göz atınız.
Sistem için oyuncular üzerinde herhangi bir fix durumu söz konusu olursa diye e_asalet diye events açılmıştır oradan istediğinizi yapabilirsiniz.
[chardef c_man_asalet]
id = c_woman
name=#names_humanfemale
on=@click
message @,,1 [Asalet Yarışması]
message @058 <name>
return 1
on=@create
str = 1
hits = 1
flags = statf_freeze
itemnewbie = i_hat_wizards
color = 0481
itemnewbie = i_tunic
color = 0481
itemnewbie = i_sandals
color = 0481
itemnewbie = i_skirt_long
color = 0481
itemnewbie = i_lantern
color = 0481
on=@dclick
local._isasalet = <serv.list.asalet.findelem <src>>
ref1 = <serv.list.asalet.<dlocal._isasalet>>
if (<distance <src>> > 4)
src.sysmessage @34,,1 Yaklaşmalısınız.
elif (<dvar._asalet> != 1)
src.sysmessage @34,,1 Mücadele henüz başlamamış.
return 1
elif (<ref1> != <src>)
sdialog d_asalet
elif (<ref1> == <src>)
sdialog d_asalet,2
endif
return 1[dialog d_asalet]
0,0
page 1
resizepic 50 50 5170 250 400
dtext 130 53 044 Katılım Menüsü
dhtmlgump 75 100 210 300 0 0 Merhaba hoşgeldin <def.bfont_green><src.name><def.br><def.bfont_black>Etkinliğimizin amacı oyuncuların kendi aralarındaki mücadelelerini görebilmek.<def.br><def.br>Merak etmeyin bizlerde en az sizler kadar iyi biliyoruz.<def.br>Kimsenin boş bir amaç uğruna mücadele etmiyeceğini!<def.br><def.br>Zaman kaybetme önce etkinlik ödüllerine göz at.<def.br>Katılıp katılmayacağına daha sonra karar verirsin.
dbutton 75 355 0 3 3,Etkinlik Ödülleri
dbutton 75 377 1 0 1,Katıl!
dbutton 75 399 0 2 2,Sıralamayı Görüntüle
local._down = 90
page 2
resizepic 50 50 5170 250 550
dtext 110 53 044 Şuana Kadar En İyiler
dtext 70 73 34 İsim: Puan:
dbutton 70 529 0 3 3,Etkinlik Ödülleri
obj = <serv.list.asalet.<serv.list.asalet.findelem <src>>>
if (<obj> == <src>)
dbutton 70 551 0 5 5,Ayrıl!
endif
for 0 <eval <serv.list.asalet.count>-1>
ref1 = <serv.list.asalet.<dlocal._for>>
if (<ref1>)
dtext 70 <dlocal._down> <qval (<ref1.isonline>)?044:38> <ref1.name>
dtext 230 <dlocal._down> <qval (<ref1.isonline>)?044:38> <ref1.dtag._asalet>
endif
local._down +=22
endfor
page 3
resizepic 50 50 5170 250 375
fgeri 75 80 0 2 2,Geri Gel
dtext 125 53 044 Ödül Sıralamaları
local._down = 110
for 21
if (<dlocal._for> == 1)
dbutton 75 <dlocal._down> 1 0 <eval <dlocal._for>+100>,<dlocal._for>'<getargvx <dlocal._for>,<def.trk_ek>> Ödülleri
elif (<dlocal._for> == 2)
dbutton 75 <dlocal._down> 1 0 <eval <dlocal._for>+100>,2 - 20'nin Ödülleri
elif (<dlocal._for> == 21)
dbutton 75 <eval <dlocal._down>-397> 1 0 <eval <dlocal._for>+100>,Teselli Ödülleri
endif
local._down +=22
endfor
dhtmlgump 75 200 210 220 0 0 1- Birincilikle bitiren kişi bütün ödülleri almaya hak kazanır.<def.br><def.br>2- Sıralamayı 2 ila 20 arasında bitiren oyuncular 2 - 20 ödüllerini almaya hak kazanır.<def.br><def.br>3- Sıralamyı 20 ve sonrası bitirenler sadece teselli ödüllerini almaya hak kazanır.
page 4
resizepic 50 50 5170 250 375
fgeri 75 80 0 3 3,Geri Gel
dtext 125 53 044 <qval (<src.dctag0._argn_asalet> != 21)?<src.dctag0._argn_asalet>':Tesellinin><getargvx <src.dctag0._argn_asalet>,<def.trk_ek>> Ödülleri
local._down = 110
for <f_array_lenght <var._asalet_oduller_<src.dctag0._argn_asalet>>>
local._item = <getargvx <dlocal._for>,<var._asalet_oduller_<src.dctag0._argn_asalet>>>
tilepic 200 <dlocal._down> <serv.itemdef.<local._item>.id>
dtext 80 <dlocal._down> 044 <serv.itemdef.<local._item>.name>
local._down +=25
endfor
page 5
resizepic 50 50 5170 250 200
dtext 111 53 044 Yine Bekleriz I'm <name>
dhtmlgump 75 100 210 300 0 0 Heyyy <def.bfont_green><src.name><def.br><def.br><def.bfont_black>Asalet yarışmasından ayrılmak istediğine emin misin ?
button 90 200 249 248 1 0 1000
button 200 200 243 241 0 2 2
[dialog d_asalet button]
on=1
serv.list.asalet.add = <src>
src.sysmessage @,,1 Sıralamaya katıldın, mücadeleye bir an önce başlamalısın!
src.events +e_asalet
src.tag._asalet =
sdialog d_asalet,2
on=100,200
src.ctag._argn_asalet = <eval <dargn1>-100>
sdialog d_asalet,4
on=1000
local._asd = <serv.list.asalet.findelem <src.uid>>
serv.list.asalet.<dlocal._asd>.remove
src.tag0._asalet =
src.events -e_asalet
src.sysmessage @34,,1 Ayrıldınız.
[function asalet_odulkontrol]
sdialog d_asalet_odul_kpaneli
[dialog d_asalet_odul_kpaneli]
-20,-20
nomove
bozobag 0,0,1500,768
dtext 600 30 044 Asalet Yarışması Kontrol Paneli
button 1200 590 249 248 1 0 1
dtext 525 600 044 Süre Dakika:
resizepic 600 600 5054 40 20
checkertrans 600 600 40 20
dtextentrylimited 604 600 35 20 1152 22 3 <dvar._asalet_zaman> // var._asalet_zaman // Sistemin ne zaman biteceği
dtext 650 600 044 Npc Puan:
resizepic 715 600 5054 40 20
checkertrans 715 600 40 20
dtextentrylimited 719 600 35 20 1152 23 3 <dvar._asalet_npc_puan> // var._asalet_npc_puan // oyuncu bir npc'yi kestiğinde kazanacağı puan
dtext 775 600 044 Player Puan:
resizepic 855 600 5054 40 20
checkertrans 855 600 40 20
dtextentrylimited 859 600 35 20 1152 24 3 <dvar._asalet_player_puan> // var._asalet_player_puan // oyuncu bir oyuncuyu kestiğinde kazanacağı puan
local._down = 55
for 21
resizepic 30 <dlocal._down> 5054 1355 20
checkertrans 30 <dlocal._down> 1355 20
if (<dlocal._for> != 21)
dtextentrylimited 54 <dlocal._down> 1400 20 1152 <dlocal._for> 220 <var._asalet_oduller_<dlocal._for>>
dtext 35 <dlocal._down> 044 <dlocal._for>.
else
dtext 35 <dlocal._down> 044 Teselli Ödülleri:
dtextentrylimited 124 <dlocal._down> 1400 20 1152 <dlocal._for> 210 <var._asalet_oduller_<dlocal._for>>
endif
local._down += 25
endfor
dhtmlgump 100 590 400 150 0 0 <def.bfont_white> Ödül verme! <def.bfont_yellow>Örnek Slot1: <def.bfont_lgreen>i_katana_vanq,i_katana_fire,robe_mage,<def.br><def.bfont_white>Önceki yarışma bitmeden yeni bir yarışma başlatmaya kalkmayın!<def.br>Okay dediğiniz taktirde sistem devreye girer.
[dialog d_asalet_odul_kpaneli button]
on=1
for 21
var._asalet_oduller_<dlocal._for> = <argtxt<dlocal._for>>
endfor
serv.newitem = i_stone_asalet
new.p = 5143,1751
new.timer = <eval <argtxt22>*60>
var._asalet_zaman = <eval <argtxt22>*60>
var._asalet_npc_puan = <argtxt23>
var._asalet_player_puan = <argtxt24>
serv.b @0785,,1 Asalet yarışması başlamıştır, katılacak olan tüm yarışmacılara şimdiden başarılar.
var._asalet = 1
sdialog d_asalet_odul_kpaneli[itemdef i_stone_asalet]
id = i_grave_stone
type = t_normal
name = asalet taşı
on=@click
message @,,1 <name>
message @38,,1 kalan Süre: <f_zamangoster <timer>>
return 1
on=@create
color = 07ad
attr = attr_move_never
on=@timer // ref1 = oyuncu - ref2 = bankasına atılan poset - ref3 oduller
for 0 <eval <serv.list.asalet.count>-1>
ref1 = <serv.list.asalet.<dlocal._for>>
local._ilkfor = <eval <dlocal._for>+1>
serv.newitem = i_backpack,1,<ref1.findlayer.(29)>
ref2 = <new>
ref2.color = 0796
ref2.name = asalet odulleri
ref2.contp = 118,140
if (<dlocal._for> == 0)
for <f_array_lenght <var._asalet_oduller_1>>
local._item = <getargvx <dlocal._for>,<var._asalet_oduller_1>>
serv.newitem = <local._item>,1,<ref2>
endfor
elif (<dlocal._for> > 0) && (<dlocal._for> <= 20)
for <f_array_lenght <var._asalet_oduller_<dlocal._ilkfor>>>
local._item = <getargvx <dlocal._for>,<var._asalet_oduller_<dlocal._ilkfor>>>
serv.newitem = <local._item>,1,<ref2>
endfor
elif (<dlocal._for> == 21)
for <f_array_lenght <var._asalet_oduller_21>>
local._item = <getargvx <dlocal._for>,<var._asalet_oduller_21>>
serv.newitem = <local._item>,1,<ref2>
endfor
endif
endfor
serv.b @0785,,1 Asalet yarışması sonlandı. Ödüller sahiplerinin bankasının sağ alt köşesine bırakıldı.
serv.b @044,,1 Asalet yarışması birincisi <uid.<serv.list.asalet.0>.name> olmuştur.
var._asaletci = <serv.list.asalet.0>
timerf 2,var._asalet =
timerf 2,serv.list.asalet.clear
timerf 3,remove
return 1[events e_asalet][events e_npcs]
on=@death
ref1 = <attacker.last>
if (<ref1.isplayer>) && (<ref1.isevent.e_asalet>)
if (<baseid> == c_skeleton)
local._asalet 3
elif (<baseid> == c_headless)
local._asalet 3
elif (<baseid> == c_dragon_green)
local._asalet 30
endif
ref1.sysmessage @,,1 <act.name> isimli yaratığı öldürerek <dlocal._asalet> puanı kazandınız.
ref1.tag._asalet +=<dlocal._asalet>
endif[function fgeri]
button <strarg <argv[0]>> <strarg <streat <argv[0]>>> 4014 4016 <streat <streat <argv[0]>>>
dtext <eval <strarg <argv[0]>>+35> <eval <strarg <streat <argv[0]>>>+2> 34 <argv[1]>
[function dbutton]
button <strarg <argv[0]>> <strarg <streat <argv[0]>>> 4005 4007 <streat <streat <argv[0]>>>
dtext <eval <strarg <argv[0]>>+35> <eval <strarg <streat <argv[0]>>>+2> 0480 <argv[1]>
[function getargvx]
if <argv[0[> == -1
return <eval <argv>-1>
else
return <argv[<argv[0]>]>
endif
[FUNCTION f_array_lenght]
return <dargv>[eof][/eof]
