Beiträge von Canna

    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!

    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.




    Liebe Grüße!


    Edit:// Was hinzugefügt.

    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 8|
    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!");
    }

    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!

    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.


    Aber es ist der Falsche Bereich und warum so viele Absätze ?