PHP Code:
public hook_KeyValue(entId, kvd_id)
{
server_print("[MedicMod] keyvalue has been hooked.. entity hooked is ^"%d^"",entId)
new maxteams = 0
if(!pev_valid(entId))
return FMRES_HANDLED;
new className[64];
pev(entId, pev_classname, className, 63);
if(containi(className, "info_tfdetect") != -1 && !tfdetectMade)
{
while (maxteams != 1 || maxteams != 2 || maxteams != 3 || maxteams != 4)
{
get_keyvalue(entId, "number_of_teams", szValue, sizeof(szValue)-1)
maxteams = str_to_num(szValue)
server_print("[MedicMod] Looping to get maxteams : %d", szValue)
}
server_print("[MedicMod] About to remove entity, maxteams = ^"%d^"",maxteams)
engfunc(EngFunc_RemoveEntity, entId);
if(!tfdetectMade)
{
switch(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");
}
}
}
}
return FMRES_HANDLED;
}
it originally wouldnt loop, but now its looping because maxteams ALWAYS equals 0.. anyone know why this might be? I know for a fact it does NOT equal 0.. since maxteams needs to have atleast one team