Silindi
Arkadaşlar hazine haritasında kordinatları ok öle göstermesini istiyorum fakat bir türlü yapamadım yardımcı olurmusunuz
işte Scp yanılmıyorsam ARROWQUEST gibi bir kod vardı
[itemdef i_map_of_treasure]
NAME=Treasure Map
ID=i_map_rolled
VALUE=5000
TYPE=t_normal
WEIGHT=3

ON=@Create
tag.status=Acilmamis
color=06aa
f_treasure_selection

on=@click
message @03b2,,1, <name>
message @50,,1 (<tag.status>)
return 1

on=@dclick
if (<more2>) && !(<more1>) && !(<src.isnextp <eval <morex>> <eval <morey>> 10>)
	sdialog d_treasure_map
elif (<topobj.uid>!=<src>) && !(<src.isgm>)
	src.sysmessage @38,,1 Hata: Cantanizda olmadan kullanamazsiniz.
elif (<more1>)
	src.sysmessage @38,,1 Hata: Bu hazine zaten daha once bulunmus.
elif (<more2>)
	IF (<src.isnextp <eval <morex>> <eval <morey>> 10>) 
		IF !(<src.findid.i_shovel>)
			src.sysmessage @38,,1 Hata: Shovel ihtiyaciniz var.
		else
			IF !(<attr> & 04)
				FOR 2
					serv.newnpc=c_orc_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				FOR 2
					serv.newnpc=c_rotting_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				serv.newnpc=c_m_cyclops_king_treasure
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_efreet
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_dragon_crystal_treasure
				new.p=<morep>
				new.tag.prizemoney=<eval <src.cartography>*10>
				new.tag.prizeitem=<hval <def.random_treasure_prize>>
				new.moveback
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.events +e_treasure_chest
				new.removetimer <EVAL 60*30>
				new.say @50 Benim hazinemi almak  ???
				new.effect 1,i_gold,20,20
			ELSE
				FOR 2
					serv.newnpc=c_orc_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				FOR 2
					serv.newnpc=c_rotting_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				serv.newnpc=c_m_cyclops_king_treasure
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_efreet
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_dragon_crystal_treasure
				new.p=<morep>
				new.tag.prizemoney=<eval <src.cartography>*10>
				new.tag.prizeitem=<hval <def.random_treasure_prize>>
				new.moveback
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.events +e_treasure_chest
				new.removetimer <EVAL 60*30>
				new.say @50 Yok olun!! Yoksa sizi oldururum !
				new.effect 1,i_gold,20,20
			ENDIF
			tag.status=Hazine bulundu
			src.sysmessage @03b2,,1, Hazine'nin sahibi olmaniz icin butun yaratiklari oldurmeniz gerekmektedir.
			more1=1
		ENDIF
	ENDIF
ELIF !(RAND(6))
	IF !(<SRC.CARTOGRAPHY> >= 100.0)
		SRC.CARTOGRAPHY += <EVAL {1 2}>
	ENDIF
	MORE2=1
	src.sysmessage @03b2,,1, Haritayi basarili bir sekilde actiniz.
	tag.status=<src.name> acmis
	dispid=i_map
	attr=attr_newbie
	update
ELSE
	src.sysmessage @0ad Basarisiz
ENDIF
RETURN 1

//

[DIALOG d_treasure_map] 
200,90
PAGE 0
resizepic 0 0 5120 403 494 
gumppic 10 10 5528 
gumppic <EVAL (10+((<morex>*100)/1337))> <EVAL (10+((<morey>*100)/1067))> 0938
gumppic <EVAL (10+((<src.p.x>*100)/1337))> <EVAL (10+((<src.p.y>*100)/1067))> 0939
dhtmlgump 20 400 240 85 1 200 Hazine :: <TAG0.LUGAR> bolgesinde. Koordinat :: <eval <morex>>,<eval <morey>>
tilepic 280 400 7575
tilepic 302 400 7576

///////////////////

[function isnextp]
serv.newitem=i_gold
new.attr=attr_invis|attr_decay
new.p=<argn1>,<argn2>
IF (<new.distance> <= <argn3>)
new.remove
return 1
else
new.remove
return 0
ENDIF
on 1
arrowquest <kordinat>

şeklinde yapıcaksınız
Silindi
Expert
4
Saol basic fakat tam olarak nereye eklicem yanlış olmasın onuda sölermisin?
f_Treasure_selection da bi kordinat veriyo galiba

o kordinatı

sdialog d_treasure_map in altına verebilirsin.
Silindi
Expert
4
20:50:ERROR:(hazine.scp,290)Undefined keyword 'MOREP'
Böle bir hata var hata yeride şurası vetam olarak bu önerdigin
on 1
arrowquest <kordinat> Ok işareti yolu gösteriyor demi

