Members
14.4
Daha önce başka platformda paylaştığım burda paylaşmadığımı fark ettim.


[defname questlog]
// turu 1 getirme
// turu 2 kesme
quest_gorev 14 // burada kaç tane görev olduğunu yazıyoruz.

quest_1_name Dark skeleton // Görevin adı
quest_1_aciklama Harm görevlerine hazırmısın, 20 tane dark skeleton kes ödülleri al // Görev açıklama
quest_1_turu 2 // En üstteki turu olarak belirttim
quest_1_level 1 // Burası level sunucusu için hazırlanmıştır.
quest_1_npc c_gold // Burada hangi npcyi keseceğini yada hangi itemi isteyeceğini _npc yazdığına aldanmayın
quest_1_sayi 20 // Burada kaçtane gerektiğini
quest_1_verilis 2 // Bu kısım ise seçmeli olarak ayarlanmıştır 2 ise hepsini alır 1 ise seçer yada tam terside olabilir hatırlamıyorum :)
quest_1_odulsayi 25000,1,1,1 // alttaki oduliteme göre sıralayın kaçtane eşya varsa ona göre virgülleri koyun
quest_1_odulitem i_gold,i_bag_power,i_kryss_power,i_bow_poison // yukarıdaki açıklamaya göre ayarlayın.

quest_2_name Moloch
quest_2_aciklama Benim için 10 tane Moloch kes sana süpriz öldüllerim var.
quest_2_turu 2 // 
quest_2_level 1
quest_2_npc c_moloch
quest_2_sayi 10
quest_2_odulsayi 35000,1
quest_2_verilis 2
quest_2_odulitem i_gold,i_deed_hediye

quest_3_name Daemon bone
quest_3_aciklama Benim için 50 tane Daemon bone getir. Unutma cesedi parçalamalısın.
quest_3_turu 1 // 
quest_3_npc i_reag_daemon_bone
quest_3_level 1
quest_3_sayi 50
quest_3_odulsayi 45000,1
quest_3_odulitem i_gold,i_deed_hediye

quest_4_name Hydra
quest_4_aciklama Benim için 30 tane Hydra kes aşağıdaki ödülleri kap!
quest_4_turu 2 // 
quest_4_npc c_hydra
quest_4_level 1
quest_4_sayi 30
quest_4_odulsayi 55000,1,1
quest_4_odulitem i_gold,i_bag_vanq,i_deed_hediye

quest_5_name Kraken
quest_5_aciklama Shame de krakenler doluşmuş. Bu görevi bitirirsen shame birazda olsa rahatlayabilir.?
quest_5_turu 2 // 
quest_5_npc c_m_kraken
quest_5_level 1
quest_5_sayi 50
quest_5_verilis 1
quest_5_odulsayi 65000,1,1,1
quest_5_odulitem i_gold,i_deed_hediye,i_deed_hediye,i_deed_hediye


quest_6_name Minotaur Scout 
quest_6_aciklama Raid dungeon Minotaur Scout kes yada kesen bi party de ol.
quest_6_turu 2 // 
quest_6_npc c_minotaur_Scout
quest_6_level 1
quest_6_sayi 1
quest_6_verilis 1
quest_6_odulsayi 125000,1,1,1
quest_6_odulitem i_gold,i_deed_hediye,i_deed_hediye,i_deed_hediye

quest_7_name Reaper Redux 
quest_7_aciklama Raid dungeon Reaper Redux  kes yada kesen bi party de ol.
quest_7_turu 2 // 
quest_7_npc c_reaper_redux
quest_7_level 1
quest_7_sayi 1
quest_7_verilis 1
quest_7_odulsayi 125000,1,1,1
quest_7_odulitem i_gold,i_deed_hediye,i_deed_hediye,i_deed_hediye

quest_8_name Chief Paroxysmus
quest_8_aciklama Raid dungeon Chief Paroxysmus kes yada kesen bi party de ol.
quest_8_turu 2 // 
quest_8_npc c_chief_Paroxysmus
quest_8_level 1
quest_8_sayi 1
quest_8_verilis 1
quest_8_odulsayi 125000,1,1,1
quest_8_odulitem i_gold,i_deed_hediye,i_deed_hediye,i_deed_hediye

quest_9_name the Daemon Knight
quest_9_aciklama Ortalıkta iblisler kol geziyor. Buna "bi dur" demenin vakti geldi.
quest_9_turu 2 // 
quest_9_npc c_daemon_w_sword
quest_9_level 1
quest_9_sayi 75
quest_9_verilis 1
quest_9_odulsayi 125000,1,1,1
quest_9_odulitem i_gold,i_deed_hediye,i_deed_hediye,i_deed_hediye

