Erstmal brauchst du für deine Debug-Nachricht nicht printf sondern nur print ;D
Ich weiss, aber eigentlich ist es ja völlig rille, ob dort nun "print" oder "printf" steht. Ausserdem war das nicht meine Frage.
Erstmal brauchst du für deine Debug-Nachricht nicht printf sondern nur print ;D
Ich weiss, aber eigentlich ist es ja völlig rille, ob dort nun "print" oder "printf" steht. Ausserdem war das nicht meine Frage.
Huhu,
ich habe ein Carsystem über MySQL, nun auch eine weitere Tabelle für Autohäuser, bzw. die Fahrzeuge davon.
Wenn ich jetzt die Fahrzeuge vom Autohaus auslese und spawnen lasse, überschreiben sich die ID´s.
Hier mal mein stock, wo er die Autohausfahrzeuge lädt.
stock LoadAutohausCar() {
new str[128];
printf("*~*~*~*~* Autohäuser und die Cars werden gelesen und geladen.. *~*~*~*~*");
for(new v = 0; v < MAX_VEHICLES; v++) {
Autohaeuser[v][VehID] = mysql_GetCarInt("autohaus", "VehicleID", "ID", v);
Autohaeuser[v][Autohaus] = mysql_GetCarInt("autohaus", "Autohaus", "ID", v);
Autohaeuser[v][SpawnX] = mysql_GetCarFloat("autohaus", "SpawnX", "ID", v);
Autohaeuser[v][SpawnY] = mysql_GetCarFloat("autohaus", "SpawnY", "ID", v);
Autohaeuser[v][SpawnZ] = mysql_GetCarFloat("autohaus", "SpawnZ", "ID", v);
Autohaeuser[v][SpawnAngel] = mysql_GetCarFloat("autohaus", "SpawnAngel", "ID", v);
Autohaeuser[v][Preis] = mysql_GetCarInt("autohaus", "Pres", "ID", v);
Autohaeuser[v][Verkauf] = mysql_GetCarInt("autohaus", "Verkauf", "ID", v);
Autohaeuser[v][Nummernschild] = mysql_GetCarString("autohaus", "Nummernschild", "ID", v);
format(str, sizeof(str), "%s", Autohaeuser[v][Nummernschild]);
CreateVehicle(Autohaeuser[v][VehID], Autohaeuser[v][SpawnX], Autohaeuser[v][SpawnY], Autohaeuser[v][SpawnZ], Autohaeuser[v][SpawnAngel], 6, 7, 0);
SetVehicleNumberPlate(v, str);
SetVehicleToRespawn(v);
}
}
& hier ist der stock, der die "normalen" Fahrzeuge ausliest und spawnen lässt.
stock LoadPlayerCars() {
new str[33];
printf("*~*~*~*~* Player Cars werden aus der Datenbank gelesen und geladen.. *~*~*~*~*");
for(new v = 0; v < MAX_VEHICLES; v++) {
PlayerVehicles[v][vid] = mysql_GetCarInt("vehicles", "VehicleID", "ID", v);
PlayerVehicles[v][SpawnX] = mysql_GetCarFloat("vehicles", "SpawnX", "ID", v);
PlayerVehicles[v][SpawnY] = mysql_GetCarFloat("vehicles", "SpawnY", "ID", v);
PlayerVehicles[v][SpawnZ] = mysql_GetCarFloat("vehicles", "SpawnZ", "ID", v);
PlayerVehicles[v][SpawnAng] = mysql_GetCarFloat("vehicles", "SpawnAngel", "ID", v);
PlayerVehicles[v][Besitzer] = mysql_GetCarString("vehicles", "Besitzer", "ID", v);
PlayerVehicles[v][Key1] = mysql_GetCarString("vehicles", "Key1", "ID", v);
PlayerVehicles[v][Key2] = mysql_GetCarString("vehicles", "Key2", "ID", v);
PlayerVehicles[v][Key3] = mysql_GetCarString("vehicles", "Key3", "ID", v);
PlayerVehicles[v][Nummernschild] = mysql_GetCarString("vehicles", "Nummernschild", "ID", v);
format(str, sizeof(str), "%s - %d", PlayerVehicles[v][Nummernschild], v);
CreateVehicle(PlayerVehicles[v][vid], PlayerVehicles[v][SpawnX], PlayerVehicles[v][SpawnY], PlayerVehicles[v][SpawnZ], PlayerVehicles[v][SpawnAng], 0, 0, 0);
//AddStaticVehicleEx(PlayerVehicles[v][vid], PlayerVehicles[v][SpawnX], PlayerVehicles[v][SpawnY], PlayerVehicles[v][SpawnZ], PlayerVehicles[v][SpawnAng], 1, 1, 0);
SetVehicleNumberPlate(v, str);
SetVehicleToRespawn(v);
}
}
Hoffe jemand von euch kann mir helfen.
Liebe Grüße!
/e muss man auch die ganzen Sachen wieder neu einstellen?
Schatten usw...
Nein, eigentlich nicht.
Huhu,
habe gerade Wang Cars bisschen gemappt und in meinen Gamemode eingefügt, dazu habe ich den Streamer von Incognito genommen.
Jedesmal, wenn ich jetzt in die Richtung von Wang Cars fahre, bekomme ich einen Crash, hab schon viel versucht, aber nix hat geholfen. Könnt Ihr mir vielleicht sagen, woran das liegt, ich hatte vorher noch nie Probleme mit dem Streamer. Oder kennt einer von euch einen anderen guten Streamer?
Mein GTA crasht nur wegen der Wang Cars map, obwohl es gerade mal 12 Objecte sind. Wenn ich sie rausnehme, passiert nix. Also kein Crash.
ZitatAlles anzeigenSA-MP 0.3e
Exception At Address: 0x0044A503
Registers:
EAX: 0x00000000 EBX: 0x00000800 ECX: 0x0DCFA91C EDX: 0x0085BB13
ESI: 0x0DCFA91C EDI: 0x0DCFA91C EBP: 0x0022FD94 ESP: 0x0022FCF0
EFLAGS: 0x00210202
Stack:
+0000: 0x0B8EF580 0x0022FD94 0x00448B16 0x0B8EF580
+0010: 0x005A2B71 0x005A2B7F 0x00000000 0x0B8EF580
+0020: 0x00000800 0x469C4000 0x00000000 0x00000000
+0030: 0x00000000 0x00000000 0x00000000 0x00000000
+0040: 0x08200081 0x0B91BD48 0x0086D168 0x0056872C
+0050: 0x00000001 0xE9A9F70F 0x0000006E 0x0053C09A
+0060: 0x0000001A 0xE9A9869A 0x00000000 0x75A9EF16
+0070: 0x03660BF6 0xE9A9869A 0x03697986 0x0000001A
+0080: 0xE9A9869A 0x00000000 0x154069A8 0x0022FD6C
+0090: 0x0022F8FC 0x0022FF78 0x036ABCD4 0x036D09F8
+00A0: 0x00000001 0x756A7E90 0x0053E986 0x00000001
+00B0: 0x008241AF 0x004D9486 0x0053ECC2 0x00000001
+00C0: 0x00619B71 0x0000001A 0x00000001 0x00000001
+00D0: 0x0000000A 0x00748DA0 0x0000001A 0x00000001
+00E0: 0x75AA2877 0x00000000 0x0022FF88 0x7FFDB000
+00F0: 0x01580000 0x4F69A983 0x01581D78 0x00000008
+0100: 0x00000100 0x00000008 0x00000102 0x44200000
+0110: 0x43C00000 0x00000000 0x00000000 0x00000500
+0120: 0x00000300 0x00000000 0x00000001 0x005300A0
+0130: 0x00000200 0x00000000 0x01800280 0x00E8A651
+0140: 0x00000280 0x00000180 0x0000002C 0x0022FE2C
+0150: 0x00825EA4 0x75AA2877 0x00000000 0x7FFDB000
+0160: 0xFFFFFFFF 0x00821D17 0x00000065 0x00000065
+0170: 0x0022FF88 0x008246F1 0x00400000 0x00000000
+0180: 0x0180242D 0x0000000A 0x00000094 0x00000006
+0190: 0x00000001 0x00001DB0 0x00000002 0x00000000
+01A0: 0x00000000 0x00000000 0x00000000 0x00000000
+01B0: 0x00000000 0x00000000 0x00000000 0x00000000
+01C0: 0x00000000 0x00000000 0x00000000 0x00000000
+01D0: 0x00000000 0x00000000 0x00000000 0x00000000
+01E0: 0x00000000 0x00000000 0x00000000 0x00000000
+01F0: 0x00000000 0x00000000 0x00000000 0x00000000
+0200: 0x00000000 0x00000000 0x00000000 0x00000000
+0210: 0x00000000 0x00000000 0x00824588 0x00000000
+0220: 0x00000000 0x7FFDB000 0xC0000005 0x00000000
+0230: 0x0180242D 0x00000044 0x01836508 0x018353D8
+0240: 0x01834130 0x00000000 0x00000000 0x00000000
+0250: 0x00000000 0x00000000 0x00000000 0x00000000
+0260: 0x00000000 0x00000000 0x00000000 0xFFFFFFFF
+0270: 0xFFFFFFFF 0xFFFFFFFF 0x00000000 0x00000000
SCM Op: 0x2BF, lDbg: 0
Game Version: US 1.0
State Information: Ped Context: 0
Liebe Grüße!
Edit:// Was hinzugefügt.
Hmm... Wenn du willst, kann ich gerne per TV rüber gucken, wenn du mir deine tv daten gibst.
Ich hab dich mal in Skype geaddet.
hast du denn in deiner Datenbank die sachen auch als Float oder als Integer?
Jap, klar. Hier mal ein Screen von der Datenbank.
ID muss kan String sein.
Doch klar, sonst meckert er rum. Ich habe den stock allerdings in meinem Script, aber selbst wenn ich /savespawn mache sprich, den normalen SpawnPunkt vom Spieler, selbst das geht nicht, speichert er einfach nicht ab.
Diese kann ich nicht verwenden, ich musste sie umschreiben, da ID kein String ist.
Ich weiss zwar nicht, was das damit zu tun hat, aber okay.
enum Vehicles {
vid,
Float:SpawnX,
Float:SpawnY,
Float:SpawnZ,
Float:SpawnAng,
Besitzer[128],
Key1[128],
Key2[128],
Key3[128],
Nummernschild[128]
}
new PlayerVehicles[MAX_VEHICLES][Vehicles];
Edit:
Jetzt stürzt mein PAWN Compiler ab
ocmd:savespawnveh(playerid, params[]) {
if(GetPlayerVehicleSeat(playerid) == 0) {
new car = GetPlayerVehicleID(playerid), xName[56];
GetPlayerName(playerid, xName, 56);
if(!strcmp(xName, PlayerVehicles[car][Key1], true) || !strcmp(xName, PlayerVehicles[car][Key2]) || !strcmp(xName, PlayerVehicles[car][Key3])) {
new Float:x, Float:y, Float:z, Float:Ang;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Ang);
PlayerVehicles[car][SpawnX] = x;
PlayerVehicles[car][SpawnY] = y;
PlayerVehicles[car][SpawnZ] = z;
PlayerVehicles[car][SpawnAng] = Ang;
new query[200];
format(query,200, "UPDATE `vehicles` SET `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnAngel` = '%f', `Besitzer` = '%s', `Key1` = '%s', `Key2` = '%s',\
`Key3` = '%s', `Nummernschild` = '%s' WHERE `ID` = '%d'", PlayerVehicles[car][SpawnX],PlayerVehicles[car][SpawnY],PlayerVehicles[car][SpawnZ],PlayerVehicles[car][SpawnAng],PlayerVehicles[car][Besitzer],PlayerVehicles[car][Key1],PlayerVehicles[car][Key2],PlayerVehicles[car][Key3],
PlayerVehicles[car][Nummernschild],car);
mysql_query(query);
mysql_free_result();
SendClientMessage(playerid, Gelb, "Der Spawnpunkt von deinem Auto wurde erfolgreich gespeichert.");
return 1;
}
else return SendClientMessage(playerid, Error, "Du bist nicht berechtigt das Fahrzeug umzuspeichern!");
}
else return SendClientMessage(playerid, Error, "Du sitzt nicht in einem Auto oder bist nur Beifahrer!");
}
Da bitte schön, ist der Befehl /savespawnveh
ocmd:savespawnveh(playerid, params[]) {
if(GetPlayerVehicleSeat(playerid) == 0) {
new car = GetPlayerVehicleID(playerid), xName[56];
GetPlayerName(playerid, xName, 56);
if(!strcmp(xName, PlayerVehicles[car][Key1], true) || !strcmp(xName, PlayerVehicles[car][Key2]) || !strcmp(xName, PlayerVehicles[car][Key3])) {
new Float:x, Float:y, Float:z, Float:Ang;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, Ang);
PlayerVehicles[car][SpawnX] = x;
PlayerVehicles[car][SpawnY] = y;
PlayerVehicles[car][SpawnZ] = z;
PlayerVehicles[car][SpawnAng] = Ang;
new query[200];
format(query,200,"UPDATE `vehicles` SET `SpawnX` = '%f', `SpawnY` = '%f', `SpawnZ` = '%f', `SpawnAngel` = '%f', `Besitzer` = '%s', `Key1` = '%s', `Key2` = '%s',\
`Key3` = '%s', `Nummernschild` = '%s' WHERE `ID` = '%d'",PlayerVehicles[car][SpawnX],PlayerVehicles[car][SpawnY],PlayerVehicles[car][SpawnZ],PlayerVehicles[car][SpawnAng],PlayerVehicles[car][Besitzer],PlayerVehicles[car][Key1],PlayerVehicles[car][Key2],PlayerVehicles[car][Key2],
PlayerVehicles[car][Nummernschild],car);
mysql_query(query);
mysql_free_result();
SendClientMessage(playerid, Gelb, "Der Spawnpunkt von deinem Auto wurde erfolgreich gespeichert.");
return 1;
}
else return SendClientMessage(playerid, Error, "Du bist nicht berechtigt das Fahrzeug umzuspeichern!");
}
else return SendClientMessage(playerid, Error, "Du sitzt nicht in einem Auto oder bist nur Beifahrer!");
}
Danke für deine schnelle Antwort! Leider speichert er die Floats immer noch nicht, das Auto spawnt immer noch dort, wo es vorher stand.
Hey,
Ich - schon wieder.
Heute werden meine Floats vom Car oder vom Spieler nicht gespeichert.
Es zeigt mir In Game zwar alles korrekt an, aber in der Datenbank und nach einem GMX ist alles wie vorher.
Hier mal mein SavePlayerCar:
stock SavePlayerCar(carid) {
mysql_SetCarFloat("vehicles", "SpawnX", PlayerVehicles[carid][SpawnX], "ID", carid);
mysql_SetCarFloat("vehicles", "SpawnY", PlayerVehicles[carid][SpawnY], "ID", carid);
mysql_SetCarFloat("vehicles", "SpawnZ", PlayerVehicles[carid][SpawnZ], "ID", carid);
mysql_SetCarFloat("vehicles", "SpawnAngel", PlayerVehicles[carid][SpawnAng], "ID", carid);
mysql_SetCarString("vehicles", "Besitzer", PlayerVehicles[carid][Besitzer], "ID", carid);
mysql_SetCarString("vehicles", "Key1", PlayerVehicles[carid][Key1], "ID", carid);
mysql_SetCarString("vehicles", "Key2", PlayerVehicles[carid][Key2], "ID", carid);
mysql_SetCarString("vehicles", "Key4", PlayerVehicles[carid][Key2], "ID", carid);
mysql_SetCarString("vehicles", "Nummernschild", PlayerVehicles[carid][Nummernschild], "ID", carid);
}
Und hier einmal der stock mysql_SetCarFloat:
stock mysql_SetCarFloat(Table[], Field[], Float:To, Where[], Where2) {
new query[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
format(query, 128, "UPDATE `%s` SET `%s` = '%f' WHERE '%s' = '%d'", Table, Field, To, Where, Where2);
mysql_query(query);
return true;
}
Hoffe jemand von euch, kann mir ein weiteres mal helfen.
Liebe Grüße!
Sorry bin nur am Handy. Das macht es bisschen schwer. Versuche mal dir mit Printf die spawns ausgeben zu lassen.
Ich schau es mir später mal an. Gibt es eine Möglichkeit die Objekte zu zählen?
Wie wäre es denn mit CreateVehicel das sehe ich bei dir nicht.
Du Speicherst das Auto. Du musst es dann nurnoch Laden bzw. Ausgeben lassen.
Also an sich war/ist Vice City schon geil. Wird bestimmt auch wieder so ein Reinfall wie mit GTA 3 fürs Smartphone, umsonst Geld ausgegeben, dafür, dass er erstmal - was weiss ich - wie viel Gigabyte runterlädt und es dann nicht einmal startet.
Hey,
hab mal wieder ein Problem. Er sagt mir ich solle die Variable "id", einen Array zuweisen, obwohl man in dem Dialog eine SpielerID eingeben soll. Tut mir leid, wenn ich irgendwas falsch mache, aber habe halt lange nicht mehr gescriptet.
Was rede ich eigentlich, hier ist der Dialog..
if(dialogid == Dialog_Rollerschein) {
if(response) {
if(strlen(inputtext) == 0) { ShowPlayerDialog(playerid, Dialog_Rollerschein, DIALOG_STYLE_INPUT, "Lizenz vergeben:", "{FFFFFF}Bitte gib die {FF1400}ID {FFFFFF}des Spielers ein,\nden du die Lizenz übergeben möchtest:", "Weiter", "Abbrechen"); }
else {
new id, name[56], xname[56], str[156];
id = inputtext;
GetPlayerName(playerid, name, 56);
GetPlayerName(id, xname, 56);
if(GetPlayerMoney(id) >= 150) {
format(str, 156, "{0091FF}Herzlichen Glückwunsch! Du hast soeben von {FFFFFF}%s {0091FF}den Rollerschein bekommen.", name);
SendClientMessage(playerid, Gruen, str);
SpielerInfo[id][Rollerschein] = 1;
GivePlayerMoney(id, -150);
GameTextForPlayer(id, "~r~-$150", 2000, 1);
format(str, 156, "{0091FF}Du hast deinem Schüler {FFFFFF}%s {0091FF}den Rollerschein gegeben.", xname);
SendClientMessage(playerid, Gruen, str);
GivePlayerMoney(playerid, 42);
GameTextForPlayer(playerid, "~g~+$42", 2000, 1);
return 1;
}
else { SendClientMessage(playerid, Gruen, "Dein Schüler hat nicht genug Geld!"); return 1; }
}
}
}
Grüßee!
Edit: Keine Ahnung, warum der Code so komisch eingerückt ist. Hoffe Ihr blickt trotzdem durch.
Alles anzeigenmir ja eigtl egal
ich hab das script damals bekommen und das wahrs ihr könnt es downloaden
wie ihr wollt ich lasse alle links drinnen
bei beschwerden etc
mir latte
wendet euch an admins wenn ihr denkt es ist euer script *lach*
1. ich verkaufe es nicht
2. es ist ein free download
3. es wahr bzw ist meins also darf ich machen was ich will
und das wahrs
Aber es ist der Falsche Bereich und warum so viele Absätze ?
Bei mir auch
Ich frag mich, ob das wohl mit IPv6 zutun hat. :O
Sorry, für die dumme Frage, aber was soll das sein?
Bisschen Off Topic gerade, aber bei welchen Anbieter bist du denn ?