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-nmm7 (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-nmm7 (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-nmm7 (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
Messing with TYPEDEFS
Author Message
gergecoelho
Apprentice
*

Posts: 31
Likes Given: 7
Likes Received: 3 in 3 posts
Joined: Jul 2015
Reputation: 0



Post: #1
Messing with TYPEDEFS
Hey guys.

I plan on messing with the sphere_defs.scp in order to make an event who can prevent some classes (skillclasses) from equiping some items. I know this could be done using only t_armor and t_armor_leather, but there are classes who I want to be able to wear ringmail armor, but not platemail, and both are simple t_armor.

So, question: Is there any problem if i create more t_armor_types? (like t_armor_leather, t_armor_studded, t_armor_ring, and so on)

And if there aren't any problems, would this be correct?

Quote:t_food_raw 9 // must cook raw food unless your an animal.
t_armor 10 // some type of armor. (no real action)
t_weapon_mace_smith 11 // can be used for smithing

Changing to:

Quote:t_food_raw 9 // must cook raw food unless your an animal.
t_armor_leather 10
t_armor_studded 10
t_armor_ring 10

t_weapon_mace_smith 11 // can be used for smithing

(or should I use numbers after 193, which is the last type number?)

Thanks in advance again! Big Grin
08-12-2015 10:43 AM
Find all posts by this user Like Post Quote this message in a reply
azmanomer
Journeyman
*

Posts: 139
Likes Given: 4
Likes Received: 18 in 16 posts
Joined: Nov 2013
Reputation: 1



Post: #2
RE: Messing with TYPEDEFS
actually dont mess with sphere_def.scp just write something like that
http://wiki.sphere.torfo.org/index.php/@EquipTest
[typedef t_armor_ring]
on @EquipTest
if !<src.skillclass>
return 1
endif

also you can add this to itemdef like

[ITEMDEF 013f0]
DEFNAME=i_ringmail_leggings
TYPE=t_armor
FLIP=1
ARMOR=22
VALUE=64
WEIGHT=15.0
RESOURCES=16 i_ingot_iron
SKILLMAKE=Blacksmithing 19.4,Armslore 15.0
CATEGORY=Provisions - Armor
SUBSECTION=Ringmail Armor
DESCRIPTION=Ringmail Leggings
CanUse=can_u_human|can_u_elf
ReqStr=40
TEVENTS=t_equipitem
DUPELIST=013f1
ON=@Create
HITPOINTS={36 48}
RESCOLD=1
RESENERGY=3
RESFIRE=3
RESPHYSICAL=3
RESPOISON=5
on=@equiptest
if !<src.skillclass>
return 1
endif
08-12-2015 11:08 AM
Find all posts by this user Like Post Quote this message in a reply
ThatSide
Apprentice
*

Posts: 17
Likes Given: 5
Likes Received: 0 in 0 posts
Joined: Feb 2015
Reputation: 0



Post: #3
RE: Messing with TYPEDEFS
I would suggest u to create function like this
Code:
[function isringmail]
if (<baseid>==i_ringmail_tunic) || (<Type>==i_ringmail_leggings) || ...
    return 1
else
    return 0
endif
will save u much more time...
and then
Code:
[typedef t_armor]
on=@equiptest
if (skillclass check)&&(<isringmail>)
you can't equip that
return 1
endif
(This post was last modified: 08-13-2015 07:03 PM by ThatSide.)
08-13-2015 11:18 AM
Find all posts by this user Like Post Quote this message in a reply
gergecoelho
Apprentice
*

Posts: 31
Likes Given: 7
Likes Received: 3 in 3 posts
Joined: Jul 2015
Reputation: 0



Post: #4
RE: Messing with TYPEDEFS
Think I've got it:

PHP Code:
[EVENTS e_class_blacksmith]
ON=@ItemEquipTest
IF (<ACT.ID> == 01410) || ...
    
SRC.SYSMESSAGE=You cannot equip this.
    RETURN 
1
ENDIF 

Checking the direct ID, I won't have to make a different check or extra IFs for colored armor. Big Grin

Thanks everyone!
08-14-2015 08:28 AM
Find all posts by this user Like Post Quote this message in a reply
[+] 1 user Likes gergecoelho's post
Post Reply 


Forum Jump:


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