looping through an entity to get all keyvalues
PHP Code:
public hook_KeyValue(entId, kvd_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_id, KV_ClassName, className, 31);
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_id, KV_KeyName, keyName, 31);
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_id, KV_Value, keyValue, 31);
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_RemoveEntity, entId);
if(!tfdetectMade)
{
switch(g_maxteams)
{
case 1:
{
new ent, Float:entOrg[3];
tfdetectMade = true;
// Make the new tfdetect entity
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_tfdetect"));
engfunc(EngFunc_SetOrigin, ent, entOrg);
engfunc(EngFunc_SetSize, ent, Float:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
set_pev(ent, pev_classname, "info_tfdetect");
set_pev(ent, pev_solid, SOLID_NOT);
set_pev(ent, pev_movetype, MOVETYPE_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 ent, Float:entOrg[3];
tfdetectMade = true;
// Make the new tfdetect entity
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_tfdetect"));
engfunc(EngFunc_SetOrigin, ent, entOrg);
engfunc(EngFunc_SetSize, ent, Float:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
set_pev(ent, pev_classname, "info_tfdetect");
set_pev(ent, pev_solid, SOLID_NOT);
set_pev(ent, pev_movetype, MOVETYPE_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 ent, Float:entOrg[3];
tfdetectMade = true;
// Make the new tfdetect entity
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_tfdetect"));
engfunc(EngFunc_SetOrigin, ent, entOrg);
engfunc(EngFunc_SetSize, ent, Float:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
set_pev(ent, pev_classname, "info_tfdetect");
set_pev(ent, pev_solid, SOLID_NOT);
set_pev(ent, pev_movetype, MOVETYPE_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 ent, Float:entOrg[3];
tfdetectMade = true;
// Make the new tfdetect entity
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_tfdetect"));
engfunc(EngFunc_SetOrigin, ent, entOrg);
engfunc(EngFunc_SetSize, ent, Float:{-1.0,-1.0,-1.0}, Float:{1.0,1.0,1.0});
set_pev(ent, pev_classname, "info_tfdetect");
set_pev(ent, pev_solid, SOLID_NOT);
set_pev(ent, pev_movetype, MOVETYPE_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?
|