quest_10_name Warrior Charge
quest_10_aciklama Eğer bir warrior isen vereceğim parşomene ihtiyacın olabilir! Roa Dungeon ziyaret et
quest_10_turu 2 // 
quest_10_npc c_treefellow
quest_10_level 1
quest_10_sayi 10
quest_10_verilis 1
quest_10_odulsayi 20000,2
quest_10_odulitem i_gold,i_warrior_sarj

quest_11_name Reptalon
quest_11_aciklama Reptalonu özgür bırakmak istiyorsan bu görevi tamamla! Roa Dungeon ziyaret et
quest_11_turu 2 // 
quest_11_npc c_Tormented_Minotaur
quest_11_level 1
quest_11_sayi 200
quest_11_verilis 1
quest_11_odulsayi 10000,1
quest_11_odulitem i_gold,i_pet_reptalon

quest_12_name Magery Power
quest_12_aciklama Solen Queen baskını! Yaratığı, Destard Dungeon kapısının güneyinde (haritanın "S" yönü) bulabilirsin.
quest_12_turu 2 // 
quest_12_npc c_fire_ant_queen
quest_12_level 1
quest_12_sayi 200
quest_12_verilis 2
quest_12_odulsayi 10000,1,1
quest_12_odulitem i_gold,i_p_harm,i_p_fireball

quest_13_name Repeating Crossbow
quest_13_aciklama En iyi yay ustası Eril tarafından yapılan Repeating Crossbow seni bekliyor. Bölge Fire Dungeon
quest_13_turu 2 // 
quest_13_npc c_exodus,c_titan
quest_13_level 1
quest_13_sayi 20,30
quest_13_verilis 1
quest_13_odulsayi 10000,1
quest_13_odulitem i_gold,i_crossbow_repeating

quest_14_name Green Armour
quest_14_aciklama Yew Passage bölgesinde Arcane Daemon istilası kol geziyor. Benim için onları yok etmelisin. Yaratığın içinden çıkan Green isimli logları getirirsen, sana özel bir hediyem de olacaktır.
quest_14_turu 1 // 
quest_14_npc i_green_log
quest_14_level 1
quest_14_sayi 120
quest_14_verilis 1
quest_14_odulsayi 10000,1
quest_14_odulitem i_gold,i_set_dragon

Menüler

[dialog d_quest]
0,20
nomove
local.uzat 80
for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
local.uzat +=20
endfor

for 1 <f_array_lenght <def.quest_<dtag.quests>_odulitem>>
local.uzat +=20
endfor

bozobag 10,10,300,300
dorigin 0 30

		if (<def.quest_<dtag.quests>_turu> == 1)
		for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
		dtext 30 *20 0481 Eşya: <f_moonsep <dlocal._for>,<ddef.quest_<dtag.quests>_sayi>> adet <serv.itemdef.<f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_npc>>.name> getir
		endfor
		endif


			if (<def.quest_<dtag.quests>_turu> == 2)
			for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
				if <tag0.questsa<dlocal._for>> > 0
				dtext 30 *20 0481 Yrtk: <serv.chardef.<f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_npc>>.name> <eval <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_sayi>>-<dtag0.questsa<dlocal._for>>> / <eval <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_sayi>>>
				else
				dtext 30 *20 0850 Yrtk: <serv.chardef.<f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_npc>>.name> tamamlandı
				endif
			endfor
			endif
			
				if !(<ddef.quest_<dtag.quests>_taraf> == 1)
				for 1 <f_array_lenght <def.quest_<dtag.quests>_odulitem>>
				dtext 30 *20 0481 Ödül: <eval <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulsayi>>> <serv.itemdef.<f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulitem>>.name> kazan!
				endif
				endfor



[dialog d_quest_sec]
305,20
nomove

local.boy 40
local.boys <eval <def.quest_gorev>*20>
local.boy +=<dlocal.boys>
bozobag 10,10,250,270
dtext 95 13 042 Görev seçim

 local.loop=0
local.page=1
page 1
for 1 <def.quest_Gorev>
if (<local.loop> > 9)
local.loop=0
button 220 245 015e1 015e5 0 <eval <local.page>+1> 1
local.page += 1
page <dlocal.page>
button 35 245 015e3 015e7 0 <eval <local.page>-1> 1
endif

