Beiträge von apoolecu

    Hey,


    ich habe mir selbst ein Dynamisches System erstellt für Pickups, jetzt versuche ich dem Dynamischen System eine Dialog hinzuweisen aber es passiert nichts :(


    der Code für die Zuweisung der Pickup ID


    for(new i = 1; i < MAX_HOUSES; i++)
    {
    new string[33];
    format(string, sizeof(string), "SAP/%d.haus", i);
    if(fexist(string))
    {
    LadeHaus(i);
    dp = CreatePickup(1272,23, haus[i][hX],haus[i][hY],haus[i][hZ],-1);
    }
    }



    Pickup Abfrage:


    if(pickupid == dp)
    {
    for(new i = 1; i < MAX_HOUSES; i++)
    {
    new string[33];
    format(string, sizeof(string), "SAP/%d.haus", i);
    if(fexist(string))
    {
    new szString[256];
    format(szString,sizeof szString,"Besitzer: %s \n Preis: %d\n Funktion:%d \n Interior: %d",haus[i][hBesitzer],haus[i][hPreis],haus[i][hInt]);
    ShowPlayerDialog(playerid,DIALOG_HAUSINFO,DIALOG_STYLE_MSGBOX,"Info", szString,"Mehr","Verlassen");
    }
    }
    return 1;
    }


    Aber im Spiel erscheint nichts :o


    MFG: Apoolecu


    EDIT: Es Funktioniert aber nur bei einem Pickup -.-

    Hey,


    ich meine es es zum beispiel so :


    if(strcmp(cmd, "/setskin", true) == 0)
    {
    new tmp[128];
    tmp = strtok(cmdtext, idx);

    if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /setskin model]");

    SetPlayerSkin(playerid, tmp);
    return 1;
    }


    jetzt soll aber noch z.B. ne Abfrage kommen wo nachfragt ob die Model ID im richtigen Wert rahmen ist.


    MfG: Apoolecu

    Hey,


    als erstes bräuchtest du einen Enum Struktur.
    wenn du dies hast musst du erst eine Speicher Funktion erstellen, dies sollte dann die Daten von der Enum in einer/mehreren Datein speichern (For-Schleife)
    dannach wird es Zeit für eine Lade Funktion die die Daten wieder aus der Datei/Datein lädt und wieder in der Enum wiedergibt (wieder via. For-Schleife)
    Dann noch der Gewünschte CMD wo die Daten der Enum gibt und dort drinn sollte dann auch noch die Speicher Funktion enthalten sein :)


    Dies war aber nur Theoretisch gedacht :) es gibt hier irgendwo im Forum auch noch ein Dynamisches System wo erklärt wird, dies Arbeit mit dem DatenSystem SII zusammen :)


    MfG: Apoolecu

    Hi,


    ich frage mich gerade wie ich, den Abfrage ob der Wert von einem cmd z.B. zwischen 5 & 10 ist.
    Aber ich habe keine Ahnung wie es funktionieren soll :o.


    Hoffe mir kann das jemand zeigen :)



    MfG: Apoolecu

    Moin,


    ich arbeite derzeit an einem Tacho habe darfür auch ein gutes Tutorial gefunden von Robdeflop.
    Jetzt habe ich aber von meinem CarSystem, diverse Dinge hinzugefügt diese werden aber warum auch immer nicht Dargestellt bzw.
    nur fehlerhaft.


    Code:
    public TachoTimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
    {
    new Float:Entfernung, Float:Geschwindigkeit, Benzin = CarInfo[i][aBenzin], MBenzin = CarInfo[i][aMBenzin];// Die definierten Floats die mit den Werten gefüttert werden
    GetVehiclePos(GetPlayerVehicleID(i), X1[i], Y1[i], Z1[i]); //Erste Koordinate wird genommen
    Entfernung = floatsqroot(floatpower(floatabs(floatsub(X1[i], X2[i])), 2)+floatpower(floatabs(floatsub(Y1[i], Y2[i])), 2)+floatpower(floatabs(floatsub(Z1[i], Z2[i])), 2)); //Berechnung der Entfernung
    Geschwindigkeit = (Entfernung / (TACHOTIMER/1000)) * 3.6; //Meter/Sekunde in Kilometer/Stunde
    new Tachostring[1250];
    format(Tachostring, sizeof(Tachostring), "Km/h: %d~n~Benzin: %d/%d~n~Besitzer: %s", floatround(Geschwindigkeit), Benzin,MBenzin,CarInfo[i][aBesitzer]); //Hier das format, was es macht siehe oben im Wiki-Link. floatround rundet die Kommerzahl (Float:Geschwindigkeit) zu einer normalen ganzzahligen zahl, damit wir den Integer %d der für ganze zahlen ist, verwenden können.
    TextDrawSetString(Tacho[i], Tachostring);
    GetVehiclePos(GetPlayerVehicleID(i), X2[i], Y2[i], Z2[i]); //Zweite Koordinate wird genommen
    TextDrawShowForPlayer(i, Tacho[i]);
    }
    else
    {
    TextDrawHideForPlayer(i, Tacho[i]);
    }
    }
    return 1;
    }


    wie man sieht habe ich schon viele sachen ausprobiert aber keine Funktioniert.
    aber der zweiten Zeile (Benzin:) wird nach dem : nur noch 00/00 ausgeben, das dies nicht stimmt sehe ich ja an der Fahrzeug datei bzw. an meinem CMD für die Überprüfung.



    MFG: Apoolecu


    EDIT: Code ausgebessert

    ah falscher code gepostet :)


    Bene :) er speichert die dateien aber egal xD, die Funktion wo du gepostet hast ist glaube von dem Standart SpeicherSystem.


    Haxler :) habe leider den Falschen Code gepostet xD sorry, aber jetzt speichert er ja die Daten^^


    Nächstes Problem:


    er will sie nicht laden -.-


    Funktion:
    public LadeHaus(i)
    {
    new str[32];
    new hausid = haus[i][hID];
    format(str, sizeof(str), "GM/%d.haus", hausid);
    if(hausid == 0)
    {
    return 1;
    }
    if(fexist(str))
    {
    format(haus[hausid][hBesitzer],24,"%s",dini_Get(str, "Besitzer"));
    haus[hausid][hID] = dini_Int(str, "ID");
    haus[hausid][hX] = dini_Float(str, "haX");
    haus[hausid][hY] = dini_Float(str, "haY");
    haus[hausid][hZ] = dini_Float(str, "haZ");
    haus[hausid][hPreis] = dini_Int(str, "Preis");
    }
    return 1;
    }


    Schleife:
    for(new i = 1; i < MAX_HOUSES; i++)
    {
    new string[33];
    format(string, sizeof(string), "GM/%d.haus", i);
    if(fexist(string))
    {
    LadeHaus(i);
    CreatePickup(1272,23, haus[i][hX],haus[i][hY],haus[i][hZ],-1);
    }
    }


    MfG: Apoolecu

    Mist lang nicht am CMD sondern an der Enum -.-


    so, jetzt wird aber keine Daei erstellt :O


    public LadeHaus(i)
    {
    new str[32];
    new hausid = haus[i][hID];
    format(str, sizeof(str), "GM/%d.haus", hausid);
    if(hausid == 0)
    {
    return 1;
    }
    if(fexist(str))
    {
    format(haus[hausid][hBesitzer],24,"%s",dini_Get(str, "Besitzer"));
    haus[hausid][hID] = dini_Int(str, "ID");
    haus[hausid][hX] = dini_Float(str, "haX");
    haus[hausid][hY] = dini_Float(str, "haY");
    haus[hausid][hZ] = dini_Float(str, "haZ");
    haus[hausid][hPreis] = dini_Int(str, "Preis");
    }
    return 1;
    }


    an was könnte dann das liegen?

    Hey,


    habe C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.1.pwn(503) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.1.pwn(504) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\0.3c\gamemodes\SAP-RLv0.1.pwn(505) : warning 213: tag mismatch



    503-505 ist:
    haus[id][hX] = x;
    haus[id][hY] = y;
    haus[id][hZ] = z;
    diese gehen aber komischer Weise auch nicht weg :O keine ahnung weshalb die kommen, bei den anderen zuweisungen im CMD habe ich kein Problem..



    bitte dringend um hilfe.


    MfG: Apoolecu