//**************************************************************************** //SPHERE by : Menasoft ©1997-2000 //www.sphereserver.com // All SPHERE script files and formats are copyright Menasoft & Partners. // This file may be freely edited for personal use, but may not be distributed // in whole or in part, in any format without express written permission from // Menasoft & Partners. All donations and contributions // become the property of Menasoft & Partners. //**************************************************************************** // FILE LAST UPDATED: Friday, April 28, 2000 // VERSION=0.54 [TYPEDEF 1000] // Land Mine DEFNAME=T_LANDMINE ON=@STEP IF ==0 EFFECT=3,i_fx_explode // explosion SOUND=snd_SPELL_EXPLOSION SRC.DAMAGE={5 20} // damage the person who stepped here. MORE=1 TIMER=30 // reset in 30 seconds. ELSE SAY Click ENDIF RETURN 0 // allow player to walk here. ON=@TIMER MORE=0 RETURN 1 // don't allow decay ON=@DCLICK IF // make chance of disarm based on tinkering ? MORE=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.NEWITEM={ i_HAM 1 i_fruit_apple 1 i_bread_loaf 1 i_bacon_slice 1 i_RIBS_COOKED 1 i_SAUSAGES 1} SRC.ACT.BOUNCE // put it in your pack. SRC.CONSUME=10 i_gold SRC.MESSAGE That will be 10 Gold Thank Thee. MORE2=10.0* // just a silly test. SOUND 0F7 RETURN 1 ELSE MESSAGE You lack 10 Gold to pay. ENDIF [TYPEDEF 1002] // Gate to allow only mages into Wind. DEFNAME=T_WINDGATE ON=@STEP IF > 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 1003] // Trapped chest. DEFNAME=T_TRAPCHEST ON=@DCLICK IF >=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 1004] // Good noto res gate. DEFNAME=T_GOODRESGATE ON=@STEP IF < 0 SRC.MESSAGE You are not fit to be here evil one! RETURN 1 ENDIF IF ! ( & 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 1011] // Cursed statue of sex change. // Make sure they are not polymorphed first. DEFNAME=T_SEX_CHANGE ON=@DCLICK IF ( & 0400 ) // Unpolymorph them. SRC.SPELLEFFECT s_dispel 1000 ENDIF IF ( == c_man ) SRC.BODY=c_woman ELSEIF ( == c_woman ) SRC.BODY=c_man ELSE RETURN 1 ENDIF // Nice magic effect. SRC.NEWITEM=i_FIRE_COLUMN SRC.ACT.ATTR attr_can_decay|attr_move_never SRC.ACT.TIMER 2 SRC.SOUND=snd_SPELL_EXPLOSION SRC.UPDATE // REMOVE // gets rid of the object. There are other ways to do this. RETURN 1 [TYPEDEF 3000] //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. DEFNAME=T_GUILD_DOOR ON=@DCLICK IF ( == ) MOREP=

