Ben Sana Şöyle Atsam Sorun Olmaz İnşallah.
[FUNCTION TRANSFERGUILD]
src.targetf f_transferguild <uid>
src.sysmessage Who do you wish to transfer the guild to?
[FUNCTION f_transferguild]
If (<ARGO.ISITEM>)
sysmessage You cannot transfer a guild to that.
Return
Endif
If (<ARGO.NPC>)
sysmessage You cannot transfer a guild to that.
Return
Endif
If (<argo>==<uid>)
sysmessage You are the master of <uid.<args>.name> already.
Return
Endif
If !(<memoryfindtype.memory_guild.link.uid>==<args>)
sysmessage You are not a member of the guild.
Return
Endif
local.obj=<OBJ>
OBJ=<ARGO.UID>
If !(<obj.memoryfindtype.memory_guild.link.uid>==<args>)
sysmessage That player is not a member of the guild.
OBJ=<local.obj>
Return
Endif
TRY uid.<args>.masteruid=<obj.uid>
sysmessage You have transfered the guild to <obj.name>.
obj.sysmessage You are now the master of <uid.<args>.name>.
OBJ=<local.obj>
[TYPEDEF T_LANDMINE]
ON=@STEP
IF !(<MORE1>)
EFFECT=3,i_fx_explode // explosion
SOUND=snd_SPELL_EXPLOSION
SRC.DAMAGE={5 20} // damage the person who stepped here.
MORE1=1
TIMER=30 // reset in 30 seconds.
ELSE
SAY Click
endif
RETURN 0 // allow player to walk here.
ON=@TIMER
MORE1=0
RETURN 1 // don't allow decay
ON=@DCLICK
IF (<SRC.SKILLCHECK TINKERING 300>) // make chance of disarm based on tinkering ?
MORE1=1
TIMER=60
MESSAGE Mine is disarmed
ELSE
MESSAGE You fail to disarm the Mine!
IF (RAND(2))
TRIGGER @STEP
ELSE
MESSAGE The mine does not go off. Close one!
endif
endif
RETURN 1 // No further processing required.
[TYPEDEF T_VEND_MACHINE]
// Some other trigger.
// Vending machine.
ON=@DCLICK
IF (<SRC.RESTEST 10 i_gold>)
SERV.NEWITEM={ i_HAM 1 i_fruit_apple 1 i_bread_loaf 1 i_bacon_slice 1 i_RIBS_COOKED 1 i_SAUSAGES 1}
NEW.BOUNCE // put it in your pack.
SRC.CONSUME=10 i_gold
SRC.MESSAGE That will be 10 Gold Thank Thee.
MORE2=10.0*<SRC.TACTICS> // just a silly test.
SOUND 0F7
RETURN 1
ELSE
MESSAGE You lack 10 Gold to pay.
endif
[TYPEDEF T_WINDGATE]
ON=@STEP
IF (<SRC.MAGERY> > 70.0)
SRC.MESSAGE Welcome to Wind!
SRC.GO Wind // or proper x,y,z address for Wind
ELSE
SRC.MESSAGE You are not a worthy mage to enter Wind!
endif
RETURN 1
[TYPEDEF T_TRAPCHEST]
ON=@DCLICK
IF (<SRC.TINKERING> >= 300)
SRC.MESSAGE You disarm the trap and open the chest.
TYPE=T_CONTAINER
RETURN 0
ELSE
SRC.MESSAGE You fail to disarm the trap.
IF (RAND(2))
SRC.MESSAGE The trap does not go off. Lucky.
TYPE=T_CONTAINER
RETURN 0
ELSE
EFFECT=3,i_fx_explode
SOUND=snd_SPELL_EXPLOSION
SRC.DAMAGE={ 20 35 }
TYPE=T_CONTAINER
RETURN 0
endif
endif
[TYPEDEF T_GOODRESGATE]
ON=@STEP
IF (<SRC.KARMA> < 0)
SRC.MESSAGE You are not fit to be here evil one!
RETURN 1
endif
IF !(<SRC.FLAGS>& 02) // Are they dead ?
SRC.MESSAGE You feel you are on holy ground.
RETURN 0
endif
SRC.MESSAGE Return to life friend of goodness.
SRC.RESURRECT
RETURN 1
ON=@DCLICK // dclicking is the same as STEP
TRIGGER=@STEP
[TYPEDEF T_SEX_CHANGE]
ON=@DCLICK
IF (<SRC.FLAGS>& 0400)
// Unpolymorph them.
SRC.SPELLEFFECT s_dispel 1000
endif
IF (<SRC.BODY> == c_man)
SRC.BODY=c_woman
elif (<SRC.BODY> == c_woman)
SRC.BODY=c_man
ELSE
RETURN 1
endif
// Nice magic effect.
SERV.NEWITEM=i_FIRE_COLUMN
NEW.ATTR attr_can_decay|attr_move_never
NEW.TIMER 2
NEW.P=<SRC.P>
SRC.SOUND=snd_SPELL_EXPLOSION
SRC.UPDATE
REMOVE // gets rid of the object. There are other ways to do this.
RETURN 1
[TYPEDEF T_GUILD_DOOR]
//Guild Members Only Door
//Set the door to the Triger Type #, then Link the DOOR to the GUILDSTONE
//DO NOT LINK THE GUILDSTONE TO THE DOOR - YOUR GUILDSTONE WILL DISAPPEAR IN THE NEXT SAVE.
ON=@DCLICK
IF (<SRC.MEMORYFINDTYPE.0400.LINK> == <LINK>)
MOREP=<P>
SRC.MESSAGE You've been allowed to pass through the door magically.
SRC.GO <MOREP>
ELSE
SRC.MESSAGE The door seems magically locked.
endif
RETURN 1
[TYPEDEF T_GATE_RES_EVIL]
//gate or tile for a murderer to step on.. might be
//useful at chaos shrine or in bucs den...
ON=@STEP
IF (<SRC.KILLS> > 10) //See if they have killed more than 10 players
SRC.MESSAGE Welcome back to life, o Murderous One.
SRC.RESURRECT
elif !(<SRC.FLAGS>& 02) //See if they are dead or no, if not, just
//give them full HP
SRC.MESSAGE You feel energized!
SRC.HITS=<SRC.MAXHITS>
ELSE //We've made sure they aren't a murderer and are dead
SRC.MESSAGE You aren't truely evil yet.
endif
[ITEMDEF I_MUDERCHECK]
//check to see if you are a muderer
ID=i_RUNE_ALCHEM_2 //use HOG to find the ID of a land tile
ON=@DCLICK
IF (<SRC.KILLS> >= <SERV.MURDERMINCOUNT>) // They are a murderer
SRC.GO 2719 2164 0 // Send them to Bucs. Den
ELSE
SRC.MESSAGE You are not evil enough to enter
endif
RETURN 1 // I always use the 1 in case the item has a default action
// The following item is a barbarian sewing kit I made that only a barbarian class.
// Use this version of the kit if you only want a certain race or class use it.
// on the player.
[ITEMDEF I_BLOOD]
// This trigger works on the blood pools left by carving corpses. When the player dclicks the blood, it checks to see if the players skin color matches that of a vampire, in this example I used 038a as the vampire skin // color. It then makes a backpack check for a empty bottle, if there is a bottle, it creates a blood bottle in the players pack. When the vampire dclicks it, it heals him.
//blood
CATEGORY=Decoration - Dungeons and The Dead
SUBSECTION=Blood
DESCRIPTION=@
DUPELIST=0122b,0122c,0122d,0122e
ON=@DCLICK
IF (<SRC.OSKIN> == 038a) // checks if player has xskin color of 038a
IF (<SRC.RESTEST 1 i_BOTTLE_EMPTY>) // checks if the players doesnt have bottles in their pack
SRC.MESSAGE You put some blood into a bottle.
SRC.SOUND=0240
SRC.CONSUME=i_BOTTLE_EMPTY //consumes 1 empty bottle
SERV.NEWITEM=i_bottle_blood //creates a bottle of blood - change this id# to match the bottle of blood.
NEW.BOUNCE
REMOVE
RETURN 1
ELSE
SRC.MESSAGE You don't have any empty bottles.
RETURN 1
endif
endif
[ITEMDEF i_bottle_blood]
Name=bottle of blood
ID=i_bottle_black
WEIGHT=1
ON=@Create
COLOR=020
ON=@DCLICK
IF ! (<SRC.OSKIN> == 038a) // this line checks for Xskin color. Color is 038a
SRC.MESSAGE Only vampires may drink this blood.
RETURN 1
elif (<SRC.HITS> >= <SRC.MAXHITS>)
SRC.MESSAGE You are already fully healed.
RETURN 1
ELSE
SRC.SOUND=30
SRC.SOUND=31
SRC.HITS += <eval { 10 20 }> // This line will heal a player between 10 and 20 hits.
REMOVE
SERV.NEWITEM=i_bottle_empty
NEW.BOUNCE
SRC.MESSAGE Blood refresh you.
RETURN 1
endif
CATEGORY=Custom Items
SUBSECTION=Race Items
DESCRIPTION=Bottle of Blood
[TYPEDEF t_body_change]
// Body Change (Totally Configurable)
// I don't know if I was the first to make this, but I haven't seen
// another so...
ON=@DCLICK // Can be on STEP but very unstable
SRC.BODY=c_titan
SRC.COLOR=0
SRC.SOUND=snd_SPELL_EXPLOSION
SRC.SYSMESSAGE=You are now a titan!
// You can use this to change a person's body into a male then
// equip something like a sword...
[TYPEDEF T_GUILD_RED]
ON=@DCLICK
SRC.COLOR=020
SRC.OSKIN=020
SRC.P=1962,850,5
SRC.FIX
SRC.SYSMESSAGE Welcome to the red faction!
[TYPEDEF T_GUILD_RED_RES]
// Red Faction res gate
ON=@STEP
IF (<SRC.OSKIN> == 020)
SRC.MESSAGE Return to life red one!
SRC.RESURRECT
ELSE
SRC.MESSAGE You Are Not A Red Faction Member!
endif
RETURN 1
[TYPEDEF T_GUILD_GREEN]
ON=@DCLICK
SRC.COLOR=02f5
SRC.OSKIN=02f5
SRC.P=2023,827,6
SRC.FIX
SRC.SYSMESSAGE Welcome to the green faction!
[TYPEDEF T_GUILD_GREEN_RES]
// Green Faction res gate
ON=@STEP
IF (<SRC.OSKIN> == 02f5)
SRC.MESSAGE Return to life green one!
SRC.RESURRECT
ELSE
SRC.MESSAGE You Are Not A green Faction Member!
endif
RETURN 1
[TYPEDEF T_GUILD_BLUE]
ON=@DCLICK
SRC.COLOR=03
SRC.OSKIN=03
SRC.P=2000,782,6
SRC.FIX
SRC.SYSMESSAGE Welcome to the blue faction!
[TYPEDEF T_GUILD_BLUE_RES]
// Blue Faction res gate
ON=@STEP
IF (<SRC.OSKIN> == 03)
SRC.MESSAGE Return to life blue one!
SRC.RESURRECT
ELSE
SRC.MESSAGE You Are Not A Blue Faction Member!
endif
RETURN 1
[TYPEDEF T_GUILD_YELLOW]
ON=@DCLICK
SRC.COLOR=035
SRC.OSKIN=035
SRC.P=2118,773,6
SRC.FIX
SRC.SYSMESSAGE Welcome to the yellow faction!
[TYPEDEF T_GUILD_YELLOW_RES]
// Yellow Faction res gate
ON=@STEP
IF (<SRC.OSKIN> == 035)
SRC.MESSAGE Return to life yellow one!
SRC.RESURRECT
ELSE
SRC.MESSAGE You Are Not A Yellow Faction Member!
endif
RETURN 1
[TYPEDEF T_GUILD_PURPLE]
ON=@DCLICK
SRC.COLOR=0143
SRC.OSKIN=0143
SRC.P=2090,847,6
SRC.FIX
SRC.SYSMESSAGE Welcome to the purple faction!
[TYPEDEF T_GUILD_PURPLE_RES]
// Purple Faction res gate
ON=@STEP
IF (<SRC.OSKIN> == 0143)
SRC.MESSAGE Return to life purple one!
SRC.RESURRECT
ELSE
SRC.MESSAGE You Are Not A Purple Faction Member!
endif
RETURN 1
// this trigger is for my Dopplanger Race...it will recognize the Dopplanger by its OBODY
// Their shape is take on randomly...
[TYPEDEF T_RACE_EVIL]
//Shape changing gem (Evil Races)
ON=@DClick
IF (<SRC.OBODY>!=033)
return 1 // Not the right body, give "Cant use that message"
endif
DORAND 4
begin
SRC.MESSAGE You take on the form of an Orc!
SRC.COLOR=0
SRC.BODY=011
end
begin
SRC.MESSAGE You take on the form of a Ogre!
SRC.BODY=01
end
begin
SRC.MESSAGE You take on the form of a Zombie!
SRC.BODY=03
end
begin
SRC.MESSAGE You take on the form of a Human!
SRC.BODY=c_man
end
ENDDO
SRC.fix
CATEGORY=Race Items
SUBSECTION=Doppleganger
DESCRIPTION=stone
[TYPEDEF T_GATE_GM_ALL]
//GM in all skills
//and 100 of each stat
//may lower on shards with max set below 300
//by SLATE
ON=@STEP
SRC.ALLSKILLS=1000
SRC.STR=100
SRC.DEX=100
SRC.INT=100
SRC.MANA=100
SRC.HITPOINTS=100
SRC.STAM=100
RETURN 1
[TYPEDEF T_SHRINE_GUILT]
// GUILT SHRINE.
// Erases a KILL from your stats for 1000 GOLD
// This is a guilt shrine for erasing kills from your
// stats, and when you dont have kills automatically
// you loose the murderer flag, hope you enjoy it.
ON=@DCLICK
IF (<SRC.KILLS> > 0)
IF (<SRC.RESTEST 1000 i_gold>)
SRC.KILLS -= 1
SRC.CONSUME=1000 i_gold
SRC.MESSAGE You have been forgiven of one of your evil deeds!
ELSE
SRC.MESSAGE You need to contribute 1000 gold, for forgiveness of one your kills!
endif
ELSE
SRC.MESSAGE You have not killed anyone!!!
endif
// I tried to set this up to change long hair to a ponytail and vise versa
[ITEMDEF I_HAIR_TIE]
//HAIR TIE
NAME=ponytail hair tie
ID=i_fishing_weight
TYPE=0
ON=@Create
COLOR=038a // grey color
ON=@DCLICK
IF (<SRC.FINDLAYER(11).ID> == i_hair_LONG)
SRC.FINDLAYER(11).ID=i_hair_PONYTAIL
elif (<SRC.FINDLAYER(11).ID> == i_hair_PONYTAIL)
SRC.FINDLAYER(11).ID=i_hair_LONG
endif
//Invasion Spawns
//First add the following to your TUStrig,scp
[TYPEDEF T_INVADE_1]
//triger for easy monster invasions
ON=@DCLICK
SERV.NEWITEM=I_SPAWN_INVADE
NEW.P=<LINK.P>
RETURN 1
[ITEMDEF I_SPAWN_INVADE]
//Invasion Spawn
ID=i_hole
TYPE=T_SPAWN_CHAR
ON=@Create
TIMER=0
MOREP=0,1,3
MORE2=0
ATTR=attr_move_never|attr_invis
MORE={ C_M_SKELETONARCHER 1 C_M_MUMMY 1 C_M_LICHE_LORD }
ON=@TIMER
IF !(<AMOUNT>)
REMOVE
RETURN 1
endif
IF (<MORE2>)
MOREP=1,1,3
AMOUNT=0
RETURN 0
endif
//Now go to where ya want the spawn to appear and drop a ground tile to match the area grass to grass etc.(remember where ya put it hehe)Now set the attr to 08090 (invis,static,never move)
//Now place a switch or lever or somethin on a wall or floor in a remote location and link the switch to the ground tile.
//I then place a sign over the switch so that ya know what it controls now just do it for every town and you can have multiple forces of monsters attack at almost the exact same time.
//As always replace the X's with your own trigger and item numbers.If ya find any bugs let me know
//
// easier method for invasion spawns
// i just added invasion spawns to my shard, but as i looked at the scripts i found out, that there is an easier method for this:
[TYPEDEF T_INVADE_2]
//other kind of invasion spawn
//by: MightY
ON=@DCLICK
IF (<LINK.AMOUNT> > 0)
LINK.AMOUNT=0
RETURN 0
ELSE
LINK.AMOUNT=5 // whatever value you like
LINK.TIMER=1
RETURN 0
endif
// now you can create the spawns as usual with hog( usethesettings:amount=1;min.time=0,max.time=1;max.distance=whatever you like) and then set the amount to 0 (hog unfortunately does not support 0-spawns, it converts them to 1) now all you have to do is link an item(lever or so) with this spawn.
// So if you want an invasion just dclick the lever and if you want to turn it of dclick it again
[TYPEDEF T_INVADE_TRIG]
// Invasion lever trigger.
// By Daegon (aka Mercury)
ON=@DCLICK
IF (<SRC.isgm>) // have gm priv?
IF (<LINK.AMOUNT> > 0) // Toggle off
SRC.MESSAGE You toggle the spawn to <NAME> off!
LINK.AMOUNT=0
LINK.MOREZ=0
RETURN 1
ELSE // Error Handling
IF (<MORE1> < 1)
SRC.MESSAGE MORE invalidly set.
RETURN 1
elif (<MORE2> < 0)
SRC.MESSAGE MORE2 invalidly set.
RETURN 1
elif !(<LINK.TYPE> == T_SPAWN_CHAR)
SRC.MESSAGE Linked TYPE invalidly set.
RETURN 1
elif !(<LINK.MOREY> > 0)
SRC.MESSAGE Linked MOREY invalidly set.
RETURN 1
ELSE
LINK.AMOUNT=<MORE1>
LINK.MOREZ=<MORE2>
SRC.MESSAGE You toggle the spawn to <NAME> on!
SRC.MESSAGE Don't forget to turn it OFF!
LINK.TIMER=1
RETURN 1
endif
endif
endif
// Create an item and /LINK it to the spawn bit. >8000 spawns work best, that way you get different creature types. the MORE property on the trigger item is how many NPCs to spawn. Keep it reasonable for best effects. the MORE2 property on the object is how far from the spawn bit the NPCs should wander. This is to keep them in an invasion area, and if they aren't killed they won't wander off to the four corners of the world.
//
// The rest is debugging to check if you linked it to an invalid spawn bit.
//
// Mercury,
[TYPEDEF T_TRAPPED]// Item Trap
// I have no idea why I made this, but you might want to fool with it
ON=@EQUIP
SRC.SOUND=snd_SPELL_EXPLOSION
SRC.DAMAGE={ 100 500 }
SRC.MESSAGE=The Item Was Trapped!
[TYPEDEF T_GATE_WEREWOLF]
ON=@DClick
//I would add more checks in here
if (<TIMER> > 0)
//stop people from using last object to remorph
SRC.ACT.message "You must have it in your pack to use it."
return 1
else
ATTR=attr_invis|attr_move_never|attr_decay
MORE1=<SRC.BODY>
TIMER=300
LINK=<SRC.SERIAL>
P=<SRC.P>
LOCAL.DEX1=<SRC.DEX>
LOCAL.INT1=<SRC.INT>
LOCAL.STR1=<SRC.STR>
//set body to wolf, then change stats
SRC.BODY=c_wolf //must go first, to ensure that the wolf's stats aren't used
SRC.INT=<LOCAL.STR1>
SRC.STR=<LOCAL.INT1>+25
SRC.DEX=<eval <LOCAL.DEX1>+25>
SRC.MANA=10
SRC.HITS=<eval <LOCAL.INT1>+25>
SRC.STAM=<eval <LOCAL.DEX1>+25>
SRC.fix
SRC.message "Your body flows into the form of a werewolf!"
endif
ON=@Timer
LOCAL.DEX1=<LINK.DEX>
LOCAL.INT1=<LINK.INT>
LOCAL.STR1=<LINK.STR>
LINK.BODY=<MORE1>
LINK.STR=<LOCAL.INT1>
LINK.INT=<eval <LOCAL.STR1>-25>
LINK.DEX=<eval <LOCAL.DEX1>-25>
LINK.MANA=<eval <LOCAL.STR1>-25>
LINK.HITS=<LOCAL.INT1>
LINK.STAM=<eval <LOCAL.DEX1>-25>
LINK.fix
LINK.message "Your body returns to its original form."
return 1
[ITEMDEF i_key_witch_castle]
NAME=Witch's Castle Key
ID=i_key_iron
[ITEMDEF i_door_witch_castle]
// Witch's Castle Door
NAME=Witch's Castle Door
ID=i_door_metal
TYPE=T_DOOR_LOCKED
CATEGORY=Quest Items
SUBSECTION=Wizard of Oz
DESCRIPTION=Metal Door 1 (n / sw)
ON=@DCLICK
IF !(<SRC.RESTEST 1 i_key_witch_castle>)
SRC.MESSAGE Your entry is blocked
RETURN 1
ELSE
TYPE=T_DOOR
TIMER=30
endif
RETURN 0
ON=@TIMER
TYPE=T_DOOR
RETURN 1
[TYPEDEF T_CHEST_LOCKED]
//This is how you make a chest with a lock. Add any item, then give it this trigger. Double click on the trigger to get a chest with 2 keys.
//It should be easy to add to the skills section.
ON=@DClick
SERV.newitem={ i_key_copper 1 i_key_gold 1 i_key_iron 1 i_key_rusty 1 }
LOCAL.KEY=<NEW.UID>
NEW.MORE1=<NEW>
NEW.bounce
NEW.dupe
SERV.newitem={ i_chest_metal 1 i_chest_metal_brass 1 I_CHEST_WOODEN_BRASS 1 }
NEW.MORE1=<LOCAL.KEY>
NEW.bounce
// How do you give or set a trigger to an item?
// /set type T_CHEST_TRAP
// How to make a trapped chest #1
// /add I_CHEST_TRAP
// /set type T_CHEST_TRAP
// A player needs tinkering and gears to open this chest. You can set the following commands:
// /set more min // the min damage the trap will do.
// /set more2 max // the max damage the trap will do.
// /set morex amount // refers to the min amount a players tinkering has to be to disarm the chest.
// for the chests + locks use (/set type 8001)
// might not work!!!!!
// I have an item that used to function properly, where when you would double click it it would open a menu via the following command
[TYPEDEF T_GOSHRINE]
ON=@DCLICK
SRC.MENU M_GOSHRINE
[MENU M_GOSHRINE]
Where would you like to go?
0 Shrine of Compassion
go 1856 876 0
0 Shrine of Honesty
go 4216 563 36
0 Shrine of Honor
go 1729 3527 3
0 Shrine of Humility
go 4274 3699 0
0 Shrine of Justice
go 1301 632 16
0 Shrine of Sacrifice
go 3354 287 4
0 Shrine of Spirituality
go 1600 2490 10
0 Shrine of Valor
go 2495 3931 0
[TYPEDEF T_JEDI_MORPH]
// Jedi Morph
// I don't know if it's my code, all I know is I made this one
ON=@STEP
SRC.TITLE=Jedi Knight
SRC.STR=40
SRC.DEX=60
SRC.INT=50
SRC.SYSMESSAGE=You are now a Jedi apprentice!
SRC.GO=5605 1437 0
[ITEMDEF I_SEW_BARB]
NAME=barbarian sewing kit
ID=i_sewing_kit
VALUE=200
TYPE=T_SEWING_KIT
ON=@Create
COLOR=0ddd
ON=@DCLICK
IF ! (<SRC.RESTEST 1 i_knife_skinning>)
SRC.MESSAGE You need a skinning knife to use with this kit.
RETURN 1
endif
IF (<SRC.TAILORING> > 100.0)
SRC.TAILORING=100.0
endif
IF ((<SRC.TAG.RACE> == RACE_Barb) || (<SRC.ISGM>))
SRC.MENU=M_ARMOR_BARBARIAN
RETURN 1
ELSE
SRC.MESSAGE Only barbarians can use this tool.
RETURN 1
endif
// This first menu is the one the sewing kit takes you to.
// This is my menu branch that opens up when the tool is used.
// I left in a bunch of options to show how to more than 1 armor type to it.
// You can add or delete different armor sections from this first menu.
[COMMENT MENU M_ARMOR_BARBARIAN]
Select the armor you would like to make.
ON=0 Serpent Armor
SRC.MENU=###
ON=0 Ettin Armor
SRC.MENU=###
ON=0 Bone Armor
SRC.MENU=M_ARMOR_BONE
ON=0 Ogre Armor
SRC.MENU=###
ON=0 Troll Armor
SRC.MENU=###
ON=0 Dragon Armor
SRC.MENU=###
ON=0 Wyrm Armor
SRC.MENU=###
// This is the main menu for the armor. I only have one item in it, to add more, just duplicate from the ON= down to
// the last line. Then paste the copied section right below the end of the this section. Then just edit the resource
// checks and change the I_BONE_CHEST aer the NEWITEM= To the item you want to be created.
[MENU M_ARMOR_BONE]
Bone Armor
ON=i_bone_chest Bone Tunic (40 Bones)
IF (<SRC.TAILORING> < 30.0)
SRC.MESSAGE You are not skilled enough to make that.
RETURN 1
endif
IF !(<SRC.RESTEST 40 i_reag_bone>)
SRC.MESSAGE You do not have enough bones to make this.
RETURN 1
endif
IF (<SRC.TAILORING> > 99.9)
IF (RAND(3) <= 1)
SRC.SOUND=0248
SRC.MESSAGE You cut and tie the bones together.
SRC.MESSAGE You have made a bone tunic.
SRC.CONSUME=40 i_reag_bone
SERV.NEWITEM=I_BONE_CHEST
NEW.NAME=bone tunic crafted by <SRC.NAME>
NEW.BOUNCE
SRC.TAILORING += <eval { 0.1 5 0.2 5 0.3 4 0.4 3 0.0 2 0.0 3 }>
SRC.MESSAGE With your exceptional skill, you engrave your name onto this item.
ELSE
SRC.SOUND=0248
SRC.MESSAGE You failed to make anything.
SRC.CONSUME=5 i_reag_bone
endif
elif (<SRC.TAILORING><100.0)
IF (RAND(3) == 1) || (RAND(3) == 0)
SRC.SOUND=0248
SRC.MESSAGE You cut tie the bones together.
SRC.MESSAGE You have made a bone tunic.
SRC.CONSUME=20 i_reag_bone
SERV.NEWITEM=i_bone_chest
NEW.BOUNCE
SRC.TAILORING += <eval { 0.1 5 0.2 5 0.3 4 0.4 3 0.0 2 0.0 3 }>
ELSE
SRC.SOUND=0248
SRC.MESSAGE You failed to make anything.
SRC.CONSUME=5 i_reag_bone
endif
endif
[TYPEDEF T_MAGIC_STONE]
//on 2xclicking of a stone
//set INT to 60
//Can be done with any skill or stat to any amount
ON=@DCLICK
LOCAL.TEMP=60
if (<SRC.INT> < <LOCAL.TEMP>)
SRC.MESSAGE You feel a surge of magical energy go through your body.
SRC.MESSAGE You feel a lot more intelligent then you were 2 seconds ago.
SRC.INT=<LOCAL.TEMP>
SRC.MANA=<LOCAL.TEMP>
ELSE
SRC.MESSAGE You are already to powerful for the effects of this stone to work!
endif
RETURN 1
[ITEMDEF I_CHEST_TRAP]
// Add items I_CHEST_TRAP and put trigger T_CHEST_TRAP on it and sit back and watch the fun.
// Trapped chest #1
ID={ i_chest_metal 1 i_chest_metal_brass 1 I_CHEST_WOODEN_BRASS 1 }
TYPE=T_CONTAINER
CATEGORY=Provisions - Miscellaneous
SUBSECTION=Containers
DESCRIPTION=Trapped chest 1
ON=@Create
ATTR=attr_move_never
[TYPEDEF T_CHEST_TRAP]
//Chest trigger, works with item I_CHEST_TRAP
//1. Check tinkering
//2. Check tools (no, 50% blow up)
//3. Check for gear
//4. Blow up if failed
//5. Consume gear
ON=@DCLICK
IF (<SRC.RESTEST 1 i_GEARS>)
SRC.CONSUME 1 i_GEARS
ELSE
SRC.MESSAGE You fail to disarm the trap.
SRC.DAMAGE=<eval <MORE1> - <MORE2>>
SERV.NEWITEM=i_FIRE_COLUMN
NEW.ATTR attr_can_decay|attr_move_never
NEW.TIMER 2
NEW.P=<SRC.P>
SRC.UPDATE
SRC.SOUND=snd_SPELL_EXPLOSION
RETURN 0
endif
IF (<SRC.TINKERING> >= <MOREX>)
SRC.MESSAGE You attempt to disarm the trap.
IF (<SRC.RESTEST 1 i_tinker_tools>)
IF (RAND(2))
SRC.MESSAGE You disarm the trap successfully.
TIMER=<MOREY>
MOREZ=1
TYPE=T_CONTAINER
RETURN 0
ELSE
SRC.MESSAGE You fail to disarm the trap.
SRC.DAMAGE=<eval <MORE1> - <MORE2>>
SERV.NEWITEM=i_FIRE_COLUMN
NEW.ATTR attr_can_decay|attr_move_never
NEW.TIMER 2
NEW.P=<SRC.P>
SRC.UPDATE
SRC.SOUND=snd_SPELL_EXPLOSION
RETURN 0
endif
ELSE
IF (RAND(10) == 5)
SRC.MESSAGE You disarm the trap successfully.
TIMER=<MOREY>
MOREZ=1
TYPE=T_CONTAINER
RETURN 0
ELSE
SRC.MESSAGE You fail to disarm the trap.
SRC.DAMAGE=<eval <MORE1> - <MORE2>>
SERV.NEWITEM i_fire_column
NEW.ATTR attr_can_decay|attr_move_never
NEW.TIMER 2
NEW.P=<SRC.P>
SRC.UPDATE
SRC.SOUND snd_spell_explosion
RETURN 0
endif
endif
endif
ON=@TIMER
MOREZ=0
RETURN 1
//
// Here is some sample code to get it to work.
// How to make a trapped chest #1
// /add I_CHEST_TRAP
// /set type T_CHEST_TRAP
//
// A player needs tinkering and gears to open this chest. You can set the following commands:
// /set more min // the min damage the trap will do.
// /set more2 max // the max damage the trap will do.
// /set morex amount // refers to the min amount a players tinkering has to be to disarm the chest.
// ---------
// example of a workable class script. If any of you guys hosting script archives want to touch base, I'll pass along the entire script set.