@Music4You:
Heißt das ich sollte das weglassen ? das id =
oder sollte ich das so machen?
vehicleid = CreateVehicle
@Music4You:
Heißt das ich sollte das weglassen ? das id =
oder sollte ich das so machen?
vehicleid = CreateVehicle
@Music4you:
Bitteschön
COMMAND:createfcar(playerid, params[])
{
new model, frakid, Float:px, Float:py, Float:pz, Float:pa, color, color2, query[266], id;
if(!isPlayerAnAdmin(playerid, 5)) return SendClientMessage(playerid, HELL_GRAU,#SERVERTAG": Du hast nicht die benötigten Rechte diesen Befehl auszuführen.");
if(sscanf(params,"iiii", model, color, color2, frakid)) return SendClientMessage(playerid, HELL_GRAU,"Benutzung: /createfcar [Model] [Farbe] [Farbe] [FraktionsID]");
GetPlayerPos(playerid, px, py, pz);
GetPlayerFacingAngle(playerid, pa);
id = CreateVehicle(model, px, py, pz, pa, color, color2, -1);
SendClientMessage(playerid, HELL_GRAU,"Du hast ein Fraktionsauto erstellt");
format(query, sizeof(query),"INSERT INTO frakveh (ID, Fraktion_ID, Model, Position_x, Position_y, Position_z, Angle_a, Farbe, Farbe2) VALUES ('%i', '%i', '%i', '%f', '%f', '%f', '%f', '%i', '%i')",
id, frakid, model, px, py, pz, pa, color, color2);
mysql_function_query(dbhandle, query, false, "", "");
return 1;
}
Alles anzeigenbenutze mal statt MAX_VEHICLES was anderes,
#define cars 100 oder so.
und wenn du nur eine funktion bei ner abfrage brauchst du keine {}
COMMAND:fpark(playerid, params[])
{
new Float:px, Float:py, Float:pz, Float:pa, query[286], vehicleid = GetPlayerVehicleID(playerid), str[128];
if(!isPlayerAnAdmin(playerid, 5)) return SendClientMessage(playerid, HELL_GRAU,#SERVERTAG": Du hast nicht die benötigten Rechte diesen Befehl auszuführen.");
GetVehiclePos(vehicleid, px, py, pz);
GetVehicleZAngle(vehicleid, pa);
for(new i=0; i<max_vehicles; i++)
{
if(vehicleid == fVehicle[i][ID])
{
format(query,sizeof(query),"UPDATE frakveh SET Position_x = '%f', Position_y = '%f', Position_z = '%f', Angle_a = '%f' WHERE ID = '%i'",
px, py, pz, pa, fVehicle[i][ID]);
mysql_function_query(dbhandle, query, false , "", "");
format(str, sizeof(str),"Du hast VehicleID: %i auf den Koordinaten %f %f %f %f geparkt", vehicleid, px, py, pz, pa);
SendClientMessage(playerid, DUNKEL_BLAU, str);
}
else return SendClientMessage(playerid, HELL_GRAU,"FEHLER");
}
return 1;
}
Ne klappt nicht, hatte es als erstes mit FRAK_VEHICLES doch das Ergebnis bleibt gleich
Da ich ein ähnliches Problem habe frage ich am besten hier.
Bei mir wird das Auto geparkt, aber nur das erste Auto. Das zweite kann man nicht parken.
Und das ist der Code.
COMMAND:fpark(playerid, params[])
{
new Float:px, Float:py, Float:pz, Float:pa, query[286], vehicleid = GetPlayerVehicleID(playerid), str[128];
if(!isPlayerAnAdmin(playerid, 5)) return SendClientMessage(playerid, HELL_GRAU,#SERVERTAG": Du hast nicht die benötigten Rechte diesen Befehl auszuführen.");
GetVehiclePos(vehicleid, px, py, pz);
GetVehicleZAngle(vehicleid, pa);
for(new i=0; i<MAX_VEHICLES; i++)
{
if(vehicleid == fVehicle[i][ID])
{
format(query,sizeof(query),"UPDATE frakveh SET Position_x = '%f', Position_y = '%f', Position_z = '%f', Angle_a = '%f' WHERE ID = '%i'",
px, py, pz, pa, fVehicle[i][ID]);
mysql_function_query(dbhandle, query, false , "", "");
format(str, sizeof(str),"Du hast VehicleID: %i auf den Koordinaten %f %f %f %f geparkt", vehicleid, px, py, pz, pa);
SendClientMessage(playerid, DUNKEL_BLAU, str);
}
else
{
return SendClientMessage(playerid, HELL_GRAU,"FEHLER");
}
}
return 1;
}
Also das Tutorial finde ich wirklich sehr interessant und etwas leichter als die anderen Funktionen. Ich werde mich mal hinsetzen und Script darauf basierend schreiben.
Also ich finde diese Map nicht wirklich schön. Ich mappe selbst und bin deswegen auch strenger bei Bewertungen.
Von aussen ist es unsauber gemappt, die Objecte sind nicht aufeinandere abgestimmt. Sieht man am Eingang Oben
Das Interior wirkt etwas lame, ist nicht wirklich etwas was mich fasziniert. Einwenig Texturen miteinbringen und sauberer mappen, dann wird das schon besser
Und die Lichter muss ich eh nicht erwähnen.
4/10
Ps. In Zukunft solltest du besser Screens zeigen, da man in Videos viele Fehler vertuschen kann
Das ist irgendwie voll kompliziert für mich .. :S. Wird wohl etwas dauern bis ich das drauf habe.
Alles klar, also muss man nirgends im Script sagen "starte dieses Public".
Nur das verstehe nicht ganz
#define mysql_query(%1,%2,%3,%4) \
mysql_function_query(%4, %1, false, "OnQueryFinish", "siii", %1, %2, %3, %4)
Wieso define mysql_query, muss man da nicht new mysql_query['größe'] machen ?
Und die Zahlen %1,%2 usw, wofür stehen die ?
Ah okay danke.
Ich hätte da noch eine Frage, woher weiß das Script wann dieses Public aufgerufen werden soll ?
Sry für solche Fragen, bin dabei es zu lernen und würde gerne alles versetehen was ich mache
Also ich hab da eine Frage.
Hier bei
mysql_function_query(handle,"SELECT * From accounts",true,"LoadPlayers","");
Bei SELECT Anfragen sollte ja der Cache auf true sein, das verstehe ich. Muss man dann immer einen Public angeben wie hier im Beispiel LoadPlayers ?