The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Shield with magic reflect @equip
Author Message
Aeldaven
Apprentice
*

Posts: 11
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: Aug 2014
Reputation: 0



Post: #1
Shield with magic reflect @equip
Hi, sorry for my easy question but i'm noob and i found no result in search.
i need to add magic reflect spell, @equip @dclick on order shield.

This is my shield


[ITEMDEF 01bc4]
DEFNAME=i_shield_order
TYPE=t_shield
VALUE=220000
FLIP=1
RESOURCES=4 i_ingot_silver, 8 i_ingot_blackrock, 2 i_ingot_gold
WEIGHT=1
ARMOR=30
REQSTR=0
DUPELIST=01bc5

CATEGORY=Provisions - Armor
SUBSECTION=Shields
DESCRIPTION=Order Shield

ON=@Create
ATTR=attr_magic|attr_move_always // no smelting.
HITPOINTS={101 115}

ON=@EQUIP
TIMERD=1

ON=@TIMER
IF !(<TOPOBJ.NPC>) && (<TOPOBJ.ISCHAR>) && (0<TOPOBJ.UID>) && (0<CONT.UID>)
IF (<TOPOBJ.GM>)
RETURN 1
ENDIF
IF (0<TOPOBJ.MEMORYFINDTYPE.memory_guild.UID>)
IF (<TOPOBJ.MEMORYFINDTYPE.memory_guild.LINK.ALIGN>==1)
TOPOBJ.SOUND=SND_SPELL_EXPLOSION
ELSE
TOPOBJ.SOUND=SND_SPELL_LIGHTNING
TOPOBJ.EFFECT=1,1
VAR.X=<EVAL <TOPOBJ.HITPOINTS> /2>
TOPOBJ.DAMAGE=<VAR.X> 0001 <TOPOBJ.UID>
TOPOBJ.SYSMESSAGE=Your guild alignment must be Order to wear this shield.
CONT=<TOPOBJ.FINDLAYER.(21).UID>
ENDIF
ELSE
TOPOBJ.SOUND=SND_SPELL_LIGHTNING
TOPOBJ.EFFECT=1,1
VAR.X=<EVAL <TOPOBJ.HITPOINTS> /2>
TOPOBJ.DAMAGE=<VAR.X> 0001 <CONT.UID>
TOPOBJ.SYSMESSAGE=You need to be part of an Order guild to wear this shield.
CONT=<TOPOBJ.FINDLAYER.(21).UID>
ENDIF
RETURN 1
ENDIF

tnx all
08-07-2014 02:01 PM
Find all posts by this user Like Post Quote this message in a reply
XuN
Sphere Developer
*****

Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30



Post: #2
RE: Shield with magic reflect @equip
Maybe you can explain yourself a little better, I don't get what do you want ... this shield to give magic reflection spell when you @equip and double click it?
08-07-2014 05:28 PM
Find all posts by this user Like Post Quote this message in a reply
Aeldaven
Apprentice
*

Posts: 11
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: Aug 2014
Reputation: 0



Post: #3
RE: Shield with magic reflect @equip
yes Xun, i speak a bad english i know... i need the shield cast magic reflect @equip
08-07-2014 07:42 PM
Find all posts by this user Like Post Quote this message in a reply
XuN
Sphere Developer
*****

Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30



Post: #4
RE: Shield with magic reflect @equip
Look at the code from the shield in the default script pack:
Code:
ON=@EquipTest //You do checks here BEFORE equipping it, so anyone wich is not in ORDER guild can NOT equip it
IF (<src.isgm>) || (<src.memoryfindtype.memory_guild.link.align>==1)
    RETURN 0 // If I'm GM or my guild.align is order then I pass and go to @Equip
ENDIF
SRC.SOUND=snd_SPELL_LIGHTNING
SRC.SYSMESSAGELOC color_text,1062092//"Your body reacts violently from the pain."
SRC.DAMAGE=<src.hits>/2 <DEF.dam_physical>
RETURN 1

ON=@DAMAGE //I am receiving damage (the shield)
IF (<CONT.MEMORYFINDTYPE.MEMORY_GUILD.LINK.ALIGN>==1)
    RETURN 0 //My wearer is in a order guild so everything is ok
ELSE // but if i'm not weared by a order player .... he receives damage too
CONT.SOUND=snd_spell_lightning
CONT.SYSMESSAGELOC color_text,1062092//"Your body reacts violently from the pain."
CONT.DAMAGE=<CONT.HITS>/2 <DEF.dam_physical>
//UNEQUIP // Uncomment this line to make the shield unequip, if you want.

With this code you can remove your timerd=1 in the @Create and the whole @Timer trigger.

And here you have what you want ...
ON=@Equip
SRC.SpellEffect=s_magic_reflection,100.0,<uid>

Additionally you can make it to only cast the spell once each X seconds:

Code:
ON=@Equip
if !(<tag0.spell_on_cooldown>)
SRC.SpellEffect=s_magic_reflection,100.0,<uid> //this cast the spell in the character (src)
tag.spell_on_cooldown=1 // this tell the item that it casted the spelleffect recently
timerf 10,tag.spell_on_cooldown // the 10 means 10 seconds, change it .
endif
08-07-2014 08:30 PM
Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes XuN's post
Aeldaven
Apprentice
*

Posts: 11
Likes Given: 0
Likes Received: 1 in 1 posts
Joined: Aug 2014
Reputation: 0



Post: #5
RE: Shield with magic reflect @equip
it's perfect now tnx
08-08-2014 09:27 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)