Versuchs mal damit: https://www.piriform.com/ccleaner
Wenns nicht geht, am besten einfach Chrome nutzen
Denn die V8 Engine von Chrome ist schneller, als TraceMonkey von Firefox ![]()
Versuchs mal damit: https://www.piriform.com/ccleaner
Wenns nicht geht, am besten einfach Chrome nutzen
Denn die V8 Engine von Chrome ist schneller, als TraceMonkey von Firefox ![]()
Aber ich würde die auch gerne nach ein serverrestart behalten
Tust du doch...das wird immer wieder neu geladen...solange du es in den files lässt ![]()
Aso..ja sry mein Fehler..hatte mich verlesen ![]()
Hier, probiers mal so:
new File:f = fopen("logs/Bugreports.txt",io_read);
if(!f) return 1; //Keine Berechtigung
const rows = 10; //Wie viele Namen du angezeigt bekommen möchtest
new buffer[256],tmp[128],stack[MAX_PLAYER_NAME*rows],x,y,counter,n[16];
while(fread(f, buffer))
{
x = strfind(buffer,"]"), y = strfind(buffer,":",false,x);
strmid(tmp,buffer,x+1,y,sizeof(tmp));
strcat(tmp,"\n"),strcat(stack, tmp);
strmid(tmp,buffer,y+2,strlen(buffer),sizeof(tmp));
format(n,sizeof(n),"bug_%d",counter++);
SetPVarString(playerid,n,tmp);
}
SetPVarInt(playerid,"bug_length",counter);
fclose(f);
ShowPlayerDialog(playerid,DIALOG_BUSREPORTS,DIALOG_STYLE_LIST,"Log",stack,"Bestätigen","");
//Und dann unter OnDialogResponse
if(dialogid == DIALOG_BUSREPORTS)
{
if(!response) return DeleteBugCache(playerid);
new string[128],n[16];
format(n,sizeof(n),"bug_%d",listitem);
GetPVarString(playerid,n,string,sizeof(string));
ShowPlayerDialog(playerid,999,DIALOG_STYLE_MSGBOX,"Log",string,"Bestätigen","");
DeleteBugCache(playerid);
return 1;
}
//Und unten ganz wichtig:
stock DeleteBugCache(playerid)
{
new max=GetPVarInt(playerid,"bug_length");
for(new i,n[16]; i<max; i++)
{
format(n,sizeof(n),"bug_%d",i);
DeletePVar(playerid, n);
}
DeletePVar(playerid,"bug_length");
return 1;
}
Alles anzeigen
Der Fehler ist wohl offensichtlich.
...da ist kein Fehler ![]()
Der Fehler liegt beim Timer...
Er übergibt keine Spielerid, also musst du loopen:
forward anticheat();
public anticheat()
{
for(new i=GetPlayerPoolSize(),w,a,str[128]; i!=-1; i--)
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
/*---SCHLAGRINGE ABFRAGE FÜR AIMBOT---*/
GetPlayerWeaponData(i,0,w,a);
if(w==1 && a==1000)
{
format(str,sizeof(str),"* %s hat den Verdacht auf einen Aimbot (1000 Schlagringe).",PlayerName(i));
SendClientMessageToAdmins(str, GELB);
}
}
return 1;
}
Alles anzeigen
eiß aber nicht in welchem Sekundentakt ich diesen aktualisieren soll
...das kannste dir doch aussuchen xD
Musst du doch wissen...wie schnell du sowas wissen magst...ob 5..10..20 Sekunden..xD
einfach nur abfragen ob der Spieler 1000 besitzt, damit ich mit einer Schleife eine Message an die Administratoren schicken kann.
Ja..aber den Aimbot kann man ja nur nutzen..wenn man schießt xD
Aber..na gut, dein Ding...hast keine Spieler Schleife irgendwo?
Bestimmt unter nem timer oder so..da kannste das einfach mit reinpacken ![]()
Bei welchem Callback kann ich dies am besten abfragen?
Na, wenn du einen Aimbot busten willst, dann unter OnPlayerWeaponShot & dann nutze meine 2. Methode mit GetWeaponData ![]()
Ehh..nicht sicher ob das möglich ist..aber wenn, dann so:
kann man bei pawno nicht eine variable in eine andere packen ?
Wie hast denn hours deklariert? ![]()
PS: Die Sprache heißt nur Pawn ![]()
Test und test2 sind die Nachrichten die Gespeichert werden.
Nein ich meine..wenn du darauf klickst...was soll den passieren..welche Nachricht willst du denn sehen..wo ist diese gespeichert ![]()
Wie hast n die Dialogid definiert..und wie sieht n der Code vor OnDialogResponse aus...
und wird der Callback eventuell gar nicht aufgerufen?
Setz mal n print nach ganz oben..wenn er nicht aufgerufen wird...dann check deine Includes & Filterscripts..ob da jemand den Callback dir weghookt ![]()
So is besser:
Setz das mal unter OnPlayerConnect ![]()
Wie sieht denn dein Code unter OnPlayerRequestClass & OnPlayerRequestSpawn aus? ![]()
wenn man draufklickt die Nachricht kommt die er gesendet hat
Ehh...wo hast n die Nachricht gespeichert..das wäre irgendwie relevant xD
Also..Variable..oder Datei..oder wo xD
Oder gibt es tatsächlich irgendwo ein unterschied wo man das obere benutzen könnte, es ist ja langsamer?
Das könntest du ![]()
Theoretisch wäre foreach noch besser ![]()
wie frage ich diese 2 cops ab?
Naja..
stock GetOnlineFrakPlayer(frakid)
{
new counter;
for(new i=GetPlayerPoolSize(); i!=-1; i--) //Ist wie deine Schleife..nur schneller :D Da sie nicht 500 spieler durchloopt sondern nur bis zur höchsten spielerid
{
if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
if(SpielerInfo[i][pFrak] == frakid) counter++; //Dieses SpielerInfo zeug halt auf deine Datenstruktur anpassen...
}
return counter;
}
//Nutzung:
new onlineCops = GetOnlineFrakPlayer(1); //1 = frakid
if(onlineCops < 2) return SendClientMessage(playerid,-1,"* Es sind keine 2 Cops online!");
SendClientMessage(playerid,-1,"* Es sind mehr als 2 Cops online :)");
Alles anzeigen
Hilfe Bitte
Na, selbst ist der Mann.
Öffne das Skript..schau wo der Text steht..und check die Tilden.
Eine Tilde ist folgendes: ~
Stell dir vor der Text ist so:
"Willkommen ~r~TimeLine!"
Das wäre korrekt!
Falsch wäre:
"Willkommen ~rTimeLine!"
Da dort eine Tilde hinter dem ~r fehlt ![]()
Also...such den Text & ergänze oder lösche die Tilde ![]()
Denn wenn 2 Tilden hintereinander stehen: ~~ ist auch falsch ![]()
Mit
Also, wenn ich den Text richtig verstanden habe...hat er es bereits geschafft diese Log Dateien zu speichern..und möchte sie nun auslesen & in einem Dialog anzeigen.
So ginge das:
Überall hast du Stats8[playerid] ... und am Ende Stats8[playerid][8]...was soll dieses [8] ...das einfach löschen ![]()
Toll dank Kaliber ist jetzt Global Gamer gebannt
Hab doch gar nichts gemacht ![]()
Geplant ist es nicht ein 0815 Server zu erstellen, sondern etwas das es so noch nicht gibt oder das einfach besser ist als es woanders vielleicht schon gibt? Wir werden sehen.
Jetzt nicht böse gemeint oder so...aber weißt du wie viele sowas in den letzten Jahren geschrieben haben? ![]()
Du bist zwar erst seit einem halben Jahr hier...aber glaub mir...es wahren SEHR viele...allerdings sind 99.9% von diesen Projekten binnen 1-3 Monaten genauso rasch wieder verschwunden wie sie herkamen.
Meistens wegen Team-Differenzen oder weil keiner so wirklich wusste, was sie tun sollten.
In diesem Sinne, wäre es viel ansprechender, wenn du schreibst, was du dir so vorstellst..und was dein Ziel ist...
Anstatt zu sagen...etwas komplett neues was es noch nie gegeben hat ![]()