User Tools

Site Tools


hpl2:tutorials:script:scripting_by_xtron_-_item_that_unlocks_a_door

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpl2:tutorials:script:scripting_by_xtron_-_item_that_unlocks_a_door [2011/07/13 17:33]
xtron
hpl2:tutorials:script:scripting_by_xtron_-_item_that_unlocks_a_door [2013/08/22 15:12] (current)
yourcomputer Corrected references
Line 1: Line 1:
-In this tutorial ( the first one actually ) will I ( xtron ) show you! ( the person who reads this ) how to make a item that unlocks a specific ​door!.+====== Item that unlocks a door ======
  
  
-**\\  ** +In this tutorial will I ( xtron ) show you how to make a item that unlocks a specific door!.
  
  
-**THE DOOR:** +==== THE DOOR ====
  
  
Line 20: Line 20:
  
  
-**THE ITEM:\\  ** +==== THE ITEM ==== 
  
  
Line 39: Line 39:
  
 <code text> <code text>
-  +<​CATEGORY Name="​Inventory">​  
-<​CATEGORY Name="​Inventory">​ +    <Entry Name="​ItemDesc_item1">​Item description</​Entry>​ 
-  +    <Entry Name="​ItemName_item1">​Item name</​Entry>​
-  +
-<Entry Name="​ItemDesc_item1">​Item description</​Entry>​ +
-<Entry Name="​ItemName_item1">​Item name</​Entry>​ +
-  +
- +
 </​CATEGORY>​ </​CATEGORY>​
 </​code>​ </​code>​
Line 57: Line 52:
  
  
-**THE SCRIPT:** +==== THE SCRIPT ​====
  
  
-First off you will need a .hps file and I guess you already have it but to be sure [[http://​www.mediafire.com/?​krxqcj3qdxrj9xs|wClean HPS FILE]] ​+First off you will need a .hps file and I guess you already have it but to be sure [[http://​www.mediafire.com/?​krxqcj3qdxrj9xs|wClean HPS FILE]] ​change NAME.hps to your map name.
  
  
-| \\ void OnStart() ​ ​\\ ​  ​\\ ​ ​\\ ​ \\ AddUseItemCallback(_fckg_QUOT__fckg_QUOT_, "​ITEM",​ "​DOOR",​ "FUNCTIONNAME", true); ​ ​\\ ​ \\  \\ |    \\ I'm assuming that you're using the .hps file I uploaded. Copy the AddUseItemCallBack script in to your .hps file inside the brackets were it say \\ void OnStart. Just like in the box. Edit the ITEM to your item name and then the DOOR to your door name and the function name can be   anything   When you'​re ​done with that you can copy the:   ​| ​ \\ void FUNCTIONNAME(string &in asItem, string &in asEntity) ​ ​\\ ​ ​\\ ​SetSwingDoorLocked("​DOOR"​, false, true); ​ ​\\ ​PlaySoundAtEntity(_fckg_QUOT__fckg_QUOT_, ​"unlock_door", "door1", 0, false); ​ ​\\ ​RemoveItem("​ITEM"​);  ​\\ ​ |+Now you need the code that will be inserted betwen ​void OnStart()s brackets ( and } ) 
 + 
 + 
 +<code cpp>void OnStart() 
 +
 +    ​AddUseItemCallback(""​, "​ITEM",​ "​DOOR",​ "FUNCTION", true); 
 +} 
 +</​code>​ 
 + 
 + 
 +Change ​ITEM to your itemDOOR to your door name and FUNCTION ​can be whatever. 
 + 
 + 
 +When you done that you will be needing ​the function 
 + 
 + 
 +<code cpp>void FUNCTION(string &in asItem, string &in asEntity) 
 +{ 
 +    ​SetSwingDoorLocked(asEntity, false, true); 
 +    ​PlaySoundAtEntity("",​ "unlock_door", asEntity, 0, false); 
 +    ​RemoveItem(asItem); 
 +} 
 +</​code>​
  
  
Line 69: Line 86:
  
  
-| \\ void OnStart() ​ ​\\ ​  ​\\ ​ ​\\ ​ \\  |+<code cpp>void OnStart() 
 +{ 
 +  
 +} 
 +</​code>​
  
  
Line 75: Line 96:
  
  
-Change the DOOR to your door name and then the ITEM to your item name and then it's all done!.+When you're done it should look something like this:
  
  
-When you're done it should look something like this:+<code cpp>void OnStart() 
 +
 +    AddUseItemCallback("",​ "​ITEM",​ "​DOOR",​ "​FUNCTION",​ true); 
 +
 +  
 +void FUNCTION(string &in asItem, string &in asEntity) 
 +
 +    SetSwingDoorLocked(asEntity,​ false, true); 
 +    PlaySoundAtEntity("",​ "​unlock_door",​ asEntity, 0, false); 
 +    RemoveItem(asItem);​ 
 +
 +  
 +</​code>​
  
  
-| \\ void OnStart() ​ \\ {  \\ AddUseItemCallback(_fckg_QUOT__fckg_QUOT_,​ "​ITEM",​ "​DOOR",​ "​FUNCTION",​ true); ​ \\   \\ }  \\  \\  \\  \\ void FUNCTION(string &​in ​asItem, string &​in ​asEntity)  \\ {  \\ SetSwingDoorLocked("​DOOR",​ false, true); ​ \\ PlaySoundAtEntity(_fckg_QUOT__fckg_QUOT_,​ "​unlock_door",​ "​door1",​ 0, false); ​ \\ RemoveItem("​ITEM"​); ​ \\ }  |+The best way of doing this kind of script is by using the syntaxes ​asItem ​and asEntity ​to your advantage
  
  
-If you got any questions please PM me on the forum+so instead of writing ​the name of the door and key inside the function like the one above you write something like this:
  
  
-Created ​by xtron+<code cpp> 
 +void OnStart() 
 +
 + AddUseItemCallback("",​ "​NAMEOFTHEITEM",​ "​NAMEOFTHEDOOR",​ "​FUNCTION",​ true); 
 +
 + 
 +void FUNCTION(string &in asItem, string &in asEntity) 
 +
 + SetSwingDoorLocked(asEntity,​ false, true); 
 + PlaySoundAtEntity("",​ "​unlock_door",​ asEntity, 0, false); 
 + RemoveItem(asItem);​ 
 +
 +</​code>​ 
 + 
 + 
 +So this works since asEntity is declared as the name of the door and the asItem is declared as the item you want to use on the door through the AddUseItemCallback. 
 + 
 + 
 +So by using this code you can write more AddUseItemCallback and call the same function and they will unlock their corresponding door with the corresponding item. 
 + 
 + 
 +If you got any questions please PM me on the forum
  
  
-<font 16pt:​normal/​Arial;;​inherit;;​inherit >​\\ ​ </​font> ​+Created by xtron<font 16pt:​normal/​Arial;;​inherit;;​inherit ​  ​>​\\ ​ 
 +</​font>​
  
  
-\\+<font 10pt:​normal/​Arial;;​inherit;;​inherit ​   >Edited by SilentStriker</​font>​
  
hpl2/tutorials/script/scripting_by_xtron_-_item_that_unlocks_a_door.1310578415.txt.gz · Last modified: 2011/07/13 17:33 by xtron