Also das Query ist korrekt.
Wahrscheinlich ist die query Variable zu klein.
Beiträge von Jeffry
-
-
format(query, sizeof(query), "UPDATE Autos SET c_x='%f',c_y='%f',c_z='%f',c_r='%f' WHERE id='%i'",aInfo[i] [c_x],aInfo[i] [c_y],aInfo[i] [c_z],aInfo[i] [c_r],aInfo[i] [db_id]);
zu:
format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",aInfo[i] [c_x],aInfo[i] [c_y],aInfo[i] [c_z],aInfo[i] [c_r],aInfo[i] [db_id]); -
ocmd:spawnchange(playerid,params[])
{
if(isPlayerInFrakt(playerid,0)) return SendClientMessage(playerid,rot,"Du bist in keiner Fraktion.");
if(sInfo[playerid][spawnchange] == 0)
{
sInfo[playerid][spawnchange] = 1;
}
else
{
sInfo[playerid][spawnchange] = 0;
}
savePlayer(playerid);
SendClientMessage(playerid,grün,"Spawn geändert");
return 1;
} -
Also, das mit den Privaten Fahrzeugen kann ich dir so nicht direkt zeigen, dazu fehlt der entsprechende Code, das kannst du aber auch selbst einfügen, du schaust einfach, wie du sonst diese Fahrzeuge erstellst und setzt das dann an die "new vID..." Stelle.
Gegebenenfalls nimmst du hier auch lieber einen switch, ich habe es aber mal so gelassen wie du angefangen hast:
if(dialogid == DIALOG_GUTSCHEINCARTAKE)
{
if(listitem == 0)//Sultan 560
{
new Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
new vID = CreateVehicle(560, x, y, z, a, -1, -1, -1);
PutPlayerInVehicle(playerid, vID, 0);
GiveRandomNeon(vID, playerid);
return 1;
}
if(listitem == 1) //Infernus 411
{
}
if(listitem == 2)//Turismo 451
{
}
if(listitem == 3)//Cheetah 415
{
}
if(listitem == 4)//Premiuer 426
{
}
if(listitem == 5)//Banshee 429
{
}
if(listitem == 6)//Zr350 477
{
}
if(listitem == 7)//Comet 480
{
}
if(listitem == 8)//Bullet 541
{
}
if(listitem == 9)//jester 559
{
}
}Unten im Gamemode:
stock GiveRandomNeon(vehicleid, playerid)
{
switch(random(6))
{
case 0: //Blau//hier wenn man Blau anklickt im Dialog wird der Befehl weiter ausgeührt
{
SetPVarInt(playerid, "neon", CreateObject(18648,0,0,0,0,0,0,283));
SetPVarInt(playerid, "neon1", CreateObject(18648,0,0,0,0,0,0,283));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), vehicleid, 0.8,0,-0.70,0,0,0);//Hier werden die Neonröhren unter das Auto gemacht also ans auto gehängt das machen wir
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), vehicleid, -0.8,0,-0.70,0,0,0);
HatSchonNeon[playerid] = 1;
}
case 1: //Grün
{
SetPVarInt(playerid, "neon", CreateObject(18649,0,0,0,0,0,0,283));
SetPVarInt(playerid, "neon1", CreateObject(18649,0,0,0,0,0,0,283));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), vehicleid, 0.8,0,-0.70,0,0,0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), vehicleid, -0.8,0,-0.70,0,0,0);
HatSchonNeon[playerid] = 1;
}
case 2: //Rot
{
SetPVarInt(playerid, "neon", CreateObject(18647,0,0,0,0,0,0,283));
SetPVarInt(playerid, "neon1", CreateObject(18647,0,0,0,0,0,0,283));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), vehicleid, 0.8,0,-0.70,0,0,0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), vehicleid, -0.8,0,-0.70,0,0,0);
HatSchonNeon[playerid] = 1;
}
case 3: //Weiß
{
SetPVarInt(playerid, "neon", CreateObject(18652,0,0,0,0,0,0,283));
SetPVarInt(playerid, "neon1", CreateObject(18652,0,0,0,0,0,0,283));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), vehicleid, 0.8,0,-0.70,0,0,0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), vehicleid, -0.8,0,-0.70,0,0,0);
HatSchonNeon[playerid] = 1;
}
case 4: //Gelb
{
SetPVarInt(playerid, "neon", CreateObject(18650,0,0,0,0,0,0,283));
SetPVarInt(playerid, "neon1", CreateObject(18650,0,0,0,0,0,0,283));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), vehicleid, 0.8,0,-0.70,0,0,0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), vehicleid, -0.8,0,-0.70,0,0,0);
HatSchonNeon[playerid] = 1;
}
case 5: //Pink
{
SetPVarInt(playerid, "neon", CreateObject(18651,0,0,0,0,0,0,283));
SetPVarInt(playerid, "neon1", CreateObject(18651,0,0,0,0,0,0,283));
AttachObjectToVehicle(GetPVarInt(playerid, "neon"), vehicleid, 0.8,0,-0.70,0,0,0);
AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), vehicleid, -0.8,0,-0.70,0,0,0);
HatSchonNeon[playerid] = 1;
}
}
}Es muss dazu gesagt werden, dass dein Neon System natürlich nicht so toll ist, denn jeder Spieler kann nur ein Fahrzeug mit Neon haben, da du die Objekt-IDs in den Spieler-Variablen speicherst.
Schau mal ob du damit klar kommst. Aber wie gesagt, das ganze System kann ich dir nicht schreiben. Wenn das jemand machen soll, dann wäre das wohl was für den Marktplatz.Ich weiß nicht ob deine PlayerCars schon speichern, aber falls nicht, kannst du nach diesem Tutorial vorgehen, ist vom Prinzip her gleich: [ SCRIPTING ] [jTuT] Fraktions-Fahrzeug-System mit MySQL R39-2
-
Was heißt, nicht da wo du es haben willst? Wo parkt es?
-
Du hast da eine Klammer zu viel.
if(aInfo[i][besitzer] == sInfo[playerid][db_id]))
zu:
if(aInfo[i][besitzer] == sInfo[playerid][db_id]) -
Genau, mysql_pquery nutzt Multi-Threading. http://wiki.sa-mp.com/wiki/MySQL/R33#mysql_pquery
Daher ist es schneller. Allerdings wird es weniger häufig verwendet, da es erst in R35 hinzu kam.mysql_function_query scheint es in den neuen Versionen nicht mehr zu geben, es ist oft soweit ich weiß nur als Makro hinterlegt, und nutzt je nach Makro eines der beiden anderen.
-
Ja.
besitzer[MAX_PLAYER_NAME],
zu:
besitzer, -
Ja!

