JohnVeritas
Apprentice
Posts: 49
Likes Given: 0
Likes Received: 4 in 4 posts
Joined: Feb 2014
Reputation: 2
|
RE: new skill riding
Well you can simply add animals to def with rid_xxx (skill_riding) system works fine for me...
Code:
[DEFNAME RIDING_SYSTEM]
rid_c_llama 500
[SKILL 58]
DEFNAME=SKILL_Raiding
FLAGS=SKF_SCRIPTED
KEY=Riding
TITLE=Raider
PROMPT_MSG=
DELAY=1.0
ADV_RATE=2.5,50.0,200.0
STAT_STR=0
STAT_INT=85
STAT_DEX=0
BONUS_STR=0
BONUS_DEX=0
BONUS_INT=100
BONUS_STATS=25
[events e_raider] // you can also pass this event and add that functions under your custom player event.
on=@mount // player try to mount up
if (<src.riding> < <def.rid_<argo.baseid>>) // if skill is lower than animal got
if (<r2> == 1) //fail
timerf 1,src.sysmessage Hayvan sizi uzerinden atti.
timerf 1,src.dismount
endif
endif
serv.newitem i_dcsg // skill gainer and distance checker
src.equip <new>
on=@dismount
src.consume 999 i_dcsg
on=@userskills
src.sysmessage @07a1,,1 Riding Skilli : <src.riding>
[itemdef i_dcsg]
id i_gold
name Riding Skill
type t_eq_script
on=@create
attr attr_decay
on=@equip
timer 5
tag.ppos <cont.p>
on=@timer // properties.
if (<cont.riding> < <def.rid_<cont.findlayer.25.more1>>) // more fun :)
if (<r20> == 1)
cont.sysmessage @07a1,,1 Hayvanin hakimiyetini saglayamadiniz.
cont.dismount
endif
endif
if (<cont.riding> < 1000) && (<def.rid_<cont.findlayer.25.more1>> > <cont.riding>) // if skill bellow 100.0 and mount has more riding then player got
if (<distance <tag.ppos>> > 50) // distance have to move
if (<r5> == 1)
cont.riding +=1
cont.sysmessage @0120,,1 Riding Skilliniz 0.1 Yukselmistir.
tag.ppos <cont.p>
endif
endif
endif
timer 3
return 1
But still need fixes like ; when players use runebooks, moongates, telepads, ship planks whatever teleports the player have to reset i_dcsg tag.ppos otherwise player mount up recalls stay and wait for skill gain and loop.
(This post was last modified: 02-22-2014 12:28 AM by JohnVeritas.)
|
|
02-21-2014 10:42 PM |
|
|