local.loop +=1

dtext 60 <eval 20+<hval <local.loop>*20>> 0481 <def.quest_<dlocal._for>_name> 
dtext 175 <eval 20+<hval <local.loop>*20>> 0850 <quest_turu <def.quest_<dlocal._for>_turu>>
button 30 <eval 20+<hval <local.loop>*20>> 021 022 1 0 <dlocal._for>
endfor

[dialog d_quest_sec button]
on 0
src.dialogclose d_quest_log
on 1 100
if <src.tag0.questsi>
	src.sysmessage @,,1 Tamamlanmayı bekleyen görev var
src.dialogclose d_quest_log
return 1
else
src.tag0.quests <dargn>
src.tag0.questsi
src.sysmessage @,,1 Yeni göreviniz: <def.quest_<dargn>_name>
src.dialogclose d_quest_log
src.dialog d_quest_sec
src.sdialog d_quest_log
endif

[dialog d_quest_log]
0,20
nomove
local.uzat 160
for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
local.uzat +=20
endfor

for 1 <f_array_lenght <def.quest_<dtag.quests>_odulitem>>
local.uzat +=20
endfor

bozobag 10,10,300,<eval <dlocal.uzat>>
// alphablack 20 20 280 <eval <dlocal.uzat>-20>
dtext 145 13 042 Görev 
if (<ddef.quest_<dtag.quests>_level> >= 1)
	if (<level> >= <ddef.quest_<dtag.quests>_level>)
	dtext 30 35 0455 <def.quest_<dtag.quests>_name>
	dhtmlgump 30 55 260 75 1 1 <def.quest_<dtag.quests>_aciklama>

	dorigin 0 110
		if (<def.quest_<dtag.quests>_turu> == 1)
		for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
		dtext 30 *20 0481 Eşya: <f_moonsep <dlocal._for>,<ddef.quest_<dtag.quests>_sayi>> adet <serv.itemdef.<f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_npc>>.name> getir
		endif
		endfor

			if (<def.quest_<dtag.quests>_turu> == 2)
			for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
			dtext 30 *20 0481 Yrtk: <eval <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_sayi>>> adet <serv.chardef.<f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_npc>>.name> kes
			endif
			endfor
				if !(<ddef.quest_<dtag.quests>_taraf> == 1)
				for 1 <f_array_lenght <def.quest_<dtag.quests>_odulitem>>
				dtext 30 *20 0481 Ödül: <eval <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulsayi>>> <serv.itemdef.<f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulitem>>.name> kazan!
				endif
				endfor
					if (<ddef.quest_<dtag.quests>_taraf> == 1)
					dtext 30 160 0481 Ödül: Taraf seçimi
					endif

			if !(<tag0.questsi>)
			dtext 50 <eval <dlocal.uzat>-20> 0481 Kabul ediyorum
			button 30 <eval <dlocal.uzat>-17> 2117 2118 1 0 1
			dtext 180 <eval <dlocal.uzat>-20> 0845 Reddediyorum
			button 160 <eval <dlocal.uzat>-17> 2117 2118 1 0 0
			else
			dtext 50 <eval <dlocal.uzat>-20> 0481 Görevi tamamla
			button 30 <eval <dlocal.uzat>-17> 2117 2118 1 0 2
			dtext 180 <eval <dlocal.uzat>-20> 0845 İptal et
			button 160 <eval <dlocal.uzat>-20> 2117 2118 1 0 3
			endif

	else
	dtext 30 120 0845 Şuan sizin için hazırlanmış başka görev yok.
	endif
else
dtext 80 120 0845 Başka görev bulunmuyor.
endif


[dialog d_quest_log button]
on 0
src.dialogclose d_quest_Sec

on 1
if (<def.quest_<dtag.quests>_turu> == 2)
src.events e_quest_log
endif
for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
src.tag0.quest<dlocal._for> <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_npc>>
src.tag0.questsa<dlocal._for> <f_moonsep <dlocal._for>,<def0.quest_<dtag.quests>_sayi>>
endfor
src.tag0.questsi 1
src.sysmessage @,,1 <def.quest_<src.dtag0.quests>_name> görevini kabul ettiniz.
src.dialogclose d_quest_Sec

