UO-Dev Arama


Otomatik PVP Turnuvası

Yazar: MirroR
Tarih: 21-10-2016 16:41





Yapılan alanları tanıtmayı unutmayın.
Kod:
[AREADEF a_pvp_bekleme]
NAME=Bekleme Salonu(PvP)
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
FLAGS=region_flag_nobuilding|region_flag_safe|region_antimagic_all
GROUP=pvp alani 1
P=1829,1817,-5
RECT=1860,1812,1811,1819

[AREADEF a_alan_pvp_1]
NAME=pvp alani 1
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
GROUP=pvp alani 2
P=1813,1853,-5
RECT=1821,1845,1804,1860
TAG.PLAYER_1_P = 1820,1853,-5
TAG.PLAYER_2_P = 1806,1853,-5

[AREADEF a_alan_pvp_2]
NAME=pvp alani 2
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
GROUP=pvp alani 3
P=1813,1833,-5
RECT=1804,1840,1821,1825
TAG.PLAYER_1_P = 1820,1833,-5
TAG.PLAYER_2_P = 1806,1833,-5

[AREADEF a_alan_pvp_3]
NAME=pvp alani 3
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
GROUP=pvp alani 4
P=1835,1853,-5
RECT=1826,1860,1843,1845
TAG.PLAYER_1_P = 1842,1853,-5
TAG.PLAYER_2_P = 1828,1853,-5

[AREADEF a_alan_pvp_4]
NAME=pvp alani 4
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
GROUP=pvp alani 5
P=1835,1833,-5
RECT=1826,1840,1843,1825
TAG.PLAYER_1_P = 1842,1833,-5
TAG.PLAYER_2_P = 1828,1833,-5

[AREADEF a_alan_pvp_5]
NAME=pvp alani 5
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
GROUP=pvp alani
P=1857,1853,-5
RECT=1848,1860,1865,1845
TAG.PLAYER_1_P = 1864,1853,-5
TAG.PLAYER_2_P = 1850,1853,-5

[AREADEF a_alan_pvp_6]
NAME=pvp alani 6
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
GROUP=pvp alani 6
P=1857,1833,-5
RECT=1848,1840,1865,1825
TAG.PLAYER_1_P = 1864,1833,-5
TAG.PLAYER_2_P = 1850,1833,-5


6 farklı alan ve her birinin ortasında i_oto_pvp_alan_kontrol // iteminin bulunması

Kod:
[defname oto_pvp]
pvp_max_katilim 50
pvp_min_katilim 20
etkinlik_gate_timer 63
etkinlik_duyuru_tekrar_zamani 0,20,40,60
etkinlik_gate_koord britain,moonglow,delucia,pazar
etkinlik_cikis etkinlik cikisi // ortak etkinlik cikis alani.

[function f_baslat_pvp]
for 4
timerf <getargvx <dlocal._for>,<def.etkinlik_duyuru_tekrar_zamani>>,serv.b @34,,1 etkinlik: [pvp turnuvasi] başlamıştır. katılmak isteyenler şehir bankalarında bulunan etkinlik noktasındaki kapıdan geçiş yapabilirler.
serv.newitem = i_gate_pvp
new.p = <getargvx <dlocal._for>,<def.etknilik_gate_koord>>
new.timer = <eval <ddef.etkinlik_gate_timer>-<dlocal._for>>
endfor

[itemdef i_gate_pvp]
id = i_moongate_blue

on=@click
message @030,,1 Etkinlik: PVP
message @050,,1 Katılım Sayısı: <dserv.list.oto_pvp.count>/<ddef.pvp_max_katilim>
message @060,,1 Kalan Süre: <f_zamangoster <timer>>
return 1

on=@create
attr=attr_move_never|attr_decay
color = 0481

on=@step
dclick
return 1

on=@dclick
if <distance <src>> < 5
src.go 18<r1,5><r1,8>,181<r2,9>,-5 // oyuncuların üst üste düşmemesi için los onlemi.
src.events +e_oto_pvp
serv.list.oto_pvp.add = <src>
src.f_no_horse // at fonksiyonu size özel olanı ekleyin.
else
src.sysmessage @34,,1 Uzaksınız.
return 1
endif
if (<dserv.list.oto_pvp.count> == <ddef.pvp_max_katilim>)
serv.b @044,,1 Pvp turnuvası etkinliği maximum katılım sayısına ulaştığı için kapılar kapatılmıştır, tüm yarışmacılara başarılar.
f_pvp_basladi
f_pvp_gate_sil
endif

on=@timer
f_gate_pvp_sil
if (<dserv.list.oto_pvp.count> >= <ddef.pvp_min_katilim>)
serv.b @044,,1 Pvp turnuvası kapı süresi dolduğu için kapılar kapanmıştır, tüm yarışmacılara başarılar.
f_pvp_basladi
else
serv.b @044,,1 PvP turnuvası etkinliği yetersiz oyuncu durumundan dolayı iptal edilmiştir.
for 0 <eval <dserv.list.oto_pvp.count>-1>
ref1 = <serv.list.oto_pvp.<dlocal._for>>
ref1.events -e_oto_pvp
ref1.go = <def.etkinlik_cikis>
serv.list.oto_pvp.<dlocal._for>.remove
endfor
endif
return 1

