AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Code Snippets/Tutorials (https://forums.alliedmods.net/forumdisplay.php?f=83)
-   -   HL Restore Map API v0.6 [Last Update: 04/12/2020] (https://forums.alliedmods.net/showthread.php?t=325178)

rtxa 06-11-2020 03:21

HL Restore Map API v0.6 [Last Update: 04/12/2020]
 
3 Attachment(s)
HL Restore Map API

https://img.shields.io/badge/Author-rtxA-red https://img.shields.io/badge/Version-0.6-red https://img.shields.io/badge/Last%20...04/12/2020-red https://img.shields.io/badge/GitHub-...ode-blueviolet

☉ 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.

DruGzOG 06-11-2020 10:54

Re: HL Restore Map API v0.3 [Last Update: 11/06/2020]
 
Why not post this in new plugin submissions? Would be a better place

Napoleon_be 06-11-2020 18:49

Re: HL Restore Map API v0.3 [Last Update: 11/06/2020]
 
Quote:

Originally Posted by DruGzOG (Post 2705145)
Why not post this in new plugin submissions? Would be a better place

I agree, nice plugin idea btw.

rtxa 06-12-2020 14:49

Re: HL Restore Map API v0.4 [Last Update: 12/06/2020]
 
Updated to version 0.4. Changelog:
- API has been improved, more simple, easy to mantain and safe to use.
- Fixed func_breakable not restoring collision in some cases.
- Added restoring of func_water, trigger_hurt, multisource and env_explosion (lambda_bunker explosive crates).
- Added commands restore_all, restore_ent, restore_by_class and restore_info for debugging. They require immunity flag access.

Quote:

Originally Posted by Napoleon_be (Post 2705200)
I agree, nice plugin idea btw.

Thanks Napoleon. Not sure, I think it will get lost in the sea of plugins and this is mostly like a module. I have another API too posted here.

Napoleon_be 06-13-2020 10:32

Re: HL Restore Map API v0.4 [Last Update: 12/06/2020]
 
Quote:

Originally Posted by rtxa (Post 2705328)
Thanks Napoleon. Not sure, I think it will get lost in the sea of plugins and this is mostly like a module. I have another API too posted here.

The "New plugin submissions" section had a cleanup a few months ago though, maybe you should contact a mod / plugin approver about this. The "Module coding" section could be used too imo.

rtxa 06-20-2020 23:12

Re: HL Restore Map API v0.5 [Last Update: 20/06/2020]
 
Updated to version 0.5.
# Changelog:
- Added restoring of ambient_generic.
- Added restoring of env_render.
- Added restoring of trigger_multiple.
- Added restoring of light and light_spot.

rtxa 12-04-2020 06:49

Re: HL Restore Map API v0.6 [Last Update: 04/12/2020]
 
Updated to version 0.6:
- Added restoring of env_laser and env_beam.
- Fixed restoring of func_breakables with flags.


All times are GMT -4. The time now is 17:54.

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