Beiträge von Jeffry
-
-
In deiner Spieler Tabelle eine Spalte Leader anlegen, mit dem Datentyp INT.
Im query nutzt du dann %d anstatt %s.Probiere es doch einfach mal aus, dein Rechner wird schon nicht explodieren. Wenn es nicht klappt, dann poste den Code und den Log.
-
Erstens:
Wenn du deine ursprünglichen Posts löschst, dann widersprichst du dem Sinn eines Forums zu 100%.Zweitens:
Poste den Log vom Speichern, und zwar alles was da kommt und nicht wieder nur die Hälfte. -
Dann musst du natürlich Das query anpassen, auf WHERE Name =... Und dann mit dem Spielername oder der ID in der Datenbank. Ich weiß ja nicht wie deine Datenbank aufgebaut ist, das musst du schon selbst wissen.
Dann kannst du mit Leader und Rang auch als Integer arbeiten.
-
Dir fehlt die Spalte "spawnchange" in der Tabelle deiner Datenbank.
Lege diese Spalte in der Struktur der Tabelle an. -
Sag mal, liest du eigentlich was man dir schreibt?
Du sollst nicht den gesamten Post mit allen Codes zitieren, da steht ja dann alles doppelt da, wo ist der Sinn!?Poste bitte den Log wenn du den Spieler speicherst. Wenn da, wie du sagst, ein Error ist, dann solltest du den auch posten.
-
Was?!
Wie hast du denn bInfo und hInfo deklariert? -
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new w = GetPlayerWeapon(playerid);
if((newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER) && w != 24 && w != 25) SetPlayerArmedWeapon(playerid, 0);
return 1;
} -
Poste das doch...

Darum geht es ja. -
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_PASSENGER || newstate == PLAYER_STATE_DRIVER) SetPlayerArmedWeapon(playerid, 0);
return 1;
}Das würde es komplett ausschalten.
Außnahmen kannst du mit GetPlayerWeapon einbauen.
Falls du es für den Fahrer erlauben willst, nimm das PLAYER_STATE_DRIVER Teil raus. -
...
Debugge es doch einfach mal, anstatt dass jetzt jeder an jeder if-Abfrage rumrät.
ocmd:enter(playerid,params[])
{
printf("1");
for(new i=0; i<sizeof(bInfo); i++)
{
printf("i: %d", i);
printf("Range: %d", IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]));
if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
printf("tp");
SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
SetPlayerInterior(playerid,bInfo[i][b_interior]);
SetPlayerVirtualWorld(playerid,i);
SetPlayerShopName(playerid,bInfo[i][b_shopname]);
return 1;
}
printf("2");
for(new i=0; i<sizeof(hInfo); i++)
{
printf("i: %d", i);
printf("id: %d", hInfo[i][h_id]);
if(!hInfo[i][h_id])continue;
printf("x: %f", hInfo[i][ih_x]);
if(hInfo[i][ih_x]==0.0)continue;
printf("strlen: %d", strlen(hInfo[i][h_besitzer]));
if(!strlen(hInfo[i][h_besitzer]))continue;
printf("mieter: %d", isplayermieter(playerid));
if(!isplayermieter(playerid))continue;
printf("vor namen");
if(strcmp(hInfo[i][h_besitzer],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter],getPlayerName(playerid),true) && strcmp(hInfo[i][h_mieter2],getPlayerName(playerid),true))continue;
printf("Range: %d", IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]));
if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))continue;
printf("tp");
SetPlayerPos(playerid,hInfo[i][ih_x],hInfo[i][ih_y],hInfo[i][ih_z]);
SetPlayerInterior(playerid,hInfo[i][h_interior]);
SetPlayerVirtualWorld(playerid,i);
return 1;
}
printf("Ende");
return 1;
}Was steht im Log, wenn du den Befehl eingibst?
-
Was sagt denn der Log jetzt beim speichern und beim laden? Beide Logs bitte posten.
Und gewöhne dir bitte an, nicht den ganzen Post mit allen Codes zu zitieren, das macht den Thread sehr unübersichtlich.
-
Das hättest du auch mit Google selbst finden können.
http://forum.sa-mp.com/showthread.php?t=102865Das Streamer Plugin ist der beste Streamer, da er die meisten Funktionen und die beste Performance bietet.
-
Zitat
[20:34:14] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0',spawnchange='2000' WHERE id='3'' at line 1
Da hat ein Anführungszeichen gefehlt:
format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i,rang='%i',spawnchange='%i' WHERE id='%i'",sInfo[playerid][level],
Zu
format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',spawnchange='%i' WHERE id='%i'",sInfo[playerid][level], -
Es wurde kein Fahrzeug gespeichert, also entweder hast du kein Fahrzeug erstellt, oder die Speicherfunktion funktioniert nicht, oder das erstellen des Fahrzeugs geht nicht mehr (dann hast du da was geändert).
Versuche es nochmal, dann siehst du ja ob das Fahrzeug gespeichert wird.
Wenn nicht, poste bitte den Code mit dem du das Fahrzeug erstellst/kaufst und den mit dem du es speicherst, so wie der Code jetzt ist, denn das hatte bereits funktioniert. -
Was sagt der MySQL Log, wenn du den Spieler speicherst?
Und wie lädst du den Spieler, und was sagt der Log da? -
ich suche einen Grill. Dieser war einmal (?) in einer Zwischensequenz beim GTA:SA im Singleplayer zu sehen.
Objekt ID: 1481 -
Zitat
An error has occured. (Error ID: 1054, Unknown column 'fname' in 'where clause')
Die Spalte fname gibt es in deiner Tabelle in der Datenbank nicht. Füge sie hinzu, dann geht es. -
Mache einfach diesen Timer hier weg, dann geht es:
SetTimerEx("StopSound",100,false,"i",playerid); -
Hast du dazu auch deinen aktuellen Code, sowie den MySQL Log?