on 2
local.sayi <f_array_lenght <def.quest_<dtag.quests>_npc>>
if (<def.quest_<dtag.quests>_turu> == 1)
for a 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
for <eval <SRC.findlayer.21.rescount>-1> 0
ref1=<uid.<SRC.findlayer.21>.findcont.<dlocal._for>>
	if (<ref1.baseid> == <f_moonsep <dlocal.a>,<def.QUEST_<dtag.quests>_npc>>)
		if (<ref1.amount> < <f_moonsep <dlocal.a>,<def.QUEST_<dtag.quests>_sayi>>)
		SRC.SYSMESSAGE @,,1 Tamamlanmamış. Gerekli malzeme <eval <f_moonsep <dlocal.a>,<def.QUEST_<dtag.quests>_sayi>>> <basharfbuyuk <ref1.name>>.
		SRC.SYSMESSAGE @,,1 Sendeki miktar: <ref1.amount>
		else
		local.p ++
			if (<dlocal.p> == <f_array_lenght <def.quest_<dtag.quests>_npc>>)
			src.odulver
			src.quest_effect
			//else
			//src.sysmessage @,,1 Tamamlanmamış.
			endif
		endif
	// else
	// src.sysmessage @,,1 Gerekli malzemeler yok
	// return 1
	endif
endfor
endfor
endif



if (<def.quest_<dtag.quests>_turu> == 2)
for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
if (<tag0.questsa<dlocal._for>> > 0)
src.sysmessage @,,1 <serv.chardef.<tag0.quest<dlocal._for>>.name> tamamlanmamış
else
	local.p ++
	if (<dlocal.p> == <f_array_lenght <def.quest_<dtag.quests>_npc>>)
	src.odulver
	src.quest_Effect
	endif
endif
endfor
endif
src.dialogclose d_quest_Sec

on 3
src.tag0.questsi
src.sysmessage @,,1 <def.quest_<src.dtag0.quests>_name> görevi iptal edildi.
src.dialogclose d_quest_Sec

[dialog d_quest_log_3]
10,10
local.uzat 30
for 1 <eval <f_array_lenght <def.quest_<dtag.quests>_odulitem>>-1>
local.uzat +=25
endfor

bozobag 10,10,200,<dlocal.uzat>
// alphablack 20 20 180 <eval <dlocal.uzat>-20>
dorigin 0 15
for 1 <eval <f_array_lenght <def.quest_<dtag.quests>_odulitem>>-1>
dtext 50 *25 0481 <serv.itemdef.<f_moonsep <eval <dlocal._for>+1>,<def.quest_<dtag.quests>_odulitem>>.name>
button 30 *0 2117 2118 1 0 <dlocal._for>
endfor

[dialog d_quest_log_3 button ]
on 1 10
local.button <eval <dargn>+1>
newgold <f_moonsep 1,<def.quest_<dtag.quests>_odulsayi>>

serv.newitem <f_moonsep <dlocal.button>,<def.quest_<dtag.quests>_odulitem>>
new.amount <f_moonsep <dlocal.button>,<def.quest_<dtag.quests>_odulsayi>>
src.bounce <new>
src.tag0.questsi
src.events -e_quest_log
src.dialogclose d_quest_log_2

[dialog d_quest_log_2]
10,10

alphablack2 10 10 210 55 
if (<def.quest_<dtag.quests>_turu> == 2)
for 1 <f_array_lenght <def.quest_<dtag.quests>_npc>>
if <dtag.questsa<dlocal._for>> > 0 
dtext 20 *25 0481 Yrtk: <serv.chardef.<tag0.quest<dlocal._for>>.name> <dtag.questsa<dlocal._for>>
else
dtext 30 *25 0481 Yrtk: <serv.chardef.<tag0.quest<dlocal._for>>.name> Tamam!
endif
endif
endfor



Fonksiyonlar


[FUNCTION f_array_lenght]
return <dargv>

[function f_moonsep]
if <argv[0]> == 0
return <eval <argv> - 1>
else
return <argv[<argv[0]>]>
endif

[function quest_Effect]
forchars 5
	if <id> == c_quester_humanm
	anim 2
	sayua 07a1,6,6,3 Quest başarıyla tamamlanmıştır.
	endif
endfor

[function quest_turu]
if <argv0> == 1
return Eşya getir
elif <argv0> == 2
return Kes gel
else
return Tanımsız
endif

[function odulver]
if (<ddef.quest_<dtag.quests>_taraf> == 1)
	sdialog d_quest_taraf