[function f_treasure_selection]
SERV.NEWITEM i_gold
NEW.ATTR=ATTR_INVIS
DORAND 3
NEW.RANDLOCATION
NEW.DUNGLOCATION
NEW.RANDLOCATION
ENDDO
TAG.LUGAR=<NEW.REGION.NAME>
MOREP=<NEW.P>///hata burda
NEW.REMOVE
ON=@Create
tag.status=Acilmamis
color=06aa
SERV.NEWITEM i_gold
NEW.ATTR=ATTR_INVIS
DORAND 3
NEW.RANDLOCATION
NEW.DUNGLOCATION
NEW.RANDLOCATION
ENDDO
TAG.LUGAR=<NEW.REGION.NAME>
MOREP=<NEW.P>///hata burda
NEW.REMOVE

böle dene bakalım

on=@dclick
sdialog xxx
arrowquest <morep> şeklinde yaparsın orayıda
Silindi
Expert
4
Dedigini yaptım işte bu şekil :) ama hata veriyor
21:37:ERROR:(hazine.scp,214)Undefined keyword 'arrowquest'
ON=@Create
tag.status=Acilmamis
color=06aa
SERV.NEWITEM i_gold
NEW.ATTR=ATTR_INVIS
DORAND 3
NEW.RANDLOCATION
NEW.DUNGLOCATION
NEW.RANDLOCATION
ENDDO
TAG.LUGAR=<NEW.REGION.NAME>
MOREP=<NEW.P>
NEW.REMOVE 

on=@click
message @03b2,,1, <name>
message @50,,1 (<tag.status>)
return 1

on=@dclick
if (<more2>) && !(<more1>) && !(<src.isnextp <eval <morex>> <eval <morey>> 10>)
	sdialog d_treasure_map
elif (<topobj.uid>!=<src>) && !(<src.isgm>)
	src.sysmessage @38,,1 Hata: Cantanizda olmadan kullanamazsiniz.
elif (<more1>)
	src.sysmessage @38,,1 Hata: Bu hazine zaten daha once bulunmus.
elif (<more2>)
	IF (<src.isnextp <eval <morex>> <eval <morey>> 10>) 
		IF !(<src.findid.i_shovel>)
			src.sysmessage @38,,1 Hata: Shovel ihtiyaciniz var.
		else
			IF !(<attr> & 04)
				FOR 2
					serv.newnpc=c_orc_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				FOR 2
					serv.newnpc=c_rotting_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				serv.newnpc=c_m_cyclops_king_treasure
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_efreet
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_dragon_crystal_treasure
				new.p=<morep>
				new.tag.prizemoney=<eval <src.cartography>*10>
				new.tag.prizeitem=<hval <def.random_treasure_prize>>
				new.moveback
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.events +e_treasure_chest
				new.removetimer <EVAL 60*30>
				new.say @50 Benim hazinemi almak  ???
				new.effect 1,i_gold,20,20
			ELSE
				FOR 2
					serv.newnpc=c_orc_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				FOR 2
					serv.newnpc=c_rotting_treasure
					new.p=<morep>
					new.fix
					new.home=<new.p>
					new.homedist 5
					new.removetimer <EVAL 60*30>
				ENDFOR
				serv.newnpc=c_m_cyclops_king_treasure
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_efreet
				new.p=<morep>
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.removetimer <EVAL 60*30>
				serv.newnpc=c_m_dragon_crystal_treasure
				new.p=<morep>
				new.tag.prizemoney=<eval <src.cartography>*10>
				new.tag.prizeitem=<hval <def.random_treasure_prize>>
				new.moveback
				new.fix
				new.home=<new.p>
				new.homedist 5
				new.events +e_treasure_chest
				new.removetimer <EVAL 60*30>
				new.say @50 Yok olun!! Yoksa sizi oldururum !
				new.effect 1,i_gold,20,20
			ENDIF
			tag.status=Hazine bulundu
			src.sysmessage @03b2,,1, Hazine'nin sahibi olmaniz icin butun yaratiklari oldurmeniz gerekmektedir.
			more1=1
		ENDIF
	ENDIF
ELIF !(RAND(6))
	IF !(<SRC.CARTOGRAPHY> >= 100.0)
		SRC.CARTOGRAPHY += <EVAL {1 2}>
	ENDIF
	MORE2=1
	src.sysmessage @03b2,,1, Haritayi basarili bir sekilde actiniz.
	tag.status=<src.name> acmis
	dispid=i_map
	attr=attr_newbie
	update