if(!strcmp(aInfo[i][besitzer], SpielerName(playerid)))
zu:
if(aInfo[i][besitzer] == sInfo[playerid][db_id])Und im enum zu aInfo das [MAX_PLAYER_NAME] entfernen.
-
Lade dir hier die aktuelle SA-MP Server Version herunter und füge deine Codes und Plugins dort ein:
http://files.sa-mp.com/samp037_svr_R1_win32.zipScriptfiles nicht vergessen.
-
Nein, du musst im public die Werte aus dem Cache auslesen und das Textdraw in diesem public aktualisieren.
-
Ja, das kann ich lesen. Darum geht es aber gar nicht, sondern um die Zeile drunter.
Ich frage nun zum letzten mal: Wie weist du der Variable Besitzer von aInfo den Wert zu? Poste dazu gegebenfalls das Laden der Fahrzeuge. -
Hast du dir das Tutorial nicht angeschaut, dass ich dir zuvor gegeben habe?
Da steht bei dem Punkt Converting, wie du das machst. -
Bei einem SELECT: Ja. Außer du verzichtest explizit darauf, was nicht empfohlen ist. Also: Ja.
Bei einem UPDATE/INSERT: Nicht unbedingt, da du da keinen Cache benötigst (es kommt ja nichts (bzw. nicht immer) was zurück). -
Hast du das .NET Framework installiert?
https://www.microsoft.com/de-d…oad/details.aspx?id=30653
Gegebenenfalls die 3.5 Version?Oder diese MSVC Version (x86 Version): https://www.microsoft.com/de-d…oad/details.aspx?id=30679
-
Ja, das kann sein, dass das Plugin auch nicht geladen wird. Zeig bitte alles vom Log, also vom Server-Start an. Steht da beim MySQL Plugin auch Failed?
Sscanf scheint ja jetzt zu klappen. -
SIcher, dass du den Befehl neu eingefügt hast und kompiliert hast? Es hat sich nämlich nichts geändert.
Zwecks dem Code: Es fehlt noch immer der Code mit dem du den Besitzer in die Variable lädst. -
Dann benötigst du dieses Plugin:
https://code.google.com/p/sa-m…ysql-r31-win.rar&can=1&q=Zwecks sscanf:
Versuche mal die aktuellen und älteren MSVC's zu installieren, oder mindestens .NET 3.5.
Zum Beispiel: http://www.microsoft.com/en-us…confirmation.aspx?id=5555 -
Beim Ban:
SetPVarInt(playerid,"Banned",1);
zu:
PlayerInfo[playerid][pBan] = 1;Und beim Login:
if(GetPVarInt(playerid,"Banned") ==1)
zu:
if(PlayerInfo[playerid][pBan] == 1) -
Mit der alten MySQL Include kannst du es kompilieren? Kannst du mal in die Include schauen, welche Version da drin steht?