merhaba arkadaslar anima deed yerine playerlar gmlerin shrink komutunu kullanabilsin istiyorum . söyle bisi yazdım ama olmuyor targetted item is gone ? diyor yardım edebilirseniz sevinirim
[plevel 1]
kucult

[function memorydel]
if (0<args>)
if (<findid.i_memory.link> == <args>)
findid.i_memory.remove
memorydel <args>
endif

[Function kucult]

target Hangi hayvani kuculteceksiniz?
return 1

on=@targon_item
return 1

on=@targon_char
if !(<src.targ.npc>)
elseif !(<src.targ.ismypet>)
src.dx Bu hayvan size ait degil.

elseif (<src.targ.flags>&statf_stone) || (<src.targ.flags>&statf_freeze)
src.dx Stone ve Paralize hayvanlari kucultemezsiniz.

elseif ((<src.targ.body> == c_man) || (<src.targ.body> == c_woman))
src.dx Npc ve Oyunculari kucultemezsiniz.

elseif (<src.targ.flags>&statf_invul) || (<src.targ.color> == 07fff)
src.dx Oops!

elseif (<src.targ.memoryfindtype.memory_war_targ>)
src.dx Once hayvani sakinlestiriniz

elseif (<src.targ.findid.i_rune_summon_creature>)
src.dx Summon'lari kucultemezsiniz.

elseif ((<src.targ.id> == c_llama_pack) || (<src.targ.id> == c_horse_pack))
src.dx Pack Llama ve Pack Horse'lari kucultemezsiniz.

elseif (<src.targ.food> < 6)
src.dx Hayvan acikmi$.

elseif (<src.targ.hits> < <src.targ.str>)
src.dx Bu hayvan yaralanmi$.

elseif (<src.targ.findid.i_rune_poison>)
src.dx Bu hayvan zehirlenmi$.

elseif !(<src.targ.canseelos>)
src.dx Hayvana yeti$emiyorsunuz.

elseif (<src.targ.distance> > 3)
src.dx Hayvandan uzaktasiniz.