SRC.MESSAGE You've been allowed to pass through the door magically. SRC.GO 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 >10 //See if they have killed more than 10 players SRC.MESSAGE Welcome back to life, o Murderous One. SRC.RESURRECT ELSEIF !(&2) //See if they are dead or no, if not, just //give them full HP SRC.MESSAGE You feel energized! VAR.TEMP = SRC.HITPOINTS = 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 ( >= ) // 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 ==038a // checks if player has xskin color of 038a IF // 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 SRC.NEWITEM=i_bottle_blood //creates a bottle of blood - change this id# to match the bottle of blood. SRC.ACT.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 ! (==038a) // this line checks for Xskin color. Color is 038a SRC.MESSAGE Only vampires may drink this blood. RETURN 1 ELSEIF >= SRC.MESSAGE You are already fully healed. RETURN 1 ELSE SRC.SOUND=30 SRC.SOUND=31 SRC.HITS= + { 10 1 15 5 20 1 } // This line will heal a player between 10 and 20 hits. REMOVE SRC.NEWITEM=i_bottle_empty SRC.ACT.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=@CREATE MORE2=-1 ON=@DCLICK // Can be on STEP but very unstable IF == SRC.BODY= // SRC.COLOR=0 SRC.SOUND=snd_SPELL_EXPLOSION SRC.UPDATE SRC.SYSMESSAGE=You have been polymorphed! ATTR=attr_invis|attr_move_never|attr_decay IF > 0 SRC.SYSMESSAGE=This effect will last for seconds ENDIF TIMER= LINK= RETURN 1 ELSE TIMER=-1 SRC.BODY= SRC.SOUND=snd_SPELL_EXPLOSION SRC.UPDATE SRC.SYSMESSAGE=You have returned to your original form RETURN 1 ENDIF ON=@TIMER LINK.BODY= LINK.UPDATE LINK.SYSMESSAGE=Your body has returned to its original form RETURN 1 // 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 == 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 == 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 == 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 == 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 == 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) //by Trinity modified by Rhodan & Chemist ON=@DCLICK IF ==033 VAR.RANDCLASS=RAND(4) ELSE RETURN 1 // Not the right body, give "Cant use that message" ENDIF IF ( == 0) SRC.MESSAGE You take on the form of an Orc! SRC.COLOR=0 SRC.BODY=011 SRC.FIX RETURN 0 ELSEIF ( == 1) SRC.MESSAGE You take on the form of a Ogre! SRC.BODY=01 SRC.FIX RETURN 0 ELSEIF ( == 2) SRC.MESSAGE You take on the form of a Zombie! SRC.BODY=03 SRC.FIX RETURN 0 ELSEIF ( == 3) SRC.MESSAGE You take on the form of a Human! SRC.BODY=c_man SRC.FIX RETURN 0 ELSE SRC.MESSAGE You cannot use this item! ENDIF CATEGORY=Race Items SUBSECTION=Doppleganger DESCRIPTION=stone [ITEMDEF I_GATE_GOLDEN] //gate to give 3k gold NAME=A golden Gate ID=i_moongate_red TYPE=T_ADVANCE_GATE CATEGORY= SUBSECTION=Gate DESCRIPTION=Gives 3K gold Gate ON=@Create MORE2=1 COLOR=015f ON=@STEP IF () SRC.MESSAGE You have already used this.//change message to whatever ye want //SRC.GO x y z file://change again hehe RETURN 1 ELSE SRC.MESSAGE Ye have inherited 3,000 gold coins. /change if you want SRC.NEWITEM=i_gold SRC.ACT.AMOUNT=3000 SRC.ACT.BOUNCE SRC.TAG.GOTGOLD=1 //SRC.GO x y z change x y z to the location you want them to go after they get 3k RETURN 0 ENDIF [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.STAMINA=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 > 0 IF 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 ==i_hair_LONG SRC.FINDLAYER(11).ID=i_hair_PONYTAIL ELSEIF ==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 SRC.NEWITEM=I_SPAWN_INVADE SRC.ACT.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 ==0 REMOVE RETURN 1 ENDIF IF ==1 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 >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 () // have gm priv? IF (>0) // Toggle off SRC.MESSAGE You toggle the spawn to off! LINK.AMOUNT=0 LINK.MOREZ=0 RETURN 1 ELSE // Error Handling IF (<1) SRC.MESSAGE MORE invalidly set. RETURN 1 ELSEIF (<0) SRC.MESSAGE MORE2 invalidly set. RETURN 1 ELSEIF !(==T_SPAWN_CHAR) SRC.MESSAGE Linked TYPE invalidly set. RETURN 1 ELSEIF !(>0) SRC.MESSAGE Linked MORE invalidly set. RETURN 1 ELSEIF !(>0) SRC.MESSAGE Linked MOREY invalidly set. RETURN 1 ELSE LINK.AMOUNT= LINK.MOREZ= SRC.MESSAGE You toggle the spawn to 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={40 80} SRC.MESSAGE=The Item Was Trapped! [TYPEDEF T_GATE_WEREWOLF] ON=@DCLICK //I would add more checks in here IF >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 MORE= TIMER= IF == 0 TIMER=300 ENDIF LINK= P= VAR.DEX1= VAR.INT1= VAR.STR1= //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= SRC.STR=+25 SRC.DEX=+25 SRC.MANA=10 SRC.HITPOINTS=+25 SRC.STAMINA=+25 SRC.FIX SRC.MESSAGE Your body flows into the form of a werewolf! RETURN 0 ENDIF ON=@TIMER VAR.DEX1= VAR.INT1= VAR.STR1= LINK.BODY= LINK.STR= LINK.INT=+-25 LINK.DEX=+-25 LINK.MANA=+-25 LINK.HITPOINTS= LINK.STAMINA=+-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 ( == 0) 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 SRC.NEWITEM={ i_key_copper 1 i_key_gold 1 i_key_iron 1 i_key_rusty 1 } VAR.KEY= SRC.ACT.MORE1= SRC.ACT.BOUNCE SRC.ACT.DUPE SRC.NEWITEM={ i_chest_metal 1 i_chest_metal_brass 1 I_CHEST_WOODEN_BRASS 1 } SRC.ACT.BOUNCE SRC.ACT.MORE1= // 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.MESSAGE You need a skinning knife to use with this kit. RETURN 1 ENDIF IF (>100.0) SRC.TAILORING=100.0 ENDIF IF (==RACE_Barb) || SRC.GM 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 (<30.0) SRC.MESSAGE You are not skilled enough to make that. RETURN 1 ENDIF IF ! () SRC.MESSAGE You do not have enough bones to make this. RETURN 1 ENDIF IF (>99.9) IF (RAND(3)==1) || (RAND(3)==0) 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 NEWITEM=I_BONE_CHEST SRC.ACT.NAME=bone tunic crafted by SRC.ACT.BOUNCE SRC.TAILORING=+{ 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 ELSEIF (<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 SRC.NEWITEM=i_bone_chest SRC.ACT.BOUNCE SRC.TAILORING=+{ 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 VAR.TEMP=60 IF <60 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= SRC.MANA= 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.CONSUME 1 i_GEARS ELSE SRC.MESSAGE You fail to disarm the trap. SRC.DAMAGE=+(-) SRC.NEWITEM=i_FIRE_COLUMN SRC.ACT.ATTR attr_can_decay|attr_move_never SRC.ACT.TIMER 2 SRC.UPDATE SRC.SOUND=snd_SPELL_EXPLOSION RETURN 0 ENDIF IF >= SRC.MESSAGE You attempt to disarm the trap. IF IF RAND(2) SRC.MESSAGE You disarm the trap successfully. TIMER= MOREZ=1 TYPE=T_CONTAINER RETURN 0 ELSE SRC.MESSAGE You fail to disarm the trap. SRC.DAMAGE=+(-) SRC.NEWITEM=i_FIRE_COLUMN SRC.ACT.ATTR attr_can_decay|attr_move_never SRC.ACT.TIMER 2 SRC.UPDATE SRC.SOUND=snd_SPELL_EXPLOSION RETURN 0 ENDIF ELSE IF RAND(10)==5 SRC.MESSAGE You disarm the trap successfully. TIMER= MOREZ=1 TYPE=T_CONTAINER RETURN 0 ELSE SRC.MESSAGE You fail to disarm the trap. SRC.DAMAGE=+(-) SRC.NEWITEM i_fire_column SRC.ACT.ATTR attr_can_decay|attr_move_never SRC.ACT.TIMER 2 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. [TYPEDEF t_mover] ON=@DClick MOREM= LINK= SRC.P=

