Autohaussystem Problem :S

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Brotfische,


    ich wollte ein Autohaussystem scripten da, dass DTDynamicCar bei mir auf den Server rum spinnt..
    Nun wird aber die FahrzeugID und der CarBesitzer nicht gespeichert:
    Hier kauf ich das Car und schreibe in die 2 Variablen:
    if(response == 1)
    {
    if(GetPlayerMoney(playerid) >= 65000)
    {
    CarKaufen(playerid);
    new xname[MAX_PLAYER_NAME];
    new string[60];
    new vid = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid,xname,sizeof(xname));
    format(string,sizeof(string),"%s",xname);
    GivePlayerMoney(playerid, -65000);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast dieses Auto gekauft!");
    SendClientMessage(playerid,COLOR_ORANGE,"Das Auto steht nun am Eingang für dich bereit!");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, true);
    CarInformation[playerid][CarBesitzer] = string[59];
    CarInformation[playerid][CarID] = vid;
    return 1;
    }
    }


    Bei OnPlayerDisonnect steht "CarSpeichern(playerid);" und der stock sieht wie folgt aus:
    stock CarSpeichern(playerid)
    {
    new CarInfos[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(CarInfos,sizeof(CarInfos),"/Cars/%s.ini",name);
    dini_Set(CarInfos,"CarBesitzer",CarInformation[playerid][CarBesitzer]);
    dini_Set(CarInfos,"CarID",CarInformation[playerid][CarID]);
    return 1;
    }


    Ich hoffe mir kann jemand helfen..


    lg

  • Änder
    dini_Set(CarInfos,"CarBesitzer",CarInformation[playerid][CarBesitzer]);
    dini_Set(CarInfos,"CarID",CarInformation[playerid][CarID]);



    In das
    dini_IntSet(CarInfos,"CarBesitzer",CarInformation[playerid][CarBesitzer]);
    dini_IntSet(CarInfos,"CarID",CarInformation[playerid][CarID]);

  • Dachte immer "dini_Set" für strings oder ähnliches und dini_IntSet für zahlen..


    hmm jetzt schreibt er zwar was in die datei rein, aber das ist nicht das richtige..da Steht


    "CarBesitzer=0"
    "CarID=2"

  • dini_Set = Strings
    dini_IntSet = Integer sprich Zahlen
    Dann müsste das so aussehen:


    dini_Set(CarInfos,"CarBesitzer",CarInformation[playerid][CarBesitzer]);
    dini_IntSet(CarInfos,"CarID",CarInformation[playerid][CarID]);

  • hmm also die dini sieht nun so aus:
    CarBesitzer=
    CarID=1


    Und der stock zum speichern so..
    stock CarSpeichern(playerid)
    {
    new CarInfos[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(CarInfos,sizeof(CarInfos),"/Cars/%s.ini",name);
    dini_Set(CarInfos,"CarBesitzer",CarInformation[playerid][CarBesitzer]);
    dini_IntSet(CarInfos,"CarID",CarInformation[playerid][CarID]);
    return 1;
    }


    Und hier nochmal OnDialogResponse, also wenn man das Auto kauft
    if(response == 1)
    {
    if(GetPlayerMoney(playerid) >= 65000)
    {
    CarKaufen(playerid);
    new xname[MAX_PLAYER_NAME];
    new string[60];
    new vid = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid,xname,sizeof(xname));
    format(string,sizeof(string),"%s",xname);
    GivePlayerMoney(playerid, -65000);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast dieses Auto gekauft!");
    SendClientMessage(playerid,COLOR_ORANGE,"Das Auto steht nun am Eingang für dich bereit!");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, true);
    CarInformation[playerid][CarBesitzer] = string[59];
    CarInformation[playerid][CarID] = vid;
    return 1;
    }
    }

  • hmm also schonmal ne Funktion die ich noch ne kenne...
    Wie muss das denn dann aussehen ?
    strmid(string, "%s, 34, 39); //string contains "HELLO"
    Oder wie :o


    Edit://
    Ja wenn ich da nur string eingebe kommt folgender Error:

    Zitat

    C:\Users\Canna\Documents\GTA San Andreas User Files\Server 0.3c\filterscripts\carsystem.pwn(262) : error 006: must be assigned to an array
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Richtig!
    Ganz normal!


    Deswegen musst Du auch strmid verwenden!
    Ich weis nur leider im Moment nicht wie das ganze aufgebaut wird da ich strmid nur einmal in meinem Leben verwendet habe und das ist schon ein bischen länger her!


    Lies Dir die Aufstellung von strmid im wiki genau durch!



    Lg
    Hardcore

  • Ja aber woher weiss strmid das ich den Namen raus finden will..
    weil beim formatieren
    benutz nam ja am ende die news also die definierung, was man raus finden möchte..


    Edit://
    Hab es jetzt so versucht, geht aber immernoch ne..und ich will das der die VehicleID speichert, nicht die id wie er geladen hat..
    strmid(string, "%s", 0, 25);

    Einmal editiert, zuletzt von GermanAllstarsClan ()

  • Benutze doch einfach file anstatt Dini


    stock CarSpeichern(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new string1[64];
    new string2[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string1,sizeof(string1),"/Cars/%s.ini",name);
    format(string2,sizeof(string2),"%s,%d",CarInformation[playerid][CarBesitzer],CarInformation[playerid][CarID]);
    new file:datei = fopen(string1,io_readwrite);
    fwrite(datei,string2);
    fclose(string2);
    return 1;
    }

  • Wenn ich file benutze, geht es trdem nicht..
    Da zeigt er mir Errors an wenn ich dei behebe kommen die nächsten etc.

  • Dieser:

    Zitat

    C:\Users\Canna\Documents\GTA San Andreas User Files\Server 0.3c\filterscripts\carsystem.pwn(288) : warning 213: tag mismatch
    C:\Users\Canna\Documents\GTA San Andreas User Files\Server 0.3c\filterscripts\carsystem.pwn(289) : warning 213: tag mismatch
    C:\Users\Canna\Documents\GTA San Andreas User Files\Server 0.3c\filterscripts\carsystem.pwn(290) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    & hier die zeile 290
    fclose(string2);

  • stock CarSpeichern(playerid)
    {
    new name[MAX_PLAYER_NAME];
    new string1[64];
    new string2[64];
    GetPlayerName(playerid,name,sizeof(name));
    format(string1,sizeof(string1),"/Cars/%s.ini",name);
    format(string2,sizeof(string2),"%s,%d",CarInformation[playerid][CarBesitzer],CarInformation[playerid][CarID]);
    new file:datei = fopen(string1,io_readwrite);
    fwrite(datei,string2);
    fclose(datei);
    return 1;
    }

    So jetzt geht es zu 100%

  • hmm trotzdem wird der besitzer nicht gespeichert..
    CarKaufen(playerid);
    new xname[MAX_PLAYER_NAME];
    new string[60];
    new vid = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid,xname,sizeof(xname));
    format(string,sizeof(string),"%s",xname);
    //strmid(string, "%s", 0, 25); //string contains "HELLO"
    GivePlayerMoney(playerid, -65000);
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast dieses Auto gekauft!");
    SendClientMessage(playerid,COLOR_ORANGE,"Das Auto steht nun am Eingang für dich bereit!");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, true);
    CarInformation[playerid][CarBesitzer] = string[55];
    CarInformation[playerid][CarID] = vid;