Birde T den user Olan birisi /hucre yazinca kapıyı acıyor. Bunu nasıl engelleyebiliriz.
2 Tane Düzenleme Denedim Fakat Hala Yapamadım. Gecici olarak /hucre komutunu engelledim.
Orijinal Hali
Kod: Tümünü seç
public hucrekapisiniac(id) {
client_print_color(0, id, "^1[^3%n^1]^4 adli gardiyan ^1hucre kapisini^4 acti^3/^4kapatti.", id);
new Float:radius = 200.0, Float:origin[3], ent = 1, ent2 = 1, ent3, name[32], pos;
static found[10];
while((pos <= sizeof(found)) && (ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "info_player_deathmatch"))) {
get_entvar(ent, var_origin, origin);
while((ent2 = engfunc(EngFunc_FindEntityInSphere, ent2, origin, radius))) {
if(is_entity(ent2) && !FClassnameIs(ent2, "func_door")) continue;
get_entvar(ent2, var_targetname, name, charsmax(name)); ent3=engfunc(EngFunc_FindEntityByString, 0, "target", name);
if(is_entity(ent3) && (in_array(ent3, found, sizeof(found)) < 0)) {
dllfunc(DLLFunc_Use, ent3, 0, 0, 1, 1.0),pos++;
break;
}
}
}
return PLUGIN_HANDLED; //pos;
}
Denedigim 1
Kod: Tümünü seç
public hucrekapisiniac(id) {
if(get_user_team(id) == 2) client_print_color(id, id, "^1[^3%n^1]^4 adli gardiyan ^1hucre kapisini^4 acti^3/^4kapatti.", id);
new Float:radius = 200.0, Float:origin[3], ent = 1, ent2 = 1, ent3, name[32], pos;
static found[10];
while((pos <= sizeof(found)) && (ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "info_player_deathmatch"))) {
get_entvar(ent, var_origin, origin);
while((ent2 = engfunc(EngFunc_FindEntityInSphere, ent2, origin, radius))) {
if(is_entity(ent2) && !FClassnameIs(ent2, "func_door")) continue;
get_entvar(ent2, var_targetname, name, charsmax(name)); ent3=engfunc(EngFunc_FindEntityByString, 0, "target", name);
if(is_entity(ent3) && (in_array(ent3, found, sizeof(found)) < 0)) {
dllfunc(DLLFunc_Use, ent3, 0, 0, 1, 1.0),pos++;
break;
}
}
}
return PLUGIN_HANDLED; //pos;
}
Denedigim2
Kod: Tümünü seç
public hucrekapisiniac(id) {
if(get_member(id, m_iTeam)!=TEAM_CT) client_print_color(id, id, "^1[^3%n^1]^4 adli gardiyan ^1hucre kapisini^4 acti^3/^4kapatti.", id);
new Float:radius = 200.0, Float:origin[3], ent = 1, ent2 = 1, ent3, name[32], pos;
static found[10];
while((pos <= sizeof(found)) && (ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "info_player_deathmatch"))) {
get_entvar(ent, var_origin, origin);
while((ent2 = engfunc(EngFunc_FindEntityInSphere, ent2, origin, radius))) {
if(is_entity(ent2) && !FClassnameIs(ent2, "func_door")) continue;
get_entvar(ent2, var_targetname, name, charsmax(name)); ent3=engfunc(EngFunc_FindEntityByString, 0, "target", name);
if(is_entity(ent3) && (in_array(ent3, found, sizeof(found)) < 0)) {
dllfunc(DLLFunc_Use, ent3, 0, 0, 1, 1.0),pos++;
break;
}
}
}
return PLUGIN_HANDLED; //pos;
}