ELSE
	src.sysmessage @0ad Basarisiz
ENDIF

sdialog d_treasure_map
arrowquest <morep>

RETURN 1
Master
59.2997
"src" faktörü unutulmuş orada. Sen şu anki hali ile orada quest arrow'u haritaya çıkartmaya çalışıyorsun, o yüzden hata alıyorsun.
Silindi
Master
59.2997
21:43:ERROR:(hazine.scp,279)Undefined keyword 'tru' bir hata daha var acaba bu neden?

ON=@DEATHCORPSE
serv.newitem=i_hazine1
new.color=02b3
new.attr=attr_decay|attr_move_never
new.p=<argo.p>
new.nudgeup 12
new.timer=60
new.events +t_found_treasure
new.more1=<EVAL {100 1000}>
local.bau=<new>
serv.newitem=i_gold
new.amount=<tag.prizemoney>
new.cont=<Local.Bau>
serv.newitem=<tag.prizeitem>
new.cont=<local.bau>
IF (<NEW.TYPE>==t_ore)
NEW.AMOUNT=<EVAL {1 3}>
ENDIF
tru uid.<argo.uid>.move nw 4
try uid.<argo.uid>.empty
try uid.<argo.uid>.remove
try uid.<local.bau>.update
try uid.<uid.<argo.uid>.more2>.sysmessage @03b2,,1, Hazine kasasinin koruyucalarini oldurdunuz. Hazine sizindir.
Master
59.2997
tru uid.<argo.uid>.move nw 4

buradaki tru yazan bölümü try olarak değiştir.
Silindi
Master
59.2997
Bulunmus hazineye tıkladıgında da ok işareti cıkıyor onu nasıl ayarlarım

if (<more2>) && !(<more1>) && !(<src.isnextp <eval <morex>> <eval <morey>> 10>)
sdialog d_treasure_map
elif (<topobj.uid>!=<src>) && !(<src.isgm>)
src.sysmessage @38,,1 Hata: Cantanizda olmadan kullanamazsiniz.
elif (<more1>)
src.sysmessage @38,,1 Hata: Bu hazine zaten daha once bulunmus.
elif (<more2>)

burayla ilgili galiba

Bir hata daha var bunu anlamadım hata şu
22:01:ERROR:(chest.scp,102)Undefined symbol ''
22:01:ERROR:(chest.scp,104)Can't resolve <src.t.morex>
22:01:ERROR:(chest.scp,104)Undefined symbol ''
22:01:ERROR:(chest.scp,108)Can't resolve <src.t.morex>
22:01:ERROR:(chest.scp,108)Can't resolve <src.t.morex>
22:01:ERROR:(chest.scp,108)Can't resolve <src.t.morex>
22:01:ERROR:(chest.scp,108)Can't resolve <src.t.morex>
22:01:ERROR:(chest.scp,108)Can't resolve <src.t.morex>
22:01:ERROR:(chest.scp,108)Can't resolve <src.t.morex>
22:01:ERROR:(chest.scp,108)Undefined symbol ''
22:01:ERROR:(chest.scp,108)Undefined symbol ''
22:01:ERROR:(chest.scp,108)Undefined symbol ''
22:01:ERROR:(chest.scp,108)Undefined symbol ''
22:01:ERROR:(chest.scp,108)Undefined symbol ''
22:01:ERROR:(chest.scp,108)Undefined symbol ''
22:01:ERROR:(chest.scp,117)Undefined keyword 't.color'
22:01:ERROR:(chest.scp,118)Undefined keyword 't.morex'

if (<src.t.morex>=5)||(<src.t.morex>=7)||(<src.t.morex>=1)||(<src.t.morex>=2)||(<src.t.morex>=3)||(<src.t.morex>=4)|
src.poison 9999
src.targ.type t_container
src.sound=511
src.t.color 00
src.t.morex 0
endif (<src.t.morex>=6)
src.targ.type t_container
src.sound=511
src.t.color 00
src.t.morex 0

Bu konu kadirs tarafından düzenlendi(2009-07-19 23:10, 14 yıl önce)
t leri targ yap

f (<more2>) && !(<more1>) && !(<src.isnextp <eval <morex>> <eval <morey>> 10>)
sdialog d_treasure_map
src.arrowquest <morep>
elif (<topobj.uid>!=<src>) && !(<src.isgm>)
src.sysmessage @38,,1 Hata: Cantanizda olmadan kullanamazsiniz.
elif (<more1>)
src.sysmessage @38,,1 Hata: Bu hazine zaten daha once bulunmus.
elif (<more2>)

şeklinde dğeiştir

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.