Raised This Month: $ Target: $400
 0% 

[Request] Making The Invisible Objects Colored In Maps


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Snake.
Senior Member
Join Date: Jul 2017
Old 11-12-2022 , 05:32   Re: [Request] Making The Invisible Objects Colored In Maps
Reply With Quote #6

Quote:
Originally Posted by DJEarthQuake View Post
The newest hook mod can change colors of objects touched if interested by CVAR. Also I used walkthroughwalls plugin for project I was on to include doors once players achieve enough frags and added a bunch of effects that temporarily yet dynamically light up 'the invisible areas' with a wrap around effect via TE_DLIGHT and TE_ELIGHT. Add whatever ents you want to the list.

Gif was from an older script I no longer use but the hook does that now. Aim hook, shoot, Changes color each time.

If you want to load up maps that way unattended, here is a sample script altering trigger hurts to make them heal or change damage rendered with pfn_keyvalue. One has to know what ent they are after. Like Natsheh said it is simply changing the rendering. I prefer the hook mod as it is fun repainting maps semi-random colors. There are many ways to do this.

Code:
/*Alter trigger_hurts*/ #tryinclude amxmodx #tryinclude engine ////////////////////////////////////////////////////////// new const Ent_of_interest[] = "trigger_hurt"     //Trigger_hurt values new const Value_to_alter1[] = "dmg" new const Value_to_alter2[] = "damagetype" ////////////////////////////////////////////////////////// const MAX_CMD_LENGTH    =   128 enum _:authors_details {     plugin[MAX_NAME_LENGTH],     version[MAX_IP_LENGTH],     author[MAX_NAME_LENGTH] } new plugin_registry[ authors_details ] new Trie:g_tHurts new ent_counter = 0 new g_heal, g_dam new tbuffer[MAX_NAME_LENGTH] new vbuffer[MAX_IP_LENGTH] new new_value1[MAX_NAME_LENGTH] new new_value2[MAX_NAME_LENGTH] new iTranslation public plugin_init() {     new hour,min,sec     time(hour,min,sec)     formatex(vbuffer,charsmax(vbuffer),"%i:%i:%i", hour, min, sec)     plugin_registry[ plugin ] = "trigger_hurts"     plugin_registry[ version ] = vbuffer     plugin_registry[ author ] = ".sρiηX҉."     set_task( 5.0, "@register", 777, plugin_registry, authors_details ) } @register() {     register_plugin     (         .plugin_name = plugin_registry[ plugin ],         .version =  plugin_registry[ version ],         .author = plugin_registry[ author ]     )     if(ent_counter)         log_amx "Altered %i trigger_hurt ents!", ent_counter } public pfn_keyvalue( ent ) {     g_heal = register_cvar("trigger_heal", "1") //-1/0|1 Toggle trigger_hurt. -1 debug. 1 hurt. 0 heal.     g_dam = register_cvar("trigger_type", "FREEZE") //Damage type. Typo defaults to generic.     new iStarter1 = get_pcvar_num(g_heal) ?  -1 : 1     formatex(new_value1,charsmax(new_value1),"%i",iStarter1)     g_tHurts = TrieCreate( )     TrieSetCell(g_tHurts,"GENERIC",0)     TrieSetCell(g_tHurts,"CRUSH",1)     TrieSetCell(g_tHurts,"BULLET",2)     TrieSetCell(g_tHurts,"SLASH",4)     TrieSetCell(g_tHurts,"BURN",8)     TrieSetCell(g_tHurts,"FREEZE",16)     TrieSetCell(g_tHurts,"FALL",32)     TrieSetCell(g_tHurts,"BLAST",64)     TrieSetCell(g_tHurts,"CLUB",128)     TrieSetCell(g_tHurts,"SHOCK",256)     TrieSetCell(g_tHurts,"SONIC",512)     TrieSetCell(g_tHurts,"ENERGYBEAM",1024)     TrieSetCell(g_tHurts,"DROWN",16384)     TrieSetCell(g_tHurts,"PARALYSE",32768)     TrieSetCell(g_tHurts,"NERVEGAS",65536)     TrieSetCell(g_tHurts,"POISON",131072)     TrieSetCell(g_tHurts,"RADIATION",262144)     TrieSetCell(g_tHurts,"DROWNRECOVER",524288)     TrieSetCell(g_tHurts,"CHEMICAL",1048576)     TrieSetCell(g_tHurts,"SLOWBURN",2097152)     TrieSetCell(g_tHurts,"SLOWFREEZE",4194304)     get_pcvar_string(g_dam, tbuffer, charsmax(tbuffer))     if( TrieKeyExists( g_tHurts, tbuffer ) )     {         new fix_possible_typo = TrieGetCell( g_tHurts, tbuffer, iTranslation ) ? iTranslation : 0         formatex(new_value2,charsmax(new_value2),"%i",fix_possible_typo)         new Classname[  MAX_NAME_LENGTH ], key[ MAX_NAME_LENGTH ], value[ MAX_CMD_LENGTH ]         copy_keyvalue( Classname, charsmax(Classname), key, charsmax(key), value, charsmax(value) )         if(equali(Classname,Ent_of_interest))         {             if(equali(key,Value_to_alter1) && !equali(value,new_value1))             {                 if(get_pcvar_num(g_heal) < 0)                     log_amx "Attempting| %s altered to %s", Value_to_alter1, new_value1                 DispatchKeyValue(Value_to_alter1,new_value1)                 if(get_pcvar_num(g_heal) < 0)                     log_amx"Success!|%s altered to %s", Value_to_alter1, new_value1                 ent_counter++             }             if(equali(key,Value_to_alter2) && !equali(value,new_value2))             {                 if(get_pcvar_num(g_heal) < 0)                     log_amx "Attempting|change %s to %s|%s", Value_to_alter2, tbuffer, new_value2                 DispatchKeyValue(Value_to_alter2, new_value2)                 if(get_pcvar_num(g_heal) < 0)                     log_amx"Success!|%s altered to %s|%s", Value_to_alter2, tbuffer, new_value2             }         }     } }
Thank you sir but it seems the objects i wanna edit are not entitites. So, nothing to do.
Snake. is offline
Send a message via Skype™ to Snake.
 


Thread Tools
Display Modes

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 23:57.


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