Skul 
Master
 
Posts: 413
Likes Given: 0
Likes Received: 19 in 15 posts
Joined: Jun 2012
Reputation: 9
![]()
|
RE: Blacksmithing and Skillmenus
Try lighting the forge and checking for the anvil when tryting to craft with blacksmithing, example:
Code:
[events e_blacksmithing]
on=@itemdclick
if (<act.type>==t_ingot) || (<act.baseid>==i_stone)
if (<findlayer.1.type>==t_weapon_mace_smith) || (<findlayer.2.type>==t_weapon_mace_smith)
if (<isnearlitforge>)
if (<isneartype t_anvil 3>)
skillmenu sm_blacksmith
else
sysmessage You must be near an anvil to do that.
endif
return 1
endif
if (<restest 1 i_coal)
local.uid=<uid>
foritems 3
if !(<local.lit>)
if (<type>==t_forge)
serv.newitem=i_forge_fire
new.attr=attr_move_never|attr_decay
new.p=<p.x>,<p.y>,<eval <z> +7>,<map>
new.link=<local.uid>
new.timer=<eval 60*10>
tag.lit=1
timerf <eval 60*10>, tag.lit=
local.lit=1
trysrc <local.uid> uid.<local.uid>.message @036 <name> is lit and ready to be used.
uid.<local.uid>.consume 1 i_coal
endif
endif
endfor
if (<local.lit>)
if (<isneartype t_anvil 3>)
skillmenu sm_blacksmith
else
sysmessage You must be near an anvil to do that.
endif
else
sysmessage You need to light a forge with coal to do that.
endif
else
sysmessage You need coal to do that.
endif
else
sysmessage You must weild a smith's hammer to do that.
endif
return 1
endif
on=@itemtargon_item
if (<targ.type>==t_ingot) || (<targ.baseid>==i_stone)
if (<act.type>==t_weapon_mace_smith)
if (<isnearlitforge>)
if (<isneartype t_anvil 3>)
skillmenu sm_blacksmith
else
sysmessage You must be near an anvil to do that.
endif
return 1
endif
if (<restest 1 i_coal)
local.uid=<uid>
foritems 3
if !(<local.lit>)
if (<type>==t_forge)
serv.newitem=i_forge_fire
new.attr=attr_move_never|attr_decay
new.p=<p.x>,<p.y>,<eval <z> +7>,<map>
new.link=<local.uid>
new.timer=<eval 60*10>
tag.lit=1
timerf <eval 60*10>, tag.lit=
local.lit=1
trysrc <local.uid> uid.<local.uid>.message @036 <name> is lit and ready to be used.
uid.<local.uid>.consume 1 i_coal
endif
endif
endfor
if (<local.lit>)
if (<isneartype t_anvil 3>)
skillmenu sm_blacksmith
else
sysmessage You must be near an anvil to do that.
endif
else
sysmessage You need to light a forge with coal to do that.
endif
else
sysmessage You need coal to do that.
endif
else
sysmessage You must weild a smith's hammer to do that.
endif
return 1
endif
[function isnearlitforge]
foritems 3
if (<type>==t_forge)
if (<tag0.lit>)
local.return=1
endif
endif
endfor
return <dlocal.return>
*untested*
"I ask a question to the answer I already know."
Marchadium :: http://www.marchadium.ca/ :: Join us!
(This post was last modified: 08-10-2014 01:08 AM by Skul.)
|
|
08-10-2014 01:04 AM |
|
|