Beiträge von Cheevy.Shakur

    Hier mal das enum
    enum e_VehicleData
    {
    vehID,
    vehBesitzer[MAX_PLAYER_NAME+1],
    modelid,
    Float:vehPosX,
    Float:vehPosY,
    Float:vehPosZ,
    Float:vehPosA,
    Float:vehPosX2,
    Float:vehPosY2,
    Float:vehPosZ2,
    Float:vehHealth,
    vehColor1,
    vehColor2,
    vehPaintjob,
    vehSpoiler,
    vehHood,
    vehRoof,
    vehSideskirt,
    vehLamps,
    vehNitro,
    vehExhaust,
    vehWheels,
    vehStereo,
    vehHydraulics,
    vehFrontBumper,
    vehRearBumper,
    vehVentRight,
    vehVentLeft,
    vehPreis,
    vehNeon1,
    vehNeon2,
    vehNeonID,
    vehNumberPlate[32],
    Float:vehFuel,
    Float:vehKMStand,
    vehInterior,
    vehWorld,
    vehTankKM,
    vehKMStandCount,
    bool:vehMotor,
    bool:vehLicht,
    bool:vehHaube,
    bool:vehKRaum,
    VehicleTimer,
    Text3D:vehText,
    vehFraktion,
    dbID,
    };
    new Vehicle[MAX_VEHICLES][e_VehicleData];
    new PrivateVehicle[MAX_PLAYERS][MAX_PLAYER_VEHICLES][e_VehicleData];


    Hier mal die Tabelle, wie ich Sie erstelle.

    Der print gibt den Code irgendwie falsch aus, Fahrzeug wird InGame auch nicht erstellt.
    forward LoadPlayerVehicles(playerid,slot);
    public LoadPlayerVehicles(playerid, slot)
    {
    new query[256],resultline[200];
    format(query, sizeof(query), "SELECT * FROM script_vehicles WHERE vehBesitzer='%s' AND Slot = '%d'", SpielerInfo[playerid][pName], slot);
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row_format(resultline))
    {
    sscanf(resultline,"p<|>s[25]diiiiiddddddddddddddddddds[32]iidd",
    PrivateVehicle[playerid][slot][vehBesitzer],PrivateVehicle[playerid][slot][modelid],PrivateVehicle[playerid][slot][vehPosX],PrivateVehicle[playerid][slot][vehPosY],PrivateVehicle[playerid][slot][vehPosZ],PrivateVehicle[playerid][slot][vehPosA],PrivateVehicle[playerid][slot][vehHealth],
    PrivateVehicle[playerid][slot][vehColor1],PrivateVehicle[playerid][slot][vehColor2],PrivateVehicle[playerid][slot][vehPaintjob],PrivateVehicle[playerid][slot][vehSpoiler],PrivateVehicle[playerid][slot][vehHood],PrivateVehicle[playerid][slot][vehRoof],PrivateVehicle[playerid][slot][vehSideskirt],
    PrivateVehicle[playerid][slot][vehLamps],PrivateVehicle[playerid][slot][vehNitro],PrivateVehicle[playerid][slot][vehExhaust],PrivateVehicle[playerid][slot][vehWheels],PrivateVehicle[playerid][slot][vehStereo],PrivateVehicle[playerid][slot][vehHydraulics],PrivateVehicle[playerid][slot][vehFrontBumper],
    PrivateVehicle[playerid][slot][vehRearBumper],PrivateVehicle[playerid][slot][vehVentRight],PrivateVehicle[playerid][slot][vehVentLeft],PrivateVehicle[playerid][slot][vehPreis],PrivateVehicle[playerid][slot][vehNeonID],PrivateVehicle[playerid][slot][vehNumberPlate],
    Vehicle[PrivateVehicle[playerid][slot][vehID]][vehFuel],Vehicle[PrivateVehicle[playerid][slot][vehID]][vehKMStand],Vehicle[PrivateVehicle[playerid][slot][vehID]][vehInterior],Vehicle[PrivateVehicle[playerid][slot][vehID]][vehWorld]);


    PrivateVehicle[playerid][slot][vehID] = CreateVehicle(PrivateVehicle[playerid][slot][modelid], PrivateVehicle[playerid][slot][vehPosX], PrivateVehicle[playerid][slot][vehPosY], PrivateVehicle[playerid][slot][vehPosZ], PrivateVehicle[playerid][slot][vehPosA], PrivateVehicle[playerid][slot][vehColor1], PrivateVehicle[playerid][slot][vehColor2], false);
    printf("Model ID: %d PosX: %d PosY: %d PosZ: %d PosA: %d Color1: %d Color2: %d",PrivateVehicle[playerid][slot][modelid], PrivateVehicle[playerid][slot][vehPosX], PrivateVehicle[playerid][slot][vehPosY], PrivateVehicle[playerid][slot][vehPosZ], PrivateVehicle[playerid][slot][vehPosA], PrivateVehicle[playerid][slot][vehColor1], PrivateVehicle[playerid][slot][vehColor2]);
    VehicleTuning(playerid, slot);
    }
    mysql_free_result();
    return 1;
    }


    Code
    [16:59:55] Model ID: 49 PosX: 56 PosY: 55 PosZ: 52 PosA: 46 Color1: 124 Color2: 49

    Hab das ganze mal geprintet, die Konsole spuckt nichts aus.
    Diesbezüglich wird also kein Fahrzeug erstellt..


    Hier mal die MySQL Log


    //edit: Push nach über 48 Stunden
    //edit: Beitrag als neu markieren gewählt

    Hiermit lade ich den Plugin LoadPlayerVehicles.
    for(new vehSlot=0;vehSlot<MAX_PLAYER_VEHICLES;vehSlot++)
    {
    mysql_query_callback(playerid,"SELECT * FROM `script_vehicles` WHERE `vehBesitzer`='%s' AND `Slot` = '%d'","LoadPlayerVehicles");
    }


    Verwende die R5 Version von G-sTyLeZzZ.

    Kannst du mir kurz erklären wie es geht, mit eine Teil meines Cods?
    Damit ich ein wenig Hilfestellung habe, die Tutorials im Wiki helfen mir nicht wirklich..


    Hab das jetzt so..
    forward LoadPlayerVehicles(playerid,slot);
    public LoadPlayerVehicles(playerid, slot)
    {
    mysql_query("SELECT * FROM script_vehicles WHERE Name='%s'",SpielerInfo[playerid][pName]);
    mysql_store_result(); new resultline[200];
    if(mysql_fetch_row_format(resultline))
    {
    sscanf(resultline,"p<|>s[25]diiiiiddddddddddddddddddds[32]iidd",
    PrivateVehicle[playerid][slot][vehBesitzer],PrivateVehicle[playerid][slot][modelid],PrivateVehicle[playerid][slot][vehPosX],PrivateVehicle[playerid][slot][vehPosY],PrivateVehicle[playerid][slot][vehPosZ],PrivateVehicle[playerid][slot][vehPosA],PrivateVehicle[playerid][slot][vehHealth],
    PrivateVehicle[playerid][slot][vehColor1],PrivateVehicle[playerid][slot][vehColor2],PrivateVehicle[playerid][slot][vehPaintjob],PrivateVehicle[playerid][slot][vehSpoiler],PrivateVehicle[playerid][slot][vehHood],PrivateVehicle[playerid][slot][vehRoof],PrivateVehicle[playerid][slot][vehSideskirt],
    PrivateVehicle[playerid][slot][vehLamps],PrivateVehicle[playerid][slot][vehNitro],PrivateVehicle[playerid][slot][vehExhaust],PrivateVehicle[playerid][slot][vehWheels],PrivateVehicle[playerid][slot][vehStereo],PrivateVehicle[playerid][slot][vehHydraulics],PrivateVehicle[playerid][slot][vehFrontBumper],
    PrivateVehicle[playerid][slot][vehRearBumper],PrivateVehicle[playerid][slot][vehVentRight],PrivateVehicle[playerid][slot][vehVentLeft],PrivateVehicle[playerid][slot][vehPreis],PrivateVehicle[playerid][slot][vehNeonID],PrivateVehicle[playerid][slot][vehNumberPlate],
    Vehicle[PrivateVehicle[playerid][slot][vehID]][vehFuel],Vehicle[PrivateVehicle[playerid][slot][vehID]][vehKMStand],Vehicle[PrivateVehicle[playerid][slot][vehID]][vehInterior],Vehicle[PrivateVehicle[playerid][slot][vehID]][vehWorld]);


    PrivateVehicle[playerid][slot][vehID] = CreateVehicle(PrivateVehicle[playerid][slot][modelid], PrivateVehicle[playerid][slot][vehPosX], PrivateVehicle[playerid][slot][vehPosY], PrivateVehicle[playerid][slot][vehPosZ], PrivateVehicle[playerid][slot][vehPosA], PrivateVehicle[playerid][slot][vehColor1], PrivateVehicle[playerid][slot][vehColor2], false);
    VehicleTuning(playerid, slot);
    }
    mysql_free_result();
    return 1;
    }



    //edit: PWN hinzugefügt
    //edit: PWN bearbeitet
    //edit: MySQL Log hinzugefügt und Jeffy angesprochen

    Hallo,


    ich habe ein Problem mit meinen Fahrzeug System.
    Woran liegt der Fehler? Kann doch eigentlich nicht sein, dass mir hier ein Warning angezeigt wird.
    PrivateVehicle[playerid][slot][modelid] = mysql_fetch_int(0, "modelid");


    Code
    warning 202: number of arguments does not match definition

    Hallo,


    ich habe derzeit ein Problem mit meinem Selfmade Gamemode.
    Der Name wird nicht richtig ausgelesen, aber nur wenn der Spieler sich registriert hat. Sollte er den Server verlassen und wieder neu betreten, wird der Name richtig ausgelesen.


    Woran liegt das genau?
    Ich frage den Namen nur über die Variable SpielerInfo[playerid][pName] ab, welcher die MySQL Tabelle ausliest.


    Gruß,

    Bitte sehr.
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    new query[256], name[MAX_PLAYER_NAME];
    format(name, sizeof(name), Spielername(playerid));
    mysql_real_escape_string(name, name);
    format(query, sizeof(query), "UPDATE accounts SET Level='%i',Kills='%i',Tode='%i',Adminlevel='%i',Online='%i' WHERE Username='%s'",SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pOnline], name);
    mysql_query(query);
    }
    }
    return 1;
    }

    Definiert wird das ganze in meinem Enum für die Accountspeicherung.
    Abgespeichert wird das ganze trotzdem via MySQL, es ist keine temporäre Variable.
    enum SpielerDaten
    {
    pName[MAX_PLAYER_NAME],
    pLevel,
    pKills,
    pTode,
    pAdminlevel,
    pOnline
    }
    new SpielerInfo[MAX_PLAYERS][SpielerDaten];

    Hallo,


    irgendwie setzt sich meine Variable "Online" nicht auf 1.
    Ich wollte es so machen: Spieler ist online -> Variable auf 1 | Spieler ist offline -> Variable auf 0


    Irgendwie funktioniert das ganze aber nicht. Ich habe mir die Werte mal in der Server Log ausgegeben.
    In der Log wird alles richtig ausgegeben, lediglich in der Tabelle wird der Wert nicht gesetzt.


    Welcher Code wird benötigt, damit ihr mal drüber schauen könnt?