Als Beispiel:
new str[64];
str = "Hallo Welt.";
Das "; ist das Ende.
Als Beispiel:
new str[64];
str = "Hallo Welt.";
Das "; ist das Ende.
error 001: expected token: "-string end-", but found "-identifier-"
Hier ist ein Fehler mit einem String, der nicht beendet wird.
error 017: undefined symbol "Best"
"Best" ist nicht deklariert (new).
Poste gegebenenfalls den Code aus den Zeilen, falls du nicht weißt, was du ändern musst.
Ändere
new Float:KD = sInfo[playerid][pKills]/sInfo[playerid][pTode], statshead[128],stats[1024],stats1[1024],stats2[1024];
zu:
new Float:KD, statshead[128],stats[1024],stats1[1024],stats2[1024];
if(sInfo[playerid][pTode] > 0) KD = sInfo[playerid][pKills]/sInfo[playerid][pTode];
else KD = sInfo[playerid][pKills];
Ändere
mysql_function_query(dbhandle,query,false,"","");
zu:
mysql_function_query(dbhandle,query,true,"OnPlayerRegister","d",playerid);
Entferne
SpielerSpeichern(playerid);
aus dem Dialog und füge das hier ganz unten im Gamemode ein:
forward OnPlayerRegister(playerid);
public OnPlayerRegister(playerid)
{
sInfo[playerid][db_id] = cache_insert_id();
return SpielerSpeichern(playerid);
}
Kannst du bitte mal den MySQL Debug Modus einschalten und dann posten was im MySQL Log ausgegeben wird, wenn du den Code ausführst?
Tipps: Scripting-Probleme richtig erklären -> Punkt 4
1000 soll 100% entsprechen?
Dann:
prozent = i / 10;
Da musst du im Code nach der Stelle suchen, an der die Waffe gegeben wird, und dann die Waffen ID ändern.
https://wiki.sa-mp.com/wiki/Weapons
Ja, versuche es.
Dieser Fehler wird oft dadurch verursacht.
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2).
Speichere den Timestamp an dem der Spieler entbannt wird.
Den kannst du dann beim Login prüfen.
new gebanntBis = gettime() + 61 * 24 * 60 * 60; //61 Tage ~2 Monate
//... wie gewohnt in die User-Stats speichern
Beim Login dann prüfen, ob der geladene Wert größer als gettime ist, wenn ja, ist er noch gebannt.
Das kannst du mit dieser Funktion machen:
stock ReturnPlayerID(l_PlayerName[]) //©Jeffry
{
new l_name[MAX_PLAYER_NAME];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
{
if(!strcmp(l_name,l_PlayerName, true)) return i;
}
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
{
if(strfind(l_name,l_PlayerName,true)!=-1) return i;
}
}
return INVALID_PLAYER_ID;
}
Versuche es mit 127.0.0.1 anstatt localhost.
Ich habe dann auch die Include ersetzt, und erhalte folgende Errors wenn ich mein Server starte.
Möglicherweise passt die Include nicht zum Plugin, oder wird das Plugin nicht geladen. Prüfe das mal.
Wie lese ich einen Text aus der Tabelle aus mit der Version MySQL R39-3?
Mit einem SELECT Query, und dann mit:
http://wiki.sa-mp.com/wiki/MySQL/R33#cache_get_field_content
Du benötigst dieses Plugin:
http://forum.sa-mp.com/showthread.php?t=122983
Achte darauf, dass du nur dieses MySQL Plugin laden lässt.
Das kannst du mit der Funktion
native Streamer_CountItems(type, serverwide = 1);
machen.
CreateDynamicObject = Streamer-Objekt (wird nur aufgebaut, wenn es unter den nächsten X (default: ~800) Objekten ist.
CreateObject = SA-MP Funktion, Objekt existiert immer, egal wie weit weg von allen Spielern.
Wenn man den Streamer nutzt, sollte man soweit möglich alles mit CreateDynamicObject erstellen.
Das sind etwas höhere Ladezeiten, möglicherweise abhängig von der Performance des Codes. Wenn du es auf 6000 setzt sollte die Meldung nicht mehr kommen, ist ja nur 29 drüber.
Füge diese Zeile:
GetPlayerPos(playerid,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
mal vor die CreateDynamic3DTextLabel - Zeile ein. Jeweils für alle, also entsprechend beim Business und beim Schwarzmarkt, eben die jeweiligen GetPlayerPos-Zeilen. Ob das was bringt.
Ohne eine Fehlermeldung des crashdetect Plugins kann ich dir leider nicht helfen, sorry.
Da bleibt dir nur noch die Möglichkeit, den Code Zeile für Zeile mit prints zu debuggen.
Oder du setzt dich mit deinem Host in Verbindung, warum das crashdetect Plugin nicht geladen werden kann.
Ohne Code können wir dir nicht helfen.