hoffe ihr könnt mir Helfen
Downloade dir dieses Plugin: http://forum.sa-mp.com/showthread.php?t=249226
und poste dann mal, was in den Logs steht ![]()
mfg. ![]()
hoffe ihr könnt mir Helfen
Downloade dir dieses Plugin: http://forum.sa-mp.com/showthread.php?t=249226
und poste dann mal, was in den Logs steht ![]()
mfg. ![]()
Naja, würde trotzdem auf ein Define zurückgreifen und nicht auf die Funktion
Er macht es ja so:
for(new i=0; i<GetMaxPlayers(); i++)
Das ist natürlich sehr schlecht. So wird nämlich immer die Funktion aufgerufen und somit dauert das wesentlich länger als das Define.
Was aber zeitgleich (fast bis auf ein paar hunderstel Nanosekunden) gleich ist, ist diese Schleife:
for(new i,l=GetMaxPlayers(); i<l; i++)
Dann würde man die Funktion gut nutzen und zeitlich gesehen, ist es genauso schnell ![]()
mfg. ![]()
Oh man...das wird sich noch ewig ziehen, wenn das so weiter geht...
Wenn du schnelle und direkte Hilfe willst, schick mir kurz deine TeamViewer Daten per PN, dann helf ich dir schnell und hier wird nicht so gespammt ![]()
mfg. ![]()
passt doch auch nicht, oder? Weil wenn 500 Leute drauf sind und dann die IDs von 100-300 z.B. offline gehen, dann werden ja nur die IDs von 0-300 Überprüft, aber die von User mit 300-500 werden ausgelassen, oder irre ich mich?
Du irrst dich.
GetMaxPlayers() gibt dir die Anzahl der eingestellten Server Slots aus der server.cfg wieder ![]()
Sprich wie viele Leute maximal auf den Server joinen könen sieht immer so aus (0/100...0/200) << das ist das, dieses Maximum ![]()
mfg. ![]()
Auch von mir, alles Gute Kones ![]()
Schreibs mal so:
if(GetPVarInt(playerid,"SwatDuty") || GetPVarInt(playerid,"AdminDuty") || GetPVarInt(playerid,"Maske")) {
SetPlayerName(playerid, OldUsername[playerid]);
}
Wenn das nicht geht, sind die Bedingungen nicht erfüllt, teste es dann mit einem print-Debug und überprüf nochmal die Befehle ![]()
mfg. ![]()
Du kannst deine Frage auch hier in dem Thread stellen...dafür ist das Forum ja dar.
mfg. ![]()
Selbst das wird nicht funktionieren, denn wenn da steht "Du Nutte" ist es nach dem System gültig
Stimmt...Gott was heute nur los mit mir ![]()
Nutze dafür strfind:
for(new i=0;i<sizeof(Badword);i++)if(strfind(text,Badword[i]) != -1)return Kick(playerid);
mfg. ![]()
In welcher Zeile steht das...und wo deklarierst du die Variable, indem du das enum verwendest?
mfg. ![]()
Vorsicht! Das Forensystem konnte nicht geladen werden!
Check mal die Forendaten ab ![]()
mfg. ![]()
so würde random nur eine wert zwischen 0 und der string länge zurück geben jedoch nicht die entsprechenden spielerids
Oh stimmt, ganz vergessen ![]()
Du kannst keine playerid Verschiebung während der Spieler auf dem Server ist machen. ![]()
Fix einfach den Bug in deinem Afk Befehl, dann hast du solche Probleme nicht! ![]()
PS: Das bei pRP kann auch nur an Bots liegen.
mfg. ![]()
MySQL Plugin auch downloaden und die includes natürlich ersetzen und Script mit neuen Includes nochmal compilieren...
mfg. ![]()
//Edit:
Also downloade dir folgende Plugins:
Incognito Streamer
sscanf Plugin
Audio Plugin
Whirepool Plugin / native
mfg. ![]()
Es funktioniert aber immernoch nicht, es steht ingame immer noch "Server unknow command".
Wäre cool, wenn du nochmal gucken könntest
Das Adminlevel muss größer gleich 2 sein ![]()
mfg. ![]()
Nun, einen Adminbefehl kannst du z.B. so machen:
static const a_rang2[][] = {"Supporter","Moderator","Super-Moderator","stelv. Projektleitung","Projektleiter"};
dcmd_makeadmin(playerid, params[])
{
if(!SpielerD[playerid][Adminlevel]) return SendClientMessage(playerid,ROT,"Du bist kein Admin und bist deshalb nicht befugt!");
new pID,level,string[144];
if(sscanf(params,"ud",pID,level)) return SendClientMessage(playerid,ROT,"Verwendung: /makeadmin [spielerid] [Adminlevel]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Ein Spieler mit dieser ID ist nicht online!");
format(string,144,"Du hast %s den adminrang %s gegeben!",getPlayerName(pID),a_rang2[level-2]);
SendClientMessage(playerid,BLAU,string);
format(string,144,"Du hast von %s den Adminrang %s bekommen!",getPlayerName(playerid),a_rang[level-2]);
SendClientMessage(pID,BLAU,string);
SpielerD[pID][Adminlevel] = level;
return 1;
}
mfg. ![]()
relativ gängig ist ja die Methode, eine Code folgendermaßen zu schreiben.
In deinem Beispiel kannst du auch einfach es so schreiben:
SendClientMessage(playerid,-1,input);
Da musst du das nicht nochmal in einen anderen String schreiben.
new index = strlen(input),string[input];
Das ist leider nicht möglich, da index kein Konstanter Wert ist und in Pawn nur konstante Werte in ein Array geschrieben werden können.
Deshalb ist sowas möglich:
#define MAX_ARRAY 100
new test[MAX_ARRAY];
//Aber auch folgendes:
const MAX_ARRAY = 100;
new test[MAX_ARRAY];
Du musst halt immer versuchen die optimale Länge zu finden, aber es gibt auch bestimmte Plugins die dir Memory access erlauben, z.B.:
http://gta-sa-mp.de/forum/3-sa…393-memory-access-plugin/
mfg. ![]()
Du kannst das auch so machen:
static const a_rang[][] = {"Supporter","Moderator","Super-Moderator","stelv. Projektleitung","Projektleiter"}; //Oben ins Script
dcmd_print(playerid, params[])
{
if(!params[0]) return SendClientMessage(playerid, ROT,"Verwendung: /print [nachricht]");
if(SpielerD[playerid][Adminlevel] < 2) return SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig für diesen Befehl!");
new text[144];
format(text,sizeof text,"~n~~n~~n~~n~~n~~n~~B~%s: ~W~%s",a_rang[SpielerD[playerid][Adminlevel]-2],params);
return GameTextForAll(text, 2000, 5);
}
mfg. ![]()