hm...ich war jetzt zu faul alles durchzulesen.
Aber der Code sah ja schon recht "kompliziert" aus
Wie wäre es mit diesem Code?
Code:
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
new STRING_VERSION[MAX_DATA_LENGTH] = "17.08.02";
public admin_kickbots(HLCommand, HLData, HLUserName, UserIndex) {
new strname[MAX_NAME_LENGTH];
new i;
new iWONID;
new maxplayers=maxplayercount();
new delaytime=0;
for(i=1;i<=maxplayers;i++){
if(playerinfo(i,strname,MAX_NAME_LENGTH,_,iWONID)){
if (iWONID == 0 ) {
delaytime +=5;
set_timer("removebots",delaytime,0,strname);
}
}
}
return PLUGIN_HANDLED;
}
public removebots(Timer,Repeat,HLName,HLParam) {
new strname[MAX_DATA_LENGTH];
convert_string(HLParam, strname,MAX_DATA_LENGTH);
if(check_user(strname)==1){
kick(strname);
}
return PLUGIN_CONTINUE;
}
public plugin_init()
{
plugin_registerinfo("Remove Bots","Kicks all Bots with a delay of 5 seconds.",STRING_VERSION);
plugin_registercmd("admin_kickbots", "admin_kickbots", ACCESS_KICK, "admin_kickbots : kicks all bots with a delay of 5 seconds");
return PLUGIN_CONTINUE;
}
so. dann kannst Du an der delaytime spielen. 5 sec ist ja schon eine große Verzögerung.
Kurze Erklärung:
Ich gehe mit einer Schleife über maxplayercount alle Spieler durch.
Wenn WONID = 0
dann beim ersten Bot delaytime = 5
beim zweiten delaytime = 5+5 = 10
usw.
Übergebe den Namen des Bots an die Timerfunktion, die ausschließlich noch einmal den Namen überprüft und diesen dann kicked.
Übrigens kommt Dein Overflow wahrscheinlich vom plugin_sank_sounds. Nehme ich mal an. Bot-Protection ist auf 1, oder? Die neueste Version vom sank_sounds hast Du auch?
Obwohl dass der Server nicht stirbt, wundert mich. Bei sank_sounds ist es ja so, dass er jedesmal beim disconnect z.B. sagt: Please Come again.
Wenn er dass dann 20mal in einer Sekunde sagen muss, wenn alle Bots removed werden......autsch
_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die
Such-Funktion