Dışarıdan veya içeriden evin içine ve evin 1 kare yanına field atılınca silinmesini istiyorum nasıl bir mantık yürütebilirim acaba?
mesela field attım evın kenarına 3 parçası evin içine geldi 1parçasıda fieldin evin yanına geldi bu 4 parca silinicek diğer parçalar durucak ?
silmek dğeilde adam spellden 1 kare yukardaysa etkilenmemesini sağlayabilrisin
her evin içi dışarıdan en az 1 kare yukarıdadır
Merhaba,

Evin içerisine wall of stone büyüsünü atılmaması için şöyle birşey yapabiliriz.

On=@Spellcast
if (<argn> == 24)	// Wall
	if (<targp.region.isevent.r_house_public>)
		src.sysmessage An anti-magic field disturbs the spells.
		return 1
	else
		spell_say In Sanct Ylem
		sd 1
	endif
endif

Bunu diğer field büyülerinede ekleyerek istediğine ulaşabilirsin.
Teşekkürler
scripts kısmında vardi ama scripts kısmını bulamadım :) benim pcden koimm dur

spellsde istedigin buyunun altına bunu ekle


[Spell 28]
DEFNAME=s_fire_field
NAME=Fire Field
SOUND=snd_SPELL_FIRE_FIELD
RUNES=IFG
CAST_TIME=2.0
RESOURCES=i_reag_black_pearl,i_reag_spider_silk,i_reag_sulfur_ash
RUNE_ITEM=i_rune_FIRE_FIELD
SCROLL_ITEM=i_scroll_FIRE_FIELD
FLAGS=SPELLFLAG_TARG_XYZ | SPELLFLAG_HARM | SPELLFLAG_FX_TARG | SPELLFLAG_FIELD | SPELLFLAG_RESIST
EFFECT_ID=0
EFFECT=5,12
DURATION=40.0
MANAUSE=11
SKILLREQ=MAGERY 55.0

on=@success
serv.newitem i_firekontrol
serv.new.p <targp>

local.targx <targp.x>
local.targy <targp.y>

for x 1 4
local.targx += 1
serv.newitem i_firekontrol
serv.new.p <dlocal.targx>,<dlocal.targy>
endfor

local.targx <targp.x>
local.targy <targp.y>

for x 1 4
local.targy += 1
serv.newitem i_firekontrol
serv.new.p <dlocal.targx>,<dlocal.targy>
endfor

local.targx <targp.x>
local.targy <targp.y>

for x 1 4
local.targx -= 1
serv.newitem i_firekontrol
serv.new.p <dlocal.targx>,<dlocal.targy>
endfor

local.targx <targp.x>
local.targy <targp.y>

for x 1 4
local.targy -= 1
serv.newitem i_firekontrol
serv.new.p <dlocal.targx>,<dlocal.targy>
endfor

[itemdef i_firekontrol]
id i_gold
type t_normal
name fire field kontrol

on=@create
attr attr_invis
timer 0

on=@timer
foritems 0
if (<type> == t_spell) && ((<region.isevent.r_house_private>) || (<region.isevent.r_house_public>))
remove
endif
endfor
remove
return 1
teşekkürler lethal çok güzel çalıştı peki evin 1 kare yanına gelenlerı sılmek ıstersem ne yapıcam

[itemdef i_firekontrol]
id i_gold
type t_normal
name fire field kontrol

on=@create
attr attr_invis
timer 0

on=@timer
foritems 2
if (<type> == t_spell) && ((<region.isevent.r_house_private>) || (<region.isevent.r_house_public>))
remove
endif
endfor
remove
return 1

foritems i bu şekilde 2 yaptım çalışmadı

Üye Ol veya Giriş Yap

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