Anasayfa
UO Sunucular
Forumlar
Profilim
UO-Developer.COM
Kulanmadan önce

Buraya bakın


Buradaki eksik kodlamaları alınız.
[defname binekler]
binekler c_horse_brown_dk,c_kirin,c_horse_gray,c_horse_tan

[function f_binekkoy]
//MORTAL selamlar
local.x <R7168>
local.y <R4096>

if <serv.map(<eval <local.x>>,<eval <local.y>>).type> == t_grass
if (<serv.map(<eval <local.x>>,<eval <local.y>>).region.flags>&04000) || (<serv.map(<eval <local.x>>,<eval <local.y>>).region.flags>&02000)
f_binekkoy <argv[0]>,<argv1>
else
if !strmatch('*britain*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*Serpen*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*occlo*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*felucca*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*dungeons*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*moonglow*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*graveyard*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>')
serv.newnpc <argv[0]>
ref1=<new>
new.tag0.random 1
new.tag0.gorunur 1
if (<dargv1> > 0)
serv.log <argv0> <dargv1> suresiyle olusturuldu.
new.timerf <dargv1>,remove
endif
new.p <eval <local.x>>,<eval <local.y>>,60
new.fix
new.food 20
new.update
else
f_binekkoy <argv[0]>,<argv1>
endif
endif
else
f_binekkoy <argv[0]>,<argv1>
endif

[function skt]
if (<src.ISSTUCK>) || (<ISNEARTYPE T_WATER>) || (<P.TERRAIN> == 0244) || (<ISNEARTYPE T_WALL>)
src.say @,,1 sd
else
src.say @,,1 ds
endif

[function spawntakip]
src.dialogclose d_spawntakip
src.ctag0.spawntakip
forinstances i_worldgem_bit
for 1 <f_array_lenght <def.binekler>>
if <more1> > 0
if <more1> == <f_moonsep <dlocal._for>,<def.binekler>>
if !(<src.isgm>)
if !(<tag0.gorunur>)
src.ctag0.spawntakip ++
src.ctag0.spawnuid<dsrc.ctag0.spawntakip> <uid>
endif
else
src.ctag0.spawntakip ++
src.ctag0.spawnuid<dsrc.ctag0.spawntakip> <uid>
endif
endif
endif
endfor
endfor
forchars 6144
if <tag0.random>
if !<owner>
if !(<src.isgm>)
if !(<tag0.gorunur>)
src.ctag0.spawntakip ++
src.ctag0.spawnuid<dsrc.ctag0.spawntakip> <uid>
endif
else
src.ctag0.spawntakip ++
src.ctag0.spawnuid<dsrc.ctag0.spawntakip> <uid>
endif
endif
endif
endfor
sdialog d_spawntakip

[dialog d_spawntakip]
150,150

bozobag 10,10,580,300



local.loop=0
local.page=1
page 1
for 1 <dsrc.ctag0.spawntakip>
ref1=<src.ctag0.spawnuid<dlocal._for>>
if (<local.loop> > 9)
local.loop=0
button 460 275 015e1 015e5 0 <eval <local.page>+1> 1
local.page += 1
page <dlocal.page>
button 35 275 015e3 015e7 0 <eval <local.page>-1> 1
endif
dtext 60 40 0481 Spawn

dtext 160 40 0850 Durum

dtext 420 40 0455 Yeri
local.loop +=1

if (<ref1.isitem>)
dtext 60 <eval 45+<hval <local.loop>*20>> 0481 <serv.chardef.<ref1.more1>.name>
else
dtext 60 <eval 45+<hval <local.loop>*20>> 0481 <ref1.name>
endif

