User Tools

Site Tools



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:44]
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>​ +
-  +
- +
 </​code>​ </​code>​
Line 56: 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://​​krxqcj3qdxrj9xs|wClean HPS FILE]] ​+First off you will need a .hps file and I guess you already have it but to be sure [[http://​​krxqcj3qdxrj9xs|wClean HPS FILE]] ​change NAME.hps to your map name.
Line 65: Line 61:
-//void OnStart()\\  /+<code cpp>void OnStart() 
 +    AddUseItemCallback("",​ "​ITEM",​ "​DOOR",​ "​FUNCTION",​ true); 
-//{\\  // +Change ITEM to your item, DOOR to your door name and FUNCTION can be whatever.
-//​AddUseItemCallback("",​ "​ITEM",​ "​DOOR",​ "​FUNCTION",​ true);​\\ ​ // +When you done that you will be needing the function
-//}//  +<code cpp>void FUNCTION(string &in asItem, string &in asEntity) 
- +{ 
- +    ​SetSwingDoorLocked(asEntity, false, true); 
-Copy the AddUseItemCallBack and paste it inside your { and } in your hps file. +    ​PlaySoundAtEntity("",​ "​unlock_door", ​asEntity, 0, false); 
- +    ​RemoveItem(asItem); 
- +} 
-Edit ITEM to your item name, DOOR to your door name and edit FUNCTION to whatever. +</code>
- +
- +
-When you're done with that you will be needing the function: +
- +
- +
-//void FUNCTION(string &in asItem, string &in asEntity)\\  ​{\\  ​SetSwingDoorLocked("​DOOR"​, false, true);\\  ​PlaySoundAtEntity("",​ "​unlock_door", ​"​door1"​, 0, false);\\  ​RemoveItem("​ITEM"​);\\  ​}\\  /+
Line 92: Line 86:
-//void OnStart()\\  /+<code cpp>void OnStart() 
-//{\\  // +Change the FUNCTIONNAME to the function name you picked in the previous step.
-//\\  // +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);​ 
-Change ​the FUNCTIONNAME ​to the function name you picked in the previous step.+The best way of doing this kind of script is by using the syntaxes asItem and asEntity ​to your advantage
-Change ​the DOOR to your door name and then the ITEM to your item name and then it's all done!.+so instead of writing ​the name of the door and key inside the function like the one above you write something like this:
-When you're done it should look something like this:+<code cpp> 
 +void OnStart() 
 + AddUseItemCallback("",​ "​NAMEOFTHEITEM",​ "​NAMEOFTHEDOOR",​ "​FUNCTION",​ true); 
- +void FUNCTION(string &in asItem, string &in asEntity
-//void OnStart()\\  //  +
- + SetSwingDoorLocked(asEntity,​ false, true); 
- + PlaySoundAtEntity("",​ "unlock_door", ​asEntity0false); 
-//{\\  //  + RemoveItem(asItem);​ 
- +
- +</code>
-//​AddUseItemCallback("",​ "ITEM", ​"​DOOR"​"​FUNCTION"​true);\\  /+
-//}// +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.
-//void FUNCTION(string &in asItem, string &in asEntity)\\ ​ {\\  SetSwingDoorLocked("​DOOR",​ false, true);​\\ ​ PlaySoundAtEntity("",​ "​unlock_door",​ "​door1",​ 0, false);​\\ ​ RemoveItem("​ITEM"​);​\\ ​ }// +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.
Line 131: Line 144:
-Created by xtron+Created by xtron<font 16pt:​normal/​Arial;;​inherit;;​inherit ​  >​\\  
-<​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.1310579086.txt.gz · Last modified: 2011/07/13 17:44 by xtron