return 1
endif
if !(<ddef.quest_<dtag.quests>_verilis> == 2)
for 1 <f_array_lenght <def.quest_<dtag.quests>_odulitem>>
	if <f_strm <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulitem>>,i_gold>
	newgold <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulsayi>>
	else
	serv.newitem <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulitem>>
	new.amount <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_odulsayi>>
	src.bounce <new>
	new.resendtooltip 1
	src.update
	endif
	if (<def.quest_<dtag.quests>_turu> == 1)
		// for a 1 <f_array_lenght <def.quest_<dtag.quests>_sayi>>
		src.consume <eval <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_sayi>>> <f_moonsep <dlocal._For>,<def.quest_<dtag.quests>_npc>>
		// endfor
	// src.say @,,1 <eval <f_moonsep <eval <dlocal._for>-1>,<def.quest_<dtag.quests>_sayi>>> <f_moonsep <dlocal._for>,<def.quest_<dtag.quests>_npc>>
	endif
endfor
else
	src.dialogclose d_quest_log_3
	src.dialog d_quest_log_3
return 1
endif
//src.tag0.quests +=1
src.tag0.questsi
src.events -e_quest_log
	src.dialogclose d_quest_log_2

[events e_quest_log]
on=@Kill

Ve npc :)

[CHARDEF c_quester_humanm]
ID=c_satyr
NAME=Chander
CAN=MT_USEHANDS|MT_EQUIP
CATEGORY=Civilized
SUBSECTION=Questers
DESCRIPTION=Human Male

ON=@Create
FLAGS=statf_invul
NPC=BRAIN_HUMAN
DEX=10
INT=10
STR=10

on=@Click
message @07a1,3 [ the Quester]
message @44,,1 <name> 
return 1

on=@Dclick
src.level 1
if !<src.tag0.quests>
src.tag0.quests 1
endif
if (<distance <src>> > 3)
src.sysmessage @,,1 Uzaksınız!
return 1
else
src.dialog d_quest_log
src.dialog d_quest_Sec
return 1
endif


Event bu kısım önemli!

Vereceğim eventi oyundaki bütün npclere vermelisiniz. Sphere.ini de ayarlanmış olan npclerin eventine ekleyin!

on=@Death
ref2=<act>
if <ref2.isplayer>
if !(<isevent.e_boss>)
	if <findid.i_gold>
	ref2.tag0.param +=<findid.i_gold.amount>
	ref2.say @07a1,3 +<findid.i_gold.amount> ,
	ref2.sysmessage @,,1 Yeni bakiyeniz <f_bolukayir <ref2.dtag.param>> kadar oldu.
	findid.i_gold.remove
	endif
endif
	if (<ref2.isinparty>)
		for 0 <eval <ref2.party.members>-1>
		ref1=<ref2.party.member.<dlocal._for>>
			//if !(<ref1> == <src.uid>)
				if (<ref1.distance <ref2>> < 19)
					if (<ref1.hits> > 0)
						if (<ref1.tag0.questsi>)
							if (<ddef.quest_<ref1.dtag.quests>_turu> == 2)
								for a 1 <f_array_lenght <def.quest_<ref1.dtag.quests>_npc>>
									if <f_strm <ref1.tag0.quest<dlocal.a>>,<id>>
										if (<ref1.tag0.questsa<dlocal.a>> >= 1)
										ref1.tag0.questsa<dlocal.a> -=1
										trysrc <ref1> uid.<ref1>.dialogclose d_quest_log_2
										trysrc <ref1> uid.<ref1>.dialog d_quest_log_2
										endif
									endif
								endfor
							endif
						endif
					endif
				endif
			//endif
		endfor
	else
		if <ref2.tag0.questsi>
		for 1 <f_array_lenght <def.quest_<ref2.dtag.quests>_npc>>
			if (<id> == <f_moonsep 1,<ref2.tag0.quest<dlocal._for>>>)
			ref2.tag0.questsa<dlocal._for> -=1
				if (<ref2.tag0.questsa<dlocal._for>> > 0)
				trysrc <ref2> uid.<ref2>.dialogclose d_quest_log_2
				trysrc <ref2> uid.<ref2>.dialog d_quest_log_2
				else
				ref2.sysmessage @,,1 <serv.chardef.<ref2.tag0.quest<dlocal._for>>.name> Görevi tamamlandı.
				trysrc <ref2> uid.<ref2>.dialogclose d_quest_log_2
				trysrc <ref2> uid.<ref2>.dialog d_quest_log_2
				endif
			endif
		endif
		endfor
	endif
endif

Üye Ol veya Giriş Yap

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