if <ref1.isitem>
if (<ref1.dmore2>)
dtext 160 <eval 45+<hval <local.loop>*20>> 0481 Spawn aktif
else
dtext 160 <eval 45+<hval <local.loop>*20>> 0850 <f_zamangoster <ref1.timer>>
endif
else
if !(<ref1.istimerf.remove>)
dtext 160 <eval 45+<hval <local.loop>*20>> 0850 Random Spawn Süresiz
else
dtext 160 <eval 45+<hval <local.loop>*20>> 0850 Random Spawn <f_zamangoster <ref1.istimerf.remove>>
endif
endif
if <isgm>
button 30 <eval 45+<hval <local.loop>*20>> 021 022 1 0 <dlocal._for>
endif
if !(<ref1.tag0.yeri>)
dtext 420 <eval 45+<hval <local.loop>*20>> 0455 <ref1.region.name>
else
dtext 420 <eval 45+<hval <local.loop>*20>> 0455 Gizlenmiş
endif

endfor



page 100
ref1=<src.ctag0.spawndetay>
button 10 10 021 022 0 1 1
dtext 40 10 0481 Geri dön
if <ref1.isitem>
dtext 60 60 0481 Spawn adı: <serv.chardef.<ref1.more1>.name>
else
dtext 60 60 0481 Spawn adı: <ref1.name>
endif
dtext 60 80 0481 Durum:
button 30 80 021 022 1 0 101
dtext 60 100 0481 Spawn'a git
button 30 100 021 022 1 0 102
dtext 60 120 0481 Rastgele spawn ekle
button 30 120 021 022 1 0 103
resizepic 178 118 9300 95 25
dtextentrylimited 180 120 130 20 0481 2 10 ?
dtext 273 120 0481 saniye sonra silinsin
dtext 60 140 0481 Spawnı sil
button 30 140 021 022 1 0 104
if !(<ref1.tag0.gorunur>)
dtext 60 160 0481 Spawnı görünür kapat
else
dtext 60 160 0481 Spawnı görünür aç
endif
button 30 160 021 022 1 0 105

if !<ref1.tag0.yeri>
dtext 60 180 0481 Spawn yeri kapat
else
dtext 60 180 0481 Spawn yeri aç
endif
button 30 180 021 022 1 0 106

if (<ref1.isitem>)
if !(<ref1.dmore2>)
resizepic 98 78 9300 85 25
dtextentrylimited 100 80 130 25 0481 1 10 <ref1.timer>
dtext 190 80 0481 sny sonra aktif
else
dtext 100 80 0481 Spawn aktif
endif
else
dtext 100 80 0481 Random spawn
endif

[dialog d_spawntakip button]
on 1 60
src.ctag0.spawndetay <src.ctag0.spawnuid<dargn>>
sdialog d_spawntakip,100

on 101
ref1=<src.ctag0.spawndetay>
if (<ref1.isitem>)
if (<ref1.dmore2>)
ref1.dclick
src.sysmessage @,,1 <serv.chardef.<ref1.more1>.name> de-aktif edildi.
return 1
endif
else
src.sysmessage @,,1 <ref1.name> silindi.
ref1.remove
return 1
endif

if (<isempty <argtxt1>>)
src.sysmessage @,,1 Boş bırakamazsınız.
return 1
elif !(<isnumeric <argtxt1>>)
src.sysmessage @,,1 Hatalı karakter girdinz.
return 1
else
ref1.timer <dargtxt1>
src.sysmessage @,,1 <serv.chardef.<ref1.more1>.name> süresini <dargtxt1> saniye olarak değiştirdiniz.
endif

on 102
ref1=<src.ctag0.spawndetay>
src.go <ref1.p>
if <ref1.isitem>
src.sysmessage @,,1 <serv.chardef.<ref1.more1>.name> in bulunduğu bölgeye gittiniz.
else
src.sysmessage @,,1 <ref1.name> yanına gittiniz.
endif

on 103
ref1=<src.ctag0.spawndetay>
if (<isempty <argtxt2>>)
src.sysmessage @,,1 Boş bırakamazsınız.
return 1
elif !(<isnumeric <argtxt2>>)
src.sysmessage @,,1 Hatalı karakter girdinz.
return 1
else
if (<ref1.isitem>)
src.f_binekkoy <ref1.more1>,<dargtxt2>
else
src.f_binekkoy <ref1.id>,<dargtxt2>
endif
src.sysmessage @,,1 Rastgele spawn oluşturuldu. Silinme süresi <f_zamangoster <dargtxt2>> olarak ayarlandı.
endif

