[ROZWIĄZANE] plugin usuwający enty crashuj...
Pan PrO
11.11.2012
Witam. Dlaczego plugin usuwający enty crashuje serwer bez żadnych error logów ??
#include <amxmodx>
#include <engine>
#define PLUGIN "Remove Ent"
#define VERSION "1.0"
#define AUTHOR "Pan PrO"
new const Enty[][] = {
"rocket",
"medkit",
"mine"
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
}
public NowaRunda()
{
for(new iEnt=0; iEnt < sizeof Enty; iEnt++)
{
new idEnt = find_ent_by_class(-1, Enty[iEnt]);
while(idEnt > 0)
{
remove_entity(idEnt);
idEnt = find_ent_by_class(idEnt, Enty[iEnt]);
}
}
}
public client_disconnect(id)
UsunEnty(id);
public UsunEnty(id)
{
for(new iEnt=0; iEnt < sizeof Enty; iEnt++)
{
new idEnt = find_ent_by_class(0, Enty[iEnt]);
while(idEnt > 0)
{
if(entity_get_edict(idEnt, EV_ENT_owner) == id)
remove_entity(idEnt);
idEnt = find_ent_by_class(idEnt, Enty[iEnt]);
}
}
}
GwynBleidD
11.11.2012
Może dlatego, że:
podajesz tutaj -1, a powinieneś 0?
new idEnt = find_ent_by_class(-1, Enty[iEnt]);
podajesz tutaj -1, a powinieneś 0?
sebul
12.11.2012
Na pewno w tym nie ma żadnego błędu, zresztą chyba nawet zawsze powinno się zaczynać od -1 w takich funkcjach jak szukanie jakiegoś bytu na mapie.Może dlatego, że:
new idEnt = find_ent_by_class(-1, Enty[iEnt]);
podajesz tutaj -1, a powinieneś 0?
#include <amxmodx>
#include <engine>
#define PLUGIN "Remove Ent"
#define VERSION "1.0"
#define AUTHOR "Pan PrO"
new const Enty[][] = {
"rocket",
"medkit",
"mine"
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
}
public NowaRunda()
UsunEnty();
public client_disconnect(id)
UsunEnty(id);
stock UsunEnty(id = 0) {
new iEnt, idEnt, iSizeEnt = sizeof(Enty);
for(iEnt=0; iEnt<iSizeEnt; ++iEnt) {
idEnt = -1;
while((idEnt = find_ent_by_class(idEnt, Enty[iEnt]))) {
if(id && entity_get_edict(idEnt, EV_ENT_owner) != id)
continue;
remove_entity(idEnt);
}
}
}
Tak powinno być dobrze.
Możliwe też, że obydwa pluginy są dobre, tylko może po prostu w innym pluginie usuwasz ent, który został już usunięty przy pomocy tego pluginu, który tu podałeś.
sebul
12.11.2012
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL