Raised This Month: $ Target: $400
 0% 

looping through an entity to get all keyvalues


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
HLM
Senior Member
Join Date: Apr 2008
Location: C:\WINDOWS\System32
Old 10-01-2009 , 19:24   looping through an entity to get all keyvalues
Reply With Quote #1

PHP Code:
public hook_KeyValue(entIdkvd_id)
{
    
server_print("[MedicMod] Entity has been hooked.. entity hooked is ^"%d^"",entId)
    
log_to_file("medicmod.txt","[MedicMod] Entity has been hooked.. entity hooked is ^"%d^"",entId)
    
//new maxteams;
    
if(!pev_valid(entId))
        return 
FMRES_HANDLED;
    
    new 
className[64];
    new 
keyName[32];
    new 
keyValue[32];
    
    
//pev(entId, pev_classname, className, 63);
    
get_kvd(kvd_idKV_ClassNameclassName31);
    if(
equali(className"info_tfdetect") && !tfdetectMade)
    {
        
server_print("[MedicMod] Classname picked as ^"%s^"",className)
        
log_to_file("medicmod.txt","[MedicMod] Classname picked as ^"%s^"",className)
        
get_kvd(kvd_idKV_KeyNamekeyName31);
        
log_to_file("mm_keys.txt","[MedicMod] Keyname : %s",keyName)
        if(
equali(keyName"number_of_teams"5) && !tfdetectMade)
        {
            
server_print("[MedicMod] Keyname picked as ^"%s^"",keyName)
            
log_to_file("medicmod.txt","[MedicMod] Keyname picked as ^"%s^"",keyName)
            
get_kvd(kvd_idKV_ValuekeyValue31);
            
server_print("[MedicMod] KeyValue : ^"%s^"",keyValue)
            
log_to_file("medicmod.txt","[MedicMod] KeyValue : ^"%s^"",keyValue)
            
g_maxteams str_to_num(keyValue);
            
server_print("[MedicMod] Maxteams = '%s'",g_maxteams)
            
log_to_file("medicmod.txt","[MedicMod] Maxteams = '%s'",g_maxteams)
        }
        
        
/*{
        while (maxteams == 0)
        {
            get_keyvalue(entId, "number_of_teams", szValue, sizeof(szValue)-1)
            maxteams = str_to_num(szValue)
            server_print("[MedicMod] Looping to get maxteams : %d", szValue)
            log_to_file("medicmod.txt","[MedicMod] Looping to get maxteams : %d", szValue)
        }*/
        
        
server_print("[MedicMod] About to remove entity, maxteams = ^"%d^"",g_maxteams)
        
log_to_file("medicmod.txt","[MedicMod] About to remove entity, maxteams = ^"%d^"",g_maxteams)
        
engfunc(EngFunc_RemoveEntityentId);
        
        if(!
tfdetectMade)
        {
            switch(
g_maxteams)
            {
                case 
1:
                {
                    new 
entFloat:entOrg[3];
                    
tfdetectMade true;
                    
                    
// Make the new tfdetect entity
                    
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_tfdetect"));
                    
engfunc(EngFunc_SetOriginententOrg);
                    
engfunc(EngFunc_SetSizeentFloat:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
                    
set_pev(entpev_classname"info_tfdetect");
                    
set_pev(entpev_solidSOLID_NOT);
                    
set_pev(entpev_movetypeMOVETYPE_FLY);
                    
                    
// Add the keys and values to the entity
                    
set_keyvalue(ent"number_of_teams""1");
                    
set_keyvalue(ent"team1_name""Team L33T!");
                    
//set_keyvalue(ent, "team2_name", "Team pWn0rs!");
                    //set_keyvalue(ent, "team3_name", "Team h4wt!");
                    //set_keyvalue(ent, "team4_name", "Team sm3xi!");
                    
set_keyvalue(ent"toggleflags""0");
                    
set_keyvalue(ent"maxammo_shells""1007");
                    
//set_keyvalue(ent, "maxammo_nails", "1007");
                    //set_keyvalue(ent, "maxammo_rockets", "1007");
                    //set_keyvalue(ent, "maxammo_cells", "1007");
                    
set_keyvalue(ent"team1_allies""0");
                    
//set_keyvalue(ent, "team2_allies", "0");
                    //set_keyvalue(ent, "team3_allies", "0");
                    //set_keyvalue(ent, "team4_allies", "0");
                
}
                case 
2:
                {
                    new 
entFloat:entOrg[3];
                    
tfdetectMade true;
                    
                    
// Make the new tfdetect entity
                    
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_tfdetect"));
                    
engfunc(EngFunc_SetOriginententOrg);
                    
engfunc(EngFunc_SetSizeentFloat:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
                    
set_pev(entpev_classname"info_tfdetect");
                    
set_pev(entpev_solidSOLID_NOT);
                    
set_pev(entpev_movetypeMOVETYPE_FLY);
                    
                    
// Add the keys and values to the entity
                    
set_keyvalue(ent"number_of_teams""2");
                    
set_keyvalue(ent"team1_name""Team h4x~!");
                    
set_keyvalue(ent"team2_name""Team pWn0rs!");
                    
//set_keyvalue(ent, "team3_name", "Team h4wt!");
                    //set_keyvalue(ent, "team4_name", "Team sm3xi!");
                    
set_keyvalue(ent"toggleflags""0");
                    
set_keyvalue(ent"maxammo_shells""1007");
                    
set_keyvalue(ent"maxammo_nails""1007");
                    
//set_keyvalue(ent, "maxammo_rockets", "1007");
                    //set_keyvalue(ent, "maxammo_cells", "1007");
                    
set_keyvalue(ent"team1_allies""0");
                    
set_keyvalue(ent"team2_allies""0");
                    
//set_keyvalue(ent, "team3_allies", "0");
                    //set_keyvalue(ent, "team4_allies", "0");    
                
}
                case 
3:
                {
                    
log_amx("maxteams was logged to be %d",szValue)
                    
pause("ad","medicmod-cutsom.amxx")
                }
                case 
4:
                {
                    new 
entFloat:entOrg[3];
                    
tfdetectMade true;
                    
                    
// Make the new tfdetect entity
                    
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_tfdetect"));
                    
engfunc(EngFunc_SetOriginententOrg);
                    
engfunc(EngFunc_SetSizeentFloat:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
                    
set_pev(entpev_classname"info_tfdetect");
                    
set_pev(entpev_solidSOLID_NOT);
                    
set_pev(entpev_movetypeMOVETYPE_FLY);
                    
                    
// Add the keys and values to the entity
                    
set_keyvalue(ent"number_of_teams""4");
                    
set_keyvalue(ent"team1_name""Team h4x~!");
                    
set_keyvalue(ent"team2_name""Team pWn0rs!");
                    
set_keyvalue(ent"team3_name""Team h4wt!");
                    
set_keyvalue(ent"team4_name""Team sm3xi!");
                    
set_keyvalue(ent"toggleflags""0");
                    
set_keyvalue(ent"maxammo_shells""1007");
                    
set_keyvalue(ent"maxammo_nails""1007");
                    
set_keyvalue(ent"maxammo_rockets""1007");
                    
set_keyvalue(ent"maxammo_cells""1007");
                    
set_keyvalue(ent"team1_allies""0");
                    
set_keyvalue(ent"team2_allies""0");
                    
set_keyvalue(ent"team3_allies""0");
                    
set_keyvalue(ent"team4_allies""0");    
                }
                default:
                {
                    new 
entFloat:entOrg[3];
                    
tfdetectMade true;
                    
                    
// Make the new tfdetect entity
                    
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_tfdetect"));
                    
engfunc(EngFunc_SetOriginententOrg);
                    
engfunc(EngFunc_SetSizeentFloat:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
                    
set_pev(entpev_classname"info_tfdetect");
                    
set_pev(entpev_solidSOLID_NOT);
                    
set_pev(entpev_movetypeMOVETYPE_FLY);
                    
                    
// Add the keys and values to the entity
                    
set_keyvalue(ent"number_of_teams""2");
                    
set_keyvalue(ent"team1_name""Team h4x~!");
                    
set_keyvalue(ent"team2_name""Team pWn0rs!");
                    
//set_keyvalue(ent, "team3_name", "Team h4wt!");
                    //set_keyvalue(ent, "team4_name", "Team sm3xi!");
                    
set_keyvalue(ent"toggleflags""0");
                    
set_keyvalue(ent"maxammo_shells""1007");
                    
set_keyvalue(ent"maxammo_nails""1007");
                    
//set_keyvalue(ent, "maxammo_rockets", "1007");
                    //set_keyvalue(ent, "maxammo_cells", "1007");
                    
set_keyvalue(ent"team1_allies""0");
                    
set_keyvalue(ent"team2_allies""0");
                    
//set_keyvalue(ent, "team3_allies", "0");
                    //set_keyvalue(ent, "team4_allies", "0");    
                
}
                
            }
        }
    }
    return 
FMRES_HANDLED;

heres a log..

Code:
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "25"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:38 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "26"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Classname picked as "info_tfdetect"
19:20:39 [MedicMod] Classname picked as "info_tfdetect"
19:20:39 Log file started (file "tfc\addons\amxmodx\logs\mm_keys.txt") (game "tfc") (amx "1.8.1.3746")
19:20:39 [MedicMod] Keyname : origin
19:20:39 [MedicMod] About to remove entity, maxteams = "0"
19:20:39 [MedicMod] About to remove entity, maxteams = "0"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "27"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "246"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "246"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "246"
19:20:39 [MedicMod] Entity has been hooked.. entity hooked is "246"
I can guarantee you that there is more than just origin to this entity, I am not a good coder, I just need to know why it cant FIND number_of_teams, this entity is the base for all tfc maps, it holds vital information for the map, like which classes which teams can have, and which teams are available and other important information..

some help?
__________________
+|- KARMA Respectively


Last edited by HLM; 10-01-2009 at 19:31.
HLM 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 22:43.


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