TIMERd=1 ON=@Timer LINK.SAY > IF (==0) LINK.STAM= LINK=0 RETURN 1 ENDIF IF =1 LINK.DIR 0 LINK.STAM 0 LINK.RESEND LINK.MOVE n ENDIF MOREM = - 1 TIMERd=1 RETURN 1 [EVENTS e_nofire] ON=@Hit IF (()&&( = t_weapon_bow)) IF (> != 0) SYSMESSAGE Your arrows do not seem to affect this. RETURN 1 ENDIF ENDIF [TYPEDEF t_minerhole] ON=@DClick IF (==i_hole) SRC.SYSMESSAGE No need to dig any further; just climb into the hole. RETURN 1 ENDIF IF !(==t_weapon_mace_pick) SRC.SYSMESSAGE This may lead somewhere, but you'll need to get out your pickaxe and start digging to find out. ELSEIF ( < ) SRC.SYSMESSAGE You need /10> mining to dig here. ELSE LINK= MORE2= TIMER=1 ENDIF RETURN 1 ON=@Step IF (==i_hole) SRC.GO ELSE SRC.SYSMESSAGE It holds under your weight, but you might want to get out a pickaxe and dig... ENDIF ON=@Timer IF () IF (==0) LINK=0 MORE2= DISPID=i_hole TIMER=60 UPDATE ELSE MORE2=+(-1)> LINK.ANIM SFX 544 TIMER=1 ENDIF ELSEIF !( == ) DISPID= UPDATE ENDIF RETURN 1 [EOF]