Beiträge von apoolecu

    sorry warte probier mal, strval(); && floatstr();


    strval = um zahlen auszulesen
    floatstr = um Floats auzulesen


    du musst jetzt angeben wie viele daten zum auslesen da sind, wenn du das hast müsstes du nun z.B. new model; verwenden und dann
    z.B. model = strval(0);


    dann hast du schon die model id. die verwendest du dann im string und erstellst es dann einfach.


    MfG: Apoolecu

    Moin,


    habe von Robdeflop das Tutorial für den Fahrzeug Tacho genutzt. Jetzt habe ich aber noch verschiede
    andere Anzeigen hinzugefügt (Benzin, KM, Zustand), diese aber werden nicht richtig dargestellt.


    der Code wäre


    for(new i = 0; i < MAX_PLAYERS; i++) //Tacho Daten
    {
    Tacho[i] = TextDrawCreate(320.00, 380.00, " Km/h:---");
    TextDrawLetterSize(Tacho[i], 0.4, 1.1);
    TextDrawFont(Tacho[i], 1);
    TextDrawSetShadow(Tacho[i], 2);
    TextDrawSetOutline(Tacho[i],0);
    }


    &&


    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[258];//Besitzerstring[128]; //Benzinstring[20];
    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;
    }
    Benzin wird jetzt auch angezeigt aber da kommt nicht der richtige Wert raus :O nur 0/0
    Besitzer hingegen gar nicht...


    MfG; Apoolecu


    EDIT: Code Aktualisiert + Problem geändert
    EDIT: Code Akutalistert²
    EDIT: Code Ausgebessert war 3 mal drinnen

    Moin,


    habe gerade eine Lade funktion erstellt. Habe auch alles soweit nach dem Dini Tutorial gemacht aber, ich bekomme jetz
    Warnings und ich weis nicht woran es liegt.



    public LadeHaus()
    {
    for(new i = 0; i < MAX_HOUSES; i++)
    {
    new str[32];
    new hausid = haus[i][hID];
    format(str, sizeof(str), "%d.haus", hausid);
    if(hausid == 0)
    {
    return 1;
    }
    if(fexist(str))
    {
    haus[hausid][hBesitzer] = dini_Int(str, "Besitzer");
    haus[hausid][hID] = dini_Int(str, "ID");
    haus[hausid][hX] = dini_Float(str, "hX");
    haus[hausid][hY] = dini_Float(str, "hY");
    haus[hausid][hX] = dini_Float(str, "hX");
    haus[hausid][hPreis] = dini_Int(str, "Preis");
    }
    }
    return 1;
    }


    warnings:
    C:\Users\Christian\Desktop\samp 0.3b\gamemodes\SAP-RLv0.1.pwn(741) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\samp 0.3b\gamemodes\SAP-RLv0.1.pwn(742) : warning 213: tag mismatch
    C:\Users\Christian\Desktop\samp 0.3b\gamemodes\SAP-RLv0.1.pwn(743) : warning 213: tag mismatch


    bitte um dringende Hilfe

    Moin,


    hab gerade diese Verwarnung bekommen:



    So jetzt würde ich gerne wissen warum ich den diese Verwarnung bekommen habe? Nur weil ich meine Thread verbessert habe?



    MfG: Apoolecu

    xD also mein Win7 Akzeptier dies.


    neee hab ja auch schon ein User & Car System in diesem ordner und es funktioniert im gleichen Prinzip, aber warum es bei diesem System nicht geht kp :O


    kann mir denn wirklich keiner helfen? Bitte ist dringend :(

    Moin,


    ich habe heute mal n Haus System für mein Script gebastelt, aber jetzt habe ich das Problem das die Dateien nicht erstellt werden :o



    Code: ==CMD==


    if(strcmp(cmd, "/haus", true) == 0)
    {
    new hausid ,Float: hx2, Float: hy2, Float: hz2, sname[MAX_PLAYER_NAME];
    new tmp[125];
    tmp = strtok(cmdtext, idx);
    GetPlayerPos(playerid, hx2, hy2, hz2);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Benutze: /haus [preis]");


    hausid = strval(tmp);
    new pname[24];
    new str[125];
    new i[125];
    GetPlayerName(playerid,pname,sizeof(pname));
    new id = CreatePickup(1272,23, hx2,hy2,hz2,-1);
    Haus[id][hID] = id;
    Haus[id][hModel] = 1272;
    strmid(Haus[id][hBesitzer], pname,0, sizeof(pname)-1, MAX_PLAYER_NAME);
    Haus[id][hX] = hx2;
    Haus[id][hY] = hy2;
    Haus[id][hZ] = hz2;
    Haus[id][hPreis] = hausid;
    SaveHaus(id);
    format(str, sizeof(str), "Haus Nr %d Preis: %d hergestellt von %s.",id,hausid,sname);
    format(str, sizeof(i),"Info MSG: Haus ID: %d Preis: %d Ersteller/Owner: %s",id,hausid,pname);
    SendClientMessageToAll(COLOR_GREEN,i);
    print(str);
    return 1;
    }


    Code: ==SaveHaus==
    public SaveHaus(hausid)
    {
    if(hausid <= 0)
    {
    return 1;
    }
    new str[125];
    format(str, sizeof(str), "/AP(RPG)/Haus/%d.haus", hausid);
    new File:cfile = fopen(str, io_write);
    new filestr[125];
    format(filestr, sizeof(filestr), "%d|%.1f|%.1f|%.1f|%.1f|%d|%d",
    hausid,
    Haus[hausid][hBesitzer],
    Haus[hausid][hX],
    Haus[hausid][hY],
    Haus[hausid][hZ],
    Haus[hausid][hPreis],
    Haus[hausid][hModel]
    );
    fwrite(cfile, filestr);
    SendClientMessageToAll(COLOR_YELLOW, filestr);
    fclose(cfile);
    return 1;
    }


    Also wenn ich IG /haus [Preis] eingebe erscheint das Pickup aber die MSG, mit den Infos erscheint nicht.
    Genau so wenig erscheint eine Message in der Konsole :o


    MfG: Apoolecu


    EDIT: kann es sein das es nicht so einfach geht mit dem Speichern so wie ich es gemacht habe?

    Moin,


    bei meinem Vehicle CMD wird der aBesitzer nicht gespeichert, ich frage mich schon die ganze zeit an was das liegt :o


    Code:


    if(strcmp(cmd, "/veh", true) == 0)
    {
    new carid ,Float: cx, Float: cy, Float: cz, Float: cAngle, pname[MAX_PLAYER_NAME];
    GetPlayerFacingAngle(playerid, cAngle);
    new tmp[125];
    tmp = strtok(cmdtext, idx);
    GetPlayerPos(playerid, cx, cy, cz);
    if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Benutze: /veh [Modell ID]");

    carid = strval(tmp);
    if(IsValidVehicle(carid))
    {
    GetPlayerName(playerid,pname,sizeof(pname));
    new id = CreateVehicle(carid, cx+2,cy,cz,cAngle+4,0,0,-1);
    Auto[id][aID] = id;
    Auto[id][aModel] = carid;
    strmid(Auto[id][aBesitzer], pname,0, sizeof(pname)-1, MAX_PLAYER_NAME);
    Auto[id][aX] = cx;
    Auto[id][aY] = cy;
    Auto[id][aZ] = cz;
    Auto[id][aAngle] = cAngle;
    Auto[id][aBenzin] = 75;
    Auto[id][aMaxBenzin] = 100;
    Auto[id][aZustand] = 1000;
    Auto[id][aMeter] = 0;
    SaveVehicle(id);
    }
    return 1;
    }


    da kommen nur komische buchstaben z.B. d etc.


    SaveVehicle:


    public SaveVehicle(carid)
    {
    if(carid <= 0)
    {
    return 1;
    }
    Auto[carid][aModel] = GetVehicleModel(carid);
    new str[125];
    format(str, sizeof(str), "/AP(RPG)/Vehicle/%d.car", carid);
    new File:cfile = fopen(str, io_write);
    new filestr[125];
    format(filestr, sizeof(filestr), "%d|%d|%.1f|%.1f|%.1f|%.1f|%d|%d|%d|%d|%s",
    carid,
    Auto[carid][aModel],
    Auto[carid][aBesitzer],
    Auto[carid][aX],
    Auto[carid][aY],
    Auto[carid][aZ],
    Auto[carid][aAngle],
    Auto[carid][aBenzin],
    Auto[carid][aZustand],
    Auto[carid][aMeter],
    Auto[carid][aMaxBenzin],
    Auto[carid][aBesitzer]
    );
    fwrite(cfile, filestr);
    SendClientMessageToAll(COLOR_YELLOW, filestr);
    fclose(cfile);
    return 1;
    }



    bitte ganz dringend um hilfe :O



    MfG: Apoolecu


    EDIT: Normal muss man das ja mit %s speichern oder? Da es ja ein Name ist bzw. aus buchstaben besteht :O