[events e_oto_pvp]
on=@death
local._asd = <serv.list.oto_pvp.findelem <src>> // kaybedenin uidini listede arar.
ref1 = <serv.list.oto_pvp.<dlocal._asd>> // kaybedeni ref1'e bağlar.
ref1.go = <def.etkinlik_cikisi>
ref1.resurrect = 1
ref1.message @05e Elendiniz!
ref1.events -e_oto_pvp
serv.list.oto_pvp.<dlocal._asd>.remove
act.region.player_count = // alandaki player sayısı her seferinde 0 lanmalı.
act.go = bekleme salonu(pvp) // turu atlayan için hits,mana,stam yenilemesi ve poi, bleed etkilerinin kaldırılması
act.hits = <act.maxhits>
act.mana = <act.maxmana>
act.stam = <act.maxstam>
act.findid.i_bleeding.remove
act.findid.i_rune_poison.remove
if (<dserv.list.oto_pvp.count> == 1) // kazanan için işlemler
ref1 = <serv.list.oto_pvp.0>
ref1.say @,,1 Kazandın :)
serv.b @044,,1 PVP turnuvası etkinliğinin kazananı <ref1.name> olmuştur, kendisini tebrik ediyoruz.
ref1.go <def.etkinlik_cikisi>
ref1.events -e_oto_pvp
serv.newitem = i_gold_pvp,<ddef.oto_pvp_gold>,<ref1> // kazananın ödülü.
serv.list.oto_pvp.clear
else
act.timerf 2,f_oto_pvp_eslemesmeler // 1.nci yoksa 2 saniye sonra tekrar dan eşleşme
endif

[itemdef i_oto_pvp_alan_kontrol]
id = i_gold
on=@create
attr=attr_move_never|attr_invis|attr_decay
on=@destroy // silinemez
message @34,,1 silinemez!
return 1

[function f_oto_pvp_eslemesmeler]
if !(<f_oto_pvp_bekleme_salonu_sayisi> < 1)
forinstances i_oto_pvp_alan_kontrol
ref1 = <uid>
if (<ref1.region.dtag0.player_count> != 2)
for 0 <eval <dserv.list.oto_pvp.count>-1>
ref2 = <serv.list.oto_pvp.<dlocal._for>>
if (<ref2.dtag0.pvp> != 1)
local._asd ++
ref2.tag.pvp = 1
ref1.region.tag.player_count ++
ref2.go = <ref1.region.tag0.player_<dlocal._asd>_p> // seçilen oyuncunun pvp alanına gönderilmesi
ref2.f_pvp_kafes // alan'a alınan oyuncular için 10 saniye hazırlanma durumu
if (<dlocal._asd> == 2)
serv.newnpc = c_pvp_hakem // 10 saniyelik geri sayım hakemi
new.p = <ref1.p>
new.update
return 1
endif
endif
endfor
endif
endfor
endif

[function f_oto_pvp_bekleme_salonu_sayisi]
for 0 <eval (<dserv.list.oto_pvp.count>-1>)
ref1 = <serv.list.oto_pvp.<dlocal._for>>
if (<ref1.dtag0.pvp> !=1)
  local._asd ++
endif
endfor
return <dlocal._asd>

[function f_pvp_basladi]
for 6
f_oto_pvp_eslesmeler
endfor

[function f_pvp_gate_sil]
forinstances i_gate_pvp
remove
endfor

[function f_gerisayim]
for 10
timerf <dlocal._for>,say @,,1 <eval 11-<dlocal._for>>
timerf <dlocal._for>,anim 9
endfor
timerf 10,remove

[function f_pvp_kafes]
serv.newitem = i_multi_cage
new.color = 0794
new.p = <p>
new.multicreate
new.timerf 10,remove

[chardef c_pvp_hakem]
id = c_man
name = Hakem

on=@create
hits = 1
invul = 1
flags |= statf_freeze
f_gerisayim

on=@npcrestock
ITEM=i_platemail_chest
ITEM=i_platemail_leggings
ITEM=i_platemail_arms
ITEM=i_helm_closed
ITEM=i_halberd

[EOF]


Not: Test Edilmedi! Çok büyük sorunlar çıkartacağını sanmıyorum gözden kaçan ufak tefek bir şeyler olabilir.
Yazarsanız düzeltilir. Olmadı ben test ettikçe kendim düzenlerim.

Düzenlemeler: 22 Ekim
Eşleştirilen oyuncuların hazırlanmaları için 10 saniyelik kafeslenme durumu eklendi.
10 dan geriye doğru sayan duello hakemi eklendi.

Düzenlemeler: 23 Ekim
Oyuncuların alan'a çekilmeden önce kafeslenmesi düzeltildi.

Düzenlemeler: 27 Ekim
f_oto_pvp_eslesmeleler fonksiyonunda local._asd sorgusunun teke düşürülmesi.
Kaybeden oyuncunun ölü şekilde alandan gönderilmesi.



Yorumlar

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

Oylamalar

Oylama :
Üyelerin oylama ortalaması (10 dışında) : Henüz Oylanmamış   
Oylar: 0

Benzer Sayfalar

SayfalarYorumlarGönderenTarih
Otomatik Kumar Sistemi0stylez15-05-2010
Otomatik GM Topuk Sistemi0TheRaskol29-07-2009
Otomatik Bomberman0TheRaskol29-07-2009


Keywords:

ultima online, RunUO, ultima online download, sphere scripting, role play, uo grafik, second age ultima, uo loop, macroman, pvp server, server kurulumu, sphere, multool, ml mulls, 56b 55r 55i, htmlgumps, client 4x, client edit, sphere release, osi, rp server, sunucular, ghost mouse, inside uo, kingdom reborn, stygian abyss, uo nasıl oynanır, mondain's legacy, age of shadows, world build, grandmaster, ultima online pvp, player dosyaları, ultima online indir, frp game, RunUO 1.0.0, razor, uo rice, hue editör, skill tools, ultima online patch, axis, world build, verdata, verdata patcher, map editör, gump editör, mul patcher, aos mulls, scriptler, anim edit, anim publish, hues mul, hosting vps, event dialog, account sistemi, skill gain, static yapımı,