elseif (<sr
src.sysmessage @1153 Hayvan Uzerinde Buyuler etki altinda iken kucultulemez.
else
link=<src.targ.uid>
link.memorydel <src.uid>
link.shrink
src.link.bounce
endif 




[EOF]
targon verebilmek için item oluşturman lazım, direk fonksiyon ile yapacaksan targetf kullanarak yeni fonksiyon atarsın.

[function kucult]
targetf f_kucult

[function f_kucult]
ref1 <targ>
..
.
.
.


Ayırca ayrı bir komut vermek yerine, shrink komutunu plevel 1 e verin

f_oncommand ile üstteki kontrolleri yaptırın.
tesekkür ederim Fahreneit tekrar bakayım bir.

düzeltme:

simdi baktım da bu ref1 in calısma prensibi nasıldır devamından nasıl ilerlemeliyiz yane . ben ref1 <targ> yapınca targetı referans alıyor diye düsündüm ona göre devam ettim fakat hala küçültmüyor .

bu arada shrink komutunu plevel 1 icin de uygulamayı düsündüm bende fakat shrinkte yerde kalıyor binek . oyunucular yaptıgında cantasına düsmesi gerekiyor . shrinki o sekilde güncellememiz lazım .

Bu konu jacksonlife tarafından düzenlendi(2013-01-25 14:45, 11 yıl önce)
targetf de targ kullanmıyoruz çünkü

ref1=<argo>

diyeceksin. ref1 senin targetin olur.
Doğru ben yanlış yazmışım orayı, teşekkürler.

default shrink komutu için, act ile targ ile kontrol yapılabilir. Denemek lazım, ezberimde tutmuyorum öyle şeyleri pek.
argoyu kullandım güzel oldu simdi shrinkliyorda cantaya atmıyor

src.ref1.bounce yapmamız yeterli degilmi ya her türlü denedim olmadı varmı cözüm ?


hatamı farkettim önce yeni item yane binek cıkarmamız gerekiyor .
src.newitem diye ama src.newitem <ref1> yaptım lamayı targetlıyorum mesela metal door düsüyor cantaya ne alaka anlamadım nerden refi metal door aldıysa :?

Bu konu jacksonlife tarafından düzenlendi(2013-01-25 23:13, 11 yıl önce)
Novice
12.5
src.link.bounce yerine

link.cont <src> veya link.bounce <src> yaparak deneyin.
@mortal

link kullanmadım basından ama dedigini biras editleyerek ref1.bounce <src> olarak denedim olmadı ben son versiyonunu atayım en iyisi scpin

[plevel 1]
kucult

[function memorydel]
if (0<args>)
if (<findid.i_memory.link> == <args>)
findid.i_memory.remove
memorydel <args>
endif

[function kucult]
targetf f_kucult

[function f_kucult]
ref1=<argo>
if !(<ref1.npc>)
elseif !(<ref1.ismypet>)
src.sysmessage Bu hayvan size ait degil.

elseif (<ref1.flags>&statf_stone) || (<ref1.flags>&statf_freeze)
src.sysmessage Stone ve Paralize hayvanlari kucultemezsiniz.

elseif ((<ref1.body> == c_man) || (<ref1.body> == c_woman))
src.sysmessage Npc ve Oyunculari kucultemezsiniz.

elseif (<ref1.flags>&statf_invul) || (<ref1.color> == 07fff)
src.sysmessage Oops!

elseif (<ref1.memoryfindtype.memory_war_targ>)
src.sysmessage Once hayvani sakinlestiriniz

elseif (<ref1.findid.i_rune_summon_creature>)
src.sysmessage Summon'lari kucultemezsiniz.

elseif ((<ref1.id> == c_llama_pack) || (<ref1.id> == c_horse_pack))
src.sysmessage Pack Llama ve Pack Horse'lari kucultemezsiniz.

elseif (<ref1.food> < 6)
src.sysmessage Hayvan acikmi$.

elseif (<ref1.hits> < <ref1.str>)
src.sysmessage Bu hayvan yaralanmi$.

elseif (<src.targ.findid.i_rune_poison>)
src.sysmessage Bu hayvan zehirlenmi$.

elseif !(<src.targ.canseelos>)
src.sysmessage Hayvana yeti$emiyorsunuz.

elseif (<src.targ.distance> > 3)
src.sysmessage Hayvandan uzaktasiniz.

else

memorydel <ref1.uid>
ref1.remove
ref1.shrink
src.newitem ref1
src.act.bounce
endif 




[EOF]
Novice
12.5
[plevel 1]
kucult

[function memorydel]
if (0<args>)
if (<findid.i_memory.link> == <args>)
findid.i_memory.remove
memorydel <args>
endif

[function kucult]
targetf f_kucult

[function f_kucult]
ref1=<argo>
if !(<ref1.npc>)
elseif !(<ref1.ismypet>)
src.sysmessage Bu hayvan size ait degil.

elseif (<ref1.flags>&statf_stone) || (<ref1.flags>&statf_freeze)
src.sysmessage Stone ve Paralize hayvanlari kucultemezsiniz.

elseif ((<ref1.body> == c_man) || (<ref1.body> == c_woman))
src.sysmessage Npc ve Oyunculari kucultemezsiniz.

elseif (<ref1.flags>&statf_invul) || (<ref1.color> == 07fff)
src.sysmessage Oops!

elseif (<ref1.memoryfindtype.memory_war_targ>)
src.sysmessage Once hayvani sakinlestiriniz

elseif (<ref1.findid.i_rune_summon_creature>)
src.sysmessage Summon'lari kucultemezsiniz.

elseif ((<ref1.id> == c_llama_pack) || (<ref1.id> == c_horse_pack))
src.sysmessage Pack Llama ve Pack Horse'lari kucultemezsiniz.

elseif (<ref1.food> < 6)
src.sysmessage Hayvan acikmi$.

elseif (<ref1.hits> < <ref1.str>)
src.sysmessage Bu hayvan yaralanmi$.

elseif (<src.targ.findid.i_rune_poison>)
src.sysmessage Bu hayvan zehirlenmi$.

elseif !(<src.targ.canseelos>)
src.sysmessage Hayvana yeti$emiyorsunuz.

elseif (<src.targ.distance> > 3)
src.sysmessage Hayvandan uzaktasiniz.

else

memorydel <ref1.uid>
ref1.shrink
ref1.cont <src.uid>
endif 




[EOF]
ref1.bounce de yeterli olurdu
yok arkadaslar ikinizin de dedigi olmadı cantaya atmıyor . normal set giymede filan tarzı yapayım dedim

src.newitem seklinde src.newitem ref1
ref1.bounce filan yapıyorum metal door düsüyor .

lamayla metal doorun ne ilgisi var kuzen denedi kendi spheresinde ondada gold coin olarak düsüyormus. sanırım bu scpte degilde başka bi scpte sorun var ref1 i gold coin yada metal door olarak algılıyor . nasıl cözebiliriz
Shrink de ref gider, muhtemelen o şekilde olmaz. Sen o hayvanı shrink yapmak yerine, silip, ona göre yeni shrink halinde item eklemen lazım.
aynen hatta spherede hata veriyor shrink komutunu tanımlamıyor nedense . nese öle yapmayı deniyeyim . nasıl yeni itemi shrink yapabiliriz Fahreneit . sen biras daha acıklayabilirmisin
.
.
.
else

memorydel <ref1.uid>
serv.newitem <serv.chardef.<ref1.id>.icon>,1,<src.uid>
new.color <ref1.color>
new.more <ref1.id>
remove
endif


herhalde iş görecektir..
Böyle yaparsan dexine kadar değişir o yüzden öyle yapmamalısın.

[Itemdef i_deed_shrink]
ID=i_deed
Name=Shrink Deed
Type=t_shrink_deed
VALUE=500
Weight=15

Resources=5 i_log, 50 i_feather
Skillmake=carpentry 76.3, tailoring 82.5

On=@Create
Color=0482


[Itemdef i_scroll_shrink]
ID=i_scroll_blank
Name=Shrink Scroll
Type=t_shrink_deed
VALUE=50
Weight=15

Resources=1 i_scroll_blank, 50 i_feather
Skillmake=inscription 76.3, tailoring 82.5

On=@Create
Color=0482

[Itemdef i_potion_shrink]
ID=i_bottle_blue
Name=Shrink Potion
Type=t_shrink_deed
VALUE=50
Weight=15

Resources=1 i_bottle_empty, 50 i_feather
Skillmake=alchemy 76.3, tailoring 82.5

On=@Create
Color=0482

[Typedef t_shrink_deed]
On=@Dclick
if (<topobj.uid> != <src.uid>)
src.fix Bunu sadece çantanızda kullanabilirsiniz.
return 1
elif (<src.flags>&statf_hidden) || (<src.flags>&statf_invisible)
src.fix Bunu görünmez iken kullanamazsınız.
return 1
else
targetf f_hamit_shrink
return 1
endif

[Function f_hamit_shrink]
obj=<argo>
if (<obj.npc>)
	if !(<obj.memoryfindtype.memory_ipet.link> == <src.uid>)
	src.fix <obj.name> size ait değil.
	elif (<obj.flags>&statf_stone) || (<obj.flags>&statf_freeze) || (<obj.flags>&statf_invul) || (<obj.color> == 07fff) || (<obj.memoryfindtype.memory_war_targ>)
	src.fix <obj.name> şu anda müsait değil.
	elif (<obj.findid.i_rune_summon_creature>)
	src.fix <obj.name> küçültülemez.
	elif (<obj.body> == c_horse_pack) || (<obj.body> == c_llama_pack)
	src.fix <obj.name> küçültülemez.
	elif (<obj.food> < 20)
	src.fix <obj.name> çok acıkmış.
	elif (<obj.hits> < <obj.str>)
	src.fix <obj.name> yaralanmış.
	elif (<obj.findid.i_rune_poison>)
	src.fix <obj.name> zehirlenmiş.
	elif (<obj.findid.i_rune_bless>) || (<obj.findid.i_rune_strength>) || (<obj.findid.i_rune_cunning>) || (<obj.findid.i_rune_agility>)
	src.fix <obj.name> bir büyünün altında.
	elif !(<obj.canseelos>) && (<obj.distance> > 3)
	src.fix <obj.name> çok uzakta.
	else
	obj.hamit_shrink
	targ.remove
	endif
else
src.fix Bunu küçültemezsiniz.
endif
return 1

[Function hamit_shrink]
serv.newitem <icon>
new.tag.shrink_infos <name>,<karma>,<fame>,<str>,<dex>,<int>,<kills>,<food>
new.morey <id>
new.color <color>
new.name <serv.chardef.<id>.name>
new.type t_shrink_hamit
new.bounce
remove

[Typedef t_shrink_hamit]
On=@Dclick
try serv.newnpc <morey>
link <new.uid>
link.name <f_sep 1,<tag.shrink_infos>>
link.karma <f_sep 2,<tag.shrink_infos>>
link.fame <f_sep 3,<tag.shrink_infos>>
link.str <f_sep 4,<tag.shrink_infos>>
link.hits  <link.str>
link.dex  <f_sep 5,<tag.shrink_infos>>
link.int  <f_sep 6,<tag.shrink_infos>>
link.kills  <f_sep 7,<tag.shrink_infos>>
link.food  <f_sep 8,<tag.shrink_infos>>
link.color <color>
link.oskin <link.color>
link.newitem i_memory
link.act.attr 04
link.act.more1 04
link.act.more2 <serv.time>
link.act.morep <link.p>
link.act.color memory_ipet
link.act.timer -1
link.act.link <src.uid>
link.act.cont <link.uid>
link.flags <link.flags>&statf_pet
link.update
link.anim 5
link.bark 3
remove

[Function f_sep] //f_sep [sıra.value|sıra.item],sıralama
if (<dargv[0]> == 0)
return <eval <argv> - 1>
else
	if (strmatch(*-, <argv[0]>))
	LOCAL.F_SEPERATE_START=<f_moonsep 2,<explode -,<argv[0]>>>
	LOCAL.F_SEPERATE_END=<eval <argv> - 1>
		for <DLOCAL.F_SEPERATE_START> <DLOCAL.F_SEPERATE_END>
		LOCAL.F_SEPERATE_RETURN .=" <ARGV[<DLOCAL._FOR>]>" 
		endfor
	return <streat <LOCAL.F_SEPERATE_RETURN>>
	elif (strmatch(*-.item, <argv[0]>))
	LOCAL.F_SEPERATE_START=<f_moonsep 2,<explode -,<argv[0]>>>
	LOCAL.F_SEPERATE_END=<eval <argv> - 1>
		for <DLOCAL.F_SEPERATE_START> <DLOCAL.F_SEPERATE_END>
		LOCAL.F_SEPERATE_RETURN .=" <strarg <ARGV[<DLOCAL._FOR>]>>" 
		endfor
	return <streat <LOCAL.F_SEPERATE_RETURN>>
	elif (strmatch(*-.value, <argv[0]>))
	LOCAL.F_SEPERATE_START=<f_moonsep 2,<explode -,<argv[0]>>>
	LOCAL.F_SEPERATE_END=<eval <argv> - 1>
		for <DLOCAL.F_SEPERATE_START> <DLOCAL.F_SEPERATE_END>
		LOCAL.F_SEPERATE_RETURN .=" <streat <ARGV[<DLOCAL._FOR>]>>" 
		endfor
	return <streat <LOCAL.F_SEPERATE_RETURN>>
	elif (strmatch(*?.value, <argv[0]>))
	return <streat <argv[<f_moonsep 2,<explode .,<argv[0]>>>]>>
	elif (strmatch(*?.item, <argv[0]>))
	return <strarg <argv[<f_moonsep 2,<explode .,<argv[0]>>>]>>
	elif (strmatch(*?.return, <argv[0]>))
	return <f_moonsep 2,<explode .,<argv[0]>>>
	else
	return <argv[<argv[0]>]>
	endif
endif

[Function fix]
src.sysmessage @024,,1 <args>
return 1




Üye Ol veya Giriş Yap

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