Guten Tag.
Ich frage mich wie mache ich nun ein autopark befehl so das die autos in der DB abgespeichert werden?
Guten Tag.
Ich frage mich wie mache ich nun ein autopark befehl so das die autos in der DB abgespeichert werden?
hast du sowas wie ein "Carenum" ? Wenn Ja dann schick mal bitte die Codes
Mein AutoEnum:
enum AutoSystemEnum{
Fahrzeugid,
Besitzer[MAX_PLAYER_NAME],
model,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
db_id
Mir geht es darum ich will ein befehl mit ocmd machen
Hier...
ocmd:autoparken(playerid,params[])
{
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,C_Error,"Du bist nicht in einem Fahrzeug.");
new veh = GetPlayerVehicleID(playerid);
for(new i=0; i<sizeof(cInfo); i++) //evlt. halt cInfo an dein Script anpassen...
{
if(cInfo[i][Fahrzeugid] != veh)continue;
GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
new query[256];
format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][db_id]);// Datenbank "autos" an dein Script anpassen.
mysql_function_query(dbhandle,query,false,"",""); //dbhandel anpassen...
return SendClientMessage(playerid,-1,"Fahrzeug wurde geparkt.");
}
return 1;
}
Ich hoffe ich konnte dir weiterhelfen (Denk daran die Sachen an dein Script anzupassen!)
MFG German_ScripterHD
Auto wird nicht an der neuen Position geparkt
Schau dir mein Tutorial an:
[ SCRIPTING ] [jTuT] Fraktions-Fahrzeug-System mit MySQL R39-2
Da habe ich das alles erklärt. Den Fraktions-Teil kannst du ja weg lassen, falls du das nicht brauchst.
das tutorial brinkt mir ja nichts wenn es für fraktion sind
Deshalb sagte ich ja:
Den Fraktions-Teil kannst du ja weg lassen, falls du das nicht brauchst.
Das System ist an sich fast identisch, nur dass du eben die Fraktion weg lässt und den Code unter OnPlayerEnterVehicle. Der Rest ist gleich. 95% kannst du 1:1 übernehmen.
Sollte so in etwa passen, kleinigkeiten musst du verändern.
ocmd:parken(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:r;
for (new i = 0; i < sizeof(cInfo); i++)
{
if(!strcmp(cInfo[i][Besitzer], SpielerName(playerid))
{
//Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
if(!IsPlayerInAnyVehicle(playerid))return SendclientMessage(playerid, COLOR_RED, "Du bist in kein Auto!");
GetVehiclePos(cInfo[i][id_x], x, y, z);
GetVehicleZAngle(cInfo[i][id_x], r);
new vID = GetPlayerVehicleID(playerid);
if(vID == cInfo[i][id_x])
{
new query[128];
cInfo[i][c_x] = x;
cInfo[i][c_y] = y;
cInfo[i][c_z] = z;
cInfo[i][c_r] = r;
format(query, sizeof(query), "UPDATE autos SET c_x='%f', c_y='%f, c_z='%f', c_r='%f' WHERE besitzer='%s'", x, y, z, r, cInfo[i][Besitzer]);
mysql_function_query(handle, query, false, "", "");
SendClientMessage(playerid, COLOR_GREEN, "Du hast dein Auto geparkt.");
return 1;
}
return SendClientMessage(playerid, COLOR_RED, "Du sitzt nicht in deinem Auto!");
}
}
return SendClientMessage(playerid, COLOR_RED, "Du besitzt kein Auto!");
}
Hier mein AutoEnum
enum AutoSystemEnum{
Fahrzeugid,
Besitzer[MAX_PLAYER_NAME],
model,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
db_id
}
ocmd:parken(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:r;
for (new i = 0; i < sizeof(AutoInfo); i++)
{
if(!strcmp(AutoInfo[i] [Besitzer],MAX_PLAYER_NAME(playerid));
{
//Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
GetVehiclePos(AutoInfo[i][Fahrzeugid], x, y, z);
GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
new vID = GetPlayerVehicleID(playerid);
if(vID == AutoInfo[i] [Fahrzeugid])
{
new query[128];
AutoInfo[i][c_x] = x;
AutoInfo[i][c_y] = y;
AutoInfo[i][c_z] = z;
AutoInfo[i][c_r] = r;
format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
return 1;
}
return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
}
}
return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");
}
geht nicht.
Der fehler code gehört zu den ocmd-befehl:
lernen.p(483) : error 029: invalid expression, assumed zero
lernen.p(483) : warning 215: expression has no effect
lernen.p(483) : error 001: expected token: ";", but found ")"
lernen.p(483) : error 029: invalid expression, assumed zero
lernen.p(483) : fatal error 107: too many error messages on one line
if(!strcmp(AutoInfo[i] [Besitzer],MAX_PLAYER_NAME(playerid));
zu:
if(!strcmp(AutoInfo[i] [Besitzer],SpielerName(playerid)))
Hier der ganze befehl:
ocmd:parken(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:r;
for (new i = 0; i < sizeof(AutoInfo); i++)
{
if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid))
{
//Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
GetVehiclePos(AutoInfo[i][Fahrzeugid], x, y, z);
GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
new vID = GetPlayerVehicleID(playerid);
if(vID == AutoInfo[i] [Fahrzeugid])
{
new query[128];
AutoInfo[i][c_x] = x;
AutoInfo[i][c_y] = y;
AutoInfo[i][c_z] = z;
AutoInfo[i][c_r] = r;
format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
return 1;
}
return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
}
}
return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");
}
Fehler code bezieht sich auf ocmd-befehl:
lernen.p(483) : error 017: undefined symbol "SpielerName"
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}
Ganz unten im Gamemode einfügen.
ocmd:parken(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:r;
for (new i = 0; i < sizeof(AutoInfo); i++)
{
if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid))
{
//Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
GetVehiclePos(AutoInfo[i][Fahrzeugid], x, y, z);
GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
new vID = GetPlayerVehicleID(playerid);
if(vID == AutoInfo[i] [Fahrzeugid])
{
new query[128];
AutoInfo[i][c_x] = x;
AutoInfo[i][c_y] = y;
AutoInfo[i][c_z] = z;
AutoInfo[i][c_r] = r;
format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
return 1;
}
return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
}
}
return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");
}
ocmd-befehl-fehlercod:
lernen.p(484) : error 001: expected token: ")", but found "{"
if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid))
zu:
if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid)))
Ich hatte dir es aber zuvor richtig gegeben.
autos werden nicht gepakt und ich weiss nicht wo ich den fehler gemacht haben soll:
ocmd:autoparken(playerid, params[])
{
new Float:x, Float:y, Float:z, Float:r;
for (new i = 0; i < sizeof(AutoInfo); i++)
{
if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid)))
{
//Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
GetVehiclePos(AutoInfo[i][Fahrzeugid], AutoInfo[i][c_x],AutoInfo[i][c_y],AutoInfo[i][c_z]);
GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
new vID = GetPlayerVehicleID(playerid);
if(vID == AutoInfo[i] [Fahrzeugid])
{
new query[128];
AutoInfo[i][c_x] = x;
AutoInfo[i][c_y] = y;
AutoInfo[i][c_z] = z;
AutoInfo[i][c_r] = r;
format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
mysql_function_query(dbhandle,query,false," "," ");
SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
return 1;
}
return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
}
}
return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");
Hast du auch db_id in der Datenbank so stehen?
WHERE db_id
Oder hast du nur dort id stehen?
Pascal mit dein WHERE db_id kann ich jetzt garnicht helfen wenn ich nicht weiss woher du das jetzt gezogen hast und woher soll ich nun wissen was du meinst