|
İçerde : 1 misafir, 0 üye : ---
|
[ITEMDEF i_bow_npc]
ID=026cd
NAME=Fire Bow
TYPE=t_weapon_bow
TDATA3=
TDATA4=i_dekor57
DAM=15,19
FLIP=1
SKILL=Archery
SPEED=60
RANGE=2,10
VALUE=20
WEIGHT=8.0
TWOHANDS=Y
CanUse=can_u_human|can_u_elf
ReqStr=20
on=@click
message @1153,6,1 <name>
message @38,6,1 [% 100 yeni]
return 1
endif
ON=@Damage
src.effect 3,016E0,6,10,1
return 1
ON=@Create
HITPOINTS=50
COLOR=6041
On=@Hit
if <act.isplayer>
return 1
endif
On=@Attack
if <act.isplayer>
return 1
endif
[ITEMDEF i_bow_npc]
ID=026cd
NAME=Fire Bow
TYPE=t_weapon_bow
TDATA3=
TDATA4=i_dekor57 // dekor ? değişik bir item atsa gerek, belki duvar belki katana
DAM=15,19 // 15,19 hasar dışında npc ye ek bir hasarı yok ?
FLIP=1
SKILL=Archery
SPEED=60
RANGE=2,10
VALUE=20
WEIGHT=8.0
TWOHANDS=Y
CanUse=can_u_human|can_u_elf
ReqStr=20
on=@click
message @1153,6,1 <name>
message @38,6,1 [% 100 yeni] //hiç bir özelliği yok , bow eskisede %100 yeni der ki hasarı %50 gördüm.
return 1
endif // endif gereksiz.
ON=@Damage
src.effect 3,016E0,6,10,1 // hasar alma kapanmış efek gereksiz.
return 1
ON=@Create
HITPOINTS=50 // 100 ideal
COLOR=6041
On=@Hit
if <act.isplayer> // sorguyu kullanan kişi değil , src.isplayer olacak. karşı taraf hit alan
return 1
endif
On=@Attack // bu kısımda gereksiz.
if <act.isplayer>
return 1
endif
[itemdef i_bow_npc1]
id = i_bow
name = Fire Bow
TDATA3=i_arrow
TDATA4=i_arrow_x
WEIGHT=8.0
dam=25,35
SPEED=100
TWOHANDS=Y
SKILL=Archery
type = t_weapon_bow
on=@Click
message @,,1 [Monster Slayer]
message @042 <name>
return 1
on=@create
color = 0920
hitpoints = 100
on=@equip
src.events +e_poi_bow
on=@unequip
src.events -e_poi_bow
[events e_poi_bow]
on=@hit
if (<src.isplayer>) || (<src.istevent.e_horses>)
sysmessage @38,,1 Bunu oyuncular ve binekler üzerinde kullanamazsınız.
return 1
else
if (<r7>==1)
src.spelleffect s_poison,1000,<uid>
src.effect 1,1,1,1
SRC.DAMAGE 50,0,<UID>
endif
endif
on=@death
src.events -e_poi_bow
if (<weapon.layer> == 2) // 2 kare
if (<eval <<serv.skill.<weapon.skill>>>> >= 1000) //100 skill
if <src.isonmount> // rakip ata binmiş ise
if (<src.isplayer>) // rakip oyuncu ise
if (<weapon.baseid> == i_bow_dismount) // bu kısımda silahın id si ne ise onu yaz.
if (<r20> == 1) // 20 de 1 ihtimal ile
src.damage <r3,10>,<def.dam_god>,<uid> // 3-10 arası gerçek hasar
src.skill fail
src.dismount
src.sayua 0481,6,6,1 * Binekten Düşer *
return 1
endif
endif
endif
endif
endif
endif
xrambo :
Anladığım kadarıyla sadece oyuncuya karşı attan düşüren bow yaptın.
Bunun nasıl işlemesi gerektiğine geçelim.
player eventinin on=@hit kısmının, Dismount bonusu kısmına
Kod:if (<weapon.layer> == 2) // 2 kare
if (<eval <<serv.skill.<weapon.skill>>>> >= 1000) //100 skill
if <src.isonmount> // rakip ata binmiş ise
if (<src.isplayer>) // rakip oyuncu ise
if (<weapon.baseid> == i_bow_dismount) // bu kısımda silahın id si ne ise onu yaz.
if (<r20> == 1) // 20 de 1 ihtimal ile
src.damage <r3,10>,<def.dam_god>,<uid> // 3-10 arası gerçek hasar
src.skill fail
src.dismount
src.sayua 0481,6,6,1 * Binekten Düşer *
return 1
endif
endif
endif
endif
endif
endif
Onun dışında iteme özellik eklemen gerekmiyor sadece dismount bonus kısmına silahın id sini yazman yeterli
if (<weapon.layer> == 2) // 2 kare die belirtilmiş fakat burdaki donguye Gore Elindeki Silahin Layer Degeri 2 ise Yani Elinde KAlkan Varsa Yada Bow Varsa Devreye girer
if (<eval <<serv.skill.<weapon.skill>>>> >= 1000) //100 skill
if <src.isonmount> // rakip ata binmiş ise
if (<src.isplayer>) // rakip oyuncu ise
if (<weapon.baseid> == i_bow_dismount) // bu kısımda silahın id si ne ise onu yaz.
if (<r20> == 1) // 20 de 1 ihtimal ile
src.damage <r3,10>,<def.dam_god>,<uid> // 3-10 arası gerçek hasar
src.skill fail
src.dismount
src.sayua 0481,6,6,1 * Binekten Düşer *
return 1
endif
endif
endif
endif
endif
endif
[ITEMDEF i_bow_npc]
ID=026cd
NAME=Fire Bow
TYPE=t_weapon_bow
TDATA3=
TDATA4=i_dekor57
DAM=15,19
FLIP=1
SKILL=Archery
SPEED=60
RANGE=2,10
VALUE=20
WEIGHT=8.0
TWOHANDS=Y
CanUse=can_u_human|can_u_elf
ReqStr=20
ON=@Create
HITPOINTS=50
COLOR=6041
on=@click
message @1153,6,1 <name>
message @38,6,1 [% 100 yeni]
return 1
endif
ON=@Damage
src.effect 3,016E0,6,10,1
return 1
ON=@EQUIP
SRC.EVENTS +E_NPC_BOW
ON=@UNEQUIP
SRC.EVENTS -E_NPC_BOW
[EVENTS E_NPC_BOW] // BU NPC BOW EVENTİ
On=@Hit
if <act.isplayer>
SYSMESSAGE @07A1 SADECE YARATIKLARA ATTACK VEREBİLİRSİNİZ..
ACTION -1
return 1
endif
On=@Attack
if <act.isplayer>
SYSMESSAGE @07A1 SADECE YARATIKLARA ATTACK VEREBİLİRSİNİZ..
ACTION -1
return 1
endif
[itemdef I_DUSURDUM]
name=atdusur
id=i_gold
type=t_eq_script
weight=0
layer=layer_special
On=@Create
attr attr_decay|attr_newbie
On=@Equip
src.events +E_DUSURDUM
if (<src.findlayer(layer_horse).id> > 0)
if (<src.flags>&statf_war)
src.flags <src.flags>&~statf_war
src.update
endif
SRC.dclick
src.say @07a1,1,1 " * Binekten Duser *
return 1
ENDIF
On=@UnEquip
cont.events -e_yattara
if !(<cont.flags>&statf_dead)
cont.flags <cont.flags>&~04
endif
On=@Timer
attr attr_decay
remove
return 1
[events E_DUSURDUM]
On=@Hit
if (<src.flags>&statf_stone) || (<src.region.safe>)
return 0
elseif (((<findlayer(2).type> == t_weapon_xbow) && (<archery> >= 98.0)) && !(<findlayer.25.uid>)))
if (rand(370) <= <eval (<anatomy> / 40)>)
src.damage {1 2}
src.skill fail
var.act <src.act.uid>
src.newitem I_DUSURDUM
src.act.equip
src.act <var.act>
endif
endif
|