Raised This Month: $51 Target: $400
 12% 

HL Restore Map API v0.6 [Last Update: 04/12/2020]


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
rtxa
Senior Member
Join Date: Mar 2018
Location: Argentina
Old 06-11-2020 , 03:21   HL Restore Map API v0.6 [Last Update: 04/12/2020]
Reply With Quote #1

HL Restore Map API



☉ Description

With this API you can restore map stuff as they were at the start. It's easy to use and it doesn't require to download any other module.

Now you can use this to restore stuff in maps of some game modes like Deathrun, Zombie Escape, etc.

☰ Natives

PHP Code:
/** 
 * Associates an entity class name with a function that handles restoring.
 */
native hl_restore_register(const classname[], const handler[]);

/** 
 * Restores an entity to like it was at the beggining of the map.
 */
native hl_restore_ent(ent);

/** 
 * Restores all entities with the provided class name just like they were
 * at the beggining of the map.
 */
native hl_restore_by_class(const classname[]);

/** 
 * Restores all entities just like they were at the beggining of the map.
 */
native hl_restore_all(); 
☰ Available classes for restoring
  • ambient_generic
  • env_explosion
  • env_render
  • env_laser
  • env_beam
  • func_breakable
  • func_pushable
  • func_door
  • func_door_rotating
  • func_water
  • func_button
  • func_rot_button
  • func_train
  • func_tracktrain
  • func_rotating
  • func_wall_toggle
  • func_healthcharger
  • func_recharge
  • light
  • light_spot
  • multi_manager
  • multisource
  • trigger_auto
  • trigger_once
  • trigger_multiple
  • trigger_push
  • trigger_hurt
☰ Debug Commands

Requires admin with immunity flag to use them.
  • restore_all - Restores all entities.
  • restore_by_class <classname> - Restores all entities by class name.
  • restore_ent <entid> - Restores an entity.
  • restore_info <entid> - Shows useful debug info from an entity.
⛭ Requirements
⚙ Installation
  1. Download the attached files and extract them in your AMX Mod X folder.
  2. Compile all the restore_xxx.sma files and save them in your plugins folder.
  3. In your plugin's code, type #include <restore_map>.
Now you are ready to use the natives of the API.

⛏ To Do
  • ☑ Add restoring of ambient_generic.
  • ☑ Add restoring of trigger_multiple.
  • ☑ Add restoring of env_render, env_beam and env_laser.
  • ☑ Add restoring of light and light_spot.
  • ☐ Add restoring of env_spark.
  • ☐ Add restoring of cycler_sprite.
  • ☐ (On Discuss) Add restoring of momentary_door, momentary_rot_button and func_pendulum.
  • ☐ (On Discuss) Add restoring of items and weapons by using a wildcard. Example: hl_restore_register("weapon_*", "RestoreItem").
☉ Preview



☘ Plugins using this API:
☆ Thanks to:
  • ReGameDLL Team for most of the code they use for restart stuff in CS 1.6, saved me a lot of time.
  • The-822 for figure out how to block ent deleting in some entities (breakables, pushables).
  • KlyPPy for ideas to improve the API. Improved a lot the simplicity and safety of the plugin.
  • HamletEagle for stock to get strings stored in GoldSrc way.
♨ Notes
  • Some entities depends from others to work as expected (e.g., func_train starts only with a trigger_auto). I recommend to restore all to avoid any issues unless you know what you are doing.
  • If you are experiencing any issues, please link the name of the map (with a download link if you don't mind) and the entity you want to restore, so I can find the problem more fast and fix it.
Attached Files
File Type: zip HL-Restore-Map-0.4.zip (14.6 KB, 275 views)
File Type: zip HL-Restore-Map-0.5.zip (19.1 KB, 248 views)
File Type: zip HL-Restore-Map-0.6.zip (20.0 KB, 355 views)
__________________

Last edited by rtxa; 12-04-2020 at 06:48. Reason: Update to v0.6
rtxa is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 16:35.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode