|
if (<baseid> == i_multi_house_stone_plaster_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04200
src.act.equip
endif
.
.Düzenleme 1 // butonda src.hredeed yapıldıktan sonra denemek lazım.if (<baseid> == i_multi_house_stone_plaster_small)
if !(<src.findid.i_redeeder>)
serv.newitem i_redeeder
new.more2 04200
new.bounce
endif
.
.olmadıysa bunu da dene.if (<baseid> == i_multi_house_stone_plaster_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04200
src.act.bounce // equip yerine zıplatma olabilir.
endif
.
.buton kısmı için fikir src.hredeed olarak değiştir.On=1
if ((strmatch('<src.uid.<tag.vendor1>.id>','c_pv')) || (strmatch('<src.uid.<tag.vendor2>.id>','c_pv')) || (strmatch('<src.uid.<tag.vendor3>.id>','c_pv')))
src.sysmessage @54,,1 Evi redeed etmek icin once vendorlari kaldirmalisiniz.
elseif (<baseid> == 0)
src.sysmessage @54,,1 Bir hata olustu.
else
src.hredeed // belki fonksiyonu ev değilde oyuncunun kullanması gerekiyordur.
link.more2 02
remove
endif
[function hredeed]
serv.b <uid> <uid.name>
serv.b <src> <src.name>
if (<baseid> == i_multi_house_stone_plaster_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04200
src.act.equip
endif
elseif (<baseid> == i_multi_house_stone_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04202
src.act.equip
endif
elseif (<baseid> == i_multi_house_stone_brick_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04204
src.act.equip
endif
elseif (<baseid> == i_multi_house_stone_wood_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04206
src.act.equip
endif
elseif (<baseid> == i_multi_house_wood_plaster_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04208
src.act.equip
endif
elseif (<baseid> == i_multi_house_wood_thatched_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04210
src.act.equip
endif
elseif (<baseid> == i_multi_house_3room)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04216
src.act.equip
endif
elseif (<baseid> == i_multi_house_wood_plaster_2story)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04218
src.act.equip
endif
elseif (<baseid> == i_multi_house_stone_plaster_2story)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04220
src.act.equip
endif
elseif (<baseid> == i_multi_tower)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04222
src.act.equip
endif
elseif (<baseid> == i_multi_keep)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04224
src.act.equip
endif
elseif (<baseid> == i_multi_castle)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04226
src.act.equip
endif
elseif (<baseid> == i_multi_house_patio_marble)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 04229
src.act.equip
endif
elseif (<baseid> == i_multi_tower_wizard)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 0422a
src.act.equip
endif
elseif (<baseid> == i_multi_cabin_log_2story)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 0422b
src.act.equip
endif
elseif (<baseid> == i_multi_house_patio_sand)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 0422c
src.act.equip
endif
elseif (<baseid> == i_multi_villa_2story)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 0422d
src.act.equip
endif
elseif (<baseid> == i_multi_shop_stone_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 0422e
src.act.equip
endif
elseif (<baseid> == i_multi_shop_marble_small)
if !(<src.findid.i_redeeder>)
src.newitem i_redeeder
src.act.more2 0422f
src.act.equip
endif
endifhredeed'de <uid> = tabela, lakin <src> kim buna bakmak gerekiyor. Kişi boştaysa hiç kimseye eşyayı vermemesi doğal. Bunun için de aşağıdaki şekilde 2 yerde düzenleme yapabiliriz;[dialog d_house_redeed BUTTON]
On=0
opendialog
On=1
if ((strmatch('<src.uid.<tag.vendor1>.id>','c_pv')) || (strmatch('<src.uid.<tag.vendor2>.id>','c_pv')) || (strmatch('<src.uid.<tag.vendor3>.id>','c_pv')))
src.sysmessage @54,,1 Evi redeed etmek icin once vendorlari kaldirmalisiniz.
elseif (<baseid> == 0)
src.sysmessage @54,,1 Bir hata olustu.
else
hredeed <src>
link.more2 02
remove
endifbu da hredeed fonksiyonunun elden geçirilmiş hali, daha da kısa yapılabilir eşyanın id'sini alarak lakin işini göreceğini umuyorum.[function hredeed]
local.more2 0
if (<baseid> == i_multi_house_stone_plaster_small)
local.more2 04200
elseif (<baseid> == i_multi_house_stone_small)
local.more2 04202
elseif (<baseid> == i_multi_house_stone_brick_small)
local.more2 04204
elseif (<baseid> == i_multi_house_stone_wood_small)
local.more2 04206
elseif (<baseid> == i_multi_house_wood_plaster_small)
local.more2 04208
elseif (<baseid> == i_multi_house_wood_thatched_small)
local.more2 04210
elseif (<baseid> == i_multi_house_3room)
local.more2 04216
elseif (<baseid> == i_multi_house_wood_plaster_2story)
local.more2 04218
elseif (<baseid> == i_multi_house_stone_plaster_2story)
local.more2 04220
elseif (<baseid> == i_multi_tower)
local.more2 04222
elseif (<baseid> == i_multi_keep)
local.more2 04224
elseif (<baseid> == i_multi_castle)
local.more2 04226
elseif (<baseid> == i_multi_house_patio_marble)
local.more2 04229
elseif (<baseid> == i_multi_tower_wizard)
local.more2 0422a
elseif (<baseid> == i_multi_cabin_log_2story)
local.more2 0422b
elseif (<baseid> == i_multi_house_patio_sand)
local.more2 0422c
elseif (<baseid> == i_multi_villa_2story)
local.more2 0422d
elseif (<baseid> == i_multi_shop_stone_small)
local.more2 0422e
elseif (<baseid> == i_multi_shop_marble_small)
local.more2 0422f
endif
ref1 <args>
if <ref1> && <ref1.isplayer> && <local.more2> != 0
serv.newitem i_redeeder
new.more2 <local.more2>
ref1.equip <new>
endifBu arada dipnot, umarım 55i ya da R402 gibi bir sürüm kullanmıyorsundur. O zaman üstteki çözüm işe yaramayacaktır. Güncel bir sürüm ve mümkünse güncel bir housing'e geçiş yapmakta da fayda var.[itemdef i_redeeder]
id=i_memory
weight=0
layer=layer_special
type t_eq_script
On=@Equip
cont.sysmessage @54,,1 Ev kaldiriliyor, lutfen bekleyin.
timer 2
On=@UnEquip
cont.newitem <more2>
cont.act.attr 04
cont.act.bounce
On=@Timer
remove
return 1Burada unequip kısmınıcont.newitem i_deed
cont.act.more=<link.baseid>
cont.act.name=<link.name>
cont.act.attr 04
cont.act.bounceyaptım ve resimdeki gibi boş deed verdi.cont.newitem i_deed
cont.act.more=<link.baseid>
cont.act.name=<link.name>
cont.act.attr 04
cont.act.bounceŞu çok doğru olmamış. Çünkü redeeder'da link'e bir şey atamadık. Redeeder'a verdiğimiz tek özellik more2, o da normal şartlarda evin id değerine denk geliyor.if (<baseid> == i_multi_house_stone_plaster_small)
local.more2 04200
elseif (<baseid> == i_multi_house_stone_small)
local.more2 04202
elseif (<baseid> == i_multi_house_stone_brick_small)
local.more2 04204Misal burada 04200, 04202 gibi id leri çıkarttığında evi vermiyorsa buradaki değerleri evin deedi ile değiştirmemiz gerekiyor. Örneğin i_deed_house_stone_small gibi hali hazırda ev deedleri bulunur. Genellikle architect vendorunun template'inde bunları bulabilirsin. If'lerin altındaki local.more2 değerini bunlarla değiştirirsen sıkıntı ortadan kalkacaktır.
|
|
| Konu | Kategori | Son cevap | Son yazan | Mesaj | Görüntüleme | |
|---|---|---|---|---|---|---|
|
|
Ev duvarları ve deed sorunu
Son cevap: 12-08 20:07 · Son yazan: Eren19944 · Mesaj: 5 · Görüntü: 2638
|
Script Yardımı | 12-08 20:07 | 5 | 2638 | |
|
|
Çanta içindeki çantaya item aktarma
Son cevap: 02-05 22:33 · Son yazan: Karaoglan · Mesaj: 5 · Görüntü: 2964
|
Script Yardımı | 02-05 22:33 | 5 | 2964 | |
|
|
SphereX ve Animal deed
Son cevap: 14-02 22:28 · Son yazan: UOListe · Mesaj: 7 · Görüntü: 3102
|
Script Yardımı | 14-02 22:28 | 7 | 3102 | |
|
|
Region Deed'e yaklaşınca event vermek
Son cevap: 04-05 14:19 · Son yazan: xwerswoodx · Mesaj: 4 · Görüntü: 3137
|
ITEM Script Yardımı | 04-05 14:19 | 4 | 3137 | |
|
|
Deed target sorunu
Son cevap: 10-02 17:13 · Son yazan: xwerswoodx · Mesaj: 4 · Görüntü: 1872
|
ITEM Script Yardımı | 10-02 17:13 | 4 | 1872 |