on 104
ref1=<src.ctag0.spawndetay>
src.sysmessage @,,1 Spawn silindi.
ref1.remove

on 105
ref1=<src.ctag0.spawndetay>
if !(<ref1.tag0.gorunur>)
ref1.tag0.gorunur 1
ref1.tag0.yeri 1
src.sysmessage @,,1 Görünürlülüğü kapattınız.
else
ref1.tag0.gorunur
src.sysmessage @,,1 Görünürlülüğü açtınız.
endif

on 106
ref1=<src.ctag0.spawndetay>
if !(<ref1.tag0.yeri>)
ref1.tag0.yeri 1
src.sysmessage @,,1 Yerini kapattınız.
else
ref1.tag0.yeri
ref1.tag0.gorunur
src.sysmessage @,,1 Yeri ve görünürlülüğünü açtınız.
endif
http://i.hizliresim.com/q4ZlPV.jpg


Eklenen özellikler:

World üzerinde varolan bi spawnı random spawn olarak çıkarması

Burada kafanız karıştı bende okurken sonradan anlamadım

Yani worldde Kirin spawnı var ben birde bunu rastgele bir yere süreli çıkarmak istiyorum o özellik eklendi

Sonra spawnların yerini gösterilmesi ve gösterilmemesi eklendi.

Spawnların player tarafından görünmesi ve görünmemesi eklendi. Yeri derken GM gibi yerdeki kırmızı worldgem bit gözükmesinden bahsetmiyorum .spawntakip yazdıkların çıkan menüden bahsediyorum.

Spawnı sil eklendi.
Eklenmesini istediğiniz özellik varsa ekleyebilirim.

UO-Dev SPONSOR

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?

UO-Dev SPONSOR

xwerswoodx 27-03-2016 23:12
if !strmatch('*britain*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*Serpen*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*occlo*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*felucca*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*dungeons*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*moonglow*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>') && !strmatch('*graveyard*','<serv.map(<eval <local.x>>,<eval <local.y>>).region.name>')
Bu kadar sorgu yapmak yerine;

Sphere.defs içinde bunu bulup
region_flag_arena				010000	// pvp is allowed, no murder or criminal acts are taken in count.
Hemen altına
region_nospawn 020000				   // No random spawn allowed.
ekleyip region dosyasında çıkmasını istemediğin yerlerin flag kısmına
region_nospawn
flagını ekleyip sorguda
IF !(<SERV.MAP(<DLOCAL.X>,<DLOCAL.Y>).REGION.FLAGS>&020000)
şeklinde sorgulamak ilerleyen dönemde yeni yerler eklemek istediğinde daha kolay olmaz mı?

Örnek:
[AREADEF a_townBritain]
NAME=Britain
GROUP=Britain
P=1495,1629,10,0
RECT=1408,1517,1691,1778,0
RECT=1436,1502,1670,1517,0
RECT=1522,1778,1641,1794,0
RECT=1691,1532,1721,1593,0
RECT=1388,1697,1410,1743,0
RECT=1397,1743,1410,1766,0
RECT=1399,1622,1410,1629,0
RECT=1377,1743,1397,1756,0 //West Bridge
FLAGS=region_flag_nobuilding|region_flag_guarded|region_nospawn
EVENTS=r_default,r_default_rock,r_default_water,r_default_tree,r_default_grass
TAG.GUARDOWNER=the city
TAG.MUSIC=midi_britain1
Dipnot: Ben 56c kullanıyorum sende region_flag_arena falan olmaya bilir region_flags diye arayıp oraya ekleyebilirsin. Bunuda belirtmek isterim ki burada seni yada başkasını rencide etmek için paylaşmadım bunu sadece ilerleyen dönemler için öneri benimkisi Çünkü yeni kullanacak arkadaşlar farklı şehirleride eklemek isteyebilirler ama her şehri tek tek sorgulamak çok fazla yer tutacaktır yani satır çok uzayacaktır.

Üyelerin oylama ortalaması (10 dışında) :

7.00

Oylar: 1 den itibaren 28-03-2016 20:40

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?