[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid)) != 435)) return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du hast den falschen Anhänger. Du brauchst den Produkt Anhänger!");


    Meinst du so? Wen ja der fehler bleibt gleich :o

  • Wen ja der fehler bleibt gleich :o

    Dann printe dir doch mal, was er ausgibt in der Konsole...



    new veh = GetPlayerVehicleID(playerid);
    new trailer = GetVehicleTrailer(veh);
    new model = GetVehicleModel(trailer);
    printf("veh: %d | trailer: %d | model: %d",veh,trailer,model);
    Was sagt er denn dann? :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Du hast auch die Klammern falsch gesetzt...oh man..


    C
    if(GetVehicleModel(GetVehicleTrailer(GetPlayerVehicleID(playerid))) != 435) return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Du hast den falschen Anhänger. Du brauchst den Produkt Anhänger!");

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Danke hab ich auch gesehn :D


    So habe mal eine Frage das Funktioniert soweit...
    Aber das Problem ist wen ich es ablade werden z.b die 30k Mats ersetzt mit den was ich abgeladen habe?
    Ich verstehe nicht ganz warum das nicht so klappt..

  • Frak[1][frakEisen] += (Vehicle[vehicleid][vehMats]); -> Soll in die Mats kasse was ich abgeladen habe. Wen angenommen 245.000 drinn sind in der Kasse sollte ja nur 5000 Materialien eingeladen werden.
    wen ich z.b 30.000 geladen habe wird das ja komplett ersetzt in 30.000 sind aufeinmal die 245.000 Materialien weg.


    Vehicle[vehicleid][vehMats] -= Vehicle[vehicleid][vehMats]; Sollte dazu dienen das die Abgeladenen Materialien die ich abgeladen habe abziehen. So das man noch schauen kann wieviel in den Fahrzeug noch drinn sind.


    -> Hinfahren Materialien abladen heißt wen ich 5000 Materialien ablade sind so gesehn wen ich 30.000 geladen habe sind automatisch dann noch 25.000 drinn oder etwa nicht?

  • Vehicle[vehicleid][vehMats] -= Vehicle[vehicleid][vehMats];

    Also da steht ja quasi x -= x;


    Eine äquivalente andere Schreibweise wäre x = x-x


    Daraus resultiert logischerweise x=0 was du da machst.



    Hinfahren Materialien abladen heißt wen ich 5000 Materialien ablade sind so gesehn wen ich 30.000 geladen habe

    Wie willst du denn 5000 abladen, wenn du gar keinen Parameter angibst.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beitrag von Sub Royal ()

    Dieser Beitrag wurde von Canna aus folgendem Grund gelöscht: Dann schreib sie auch nacher ().
  • einfach nur hinfahren und die menge was das biz braucht abladen. Wen zuviel geladen ist bleibt der Rest bzw sollte es bleiben. Schließlich bezahlt man dafür so gesehn.

    Dann musst du das berechnen.


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Hab es soweit angepasst.


    Aber wen die Fraktion nur 5.000 brauchen liefert er trotzdem 25k ab?

  • Hab es soweit angepasst.

    Nein, du hast vergessen beim else Vehicle[vehicleid][vehMats] = 0; zu setzen..so wie in meinem Code.



    Aber wen die Fraktion nur 5.000 brauchen liefert er trotzdem 25k ab?

    Bist du dir denn sicher, dass nur 5k gebraucht werden?


    Printe dir doch mal gebraucht und schau, welcher Wert da berechnet wird.


    Und ich hoffe dir ist klar, dass du angegeben hast, dass in das Lager 250k passen.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • habe schon 245.000 rein gemacht per Datenbank.


    Das wird ausgegeben:


    LOG:



    Fraktion 1 +: Materialien in die Fraktion: 250000
    Fraktion 1 +: Geld für die Lieferung: 150000
    Fraktion 1 +: Materialien im Fahrzeug: 25000
    Fraktion 1 +: Geld wurde überweisen: 150000, Materialien hat er abgeladen: 250000


    CODE:



    Frak[1][frakEisen] += gebraucht;
    format(string, sizeof(string), "{6E7271}Verbrecher mit /arrest einsperren\n\n{7EF201}Waffenkammer (LSPD)\n%d/"#MAX_MATERIALIEN"\nMaterialien", Frak[1][frakEisen]);
    Update3DTextLabelText(lspd3d, COLOR_WHITE, string);
    printf("Fraktion 1 +: Materialien in die Fraktion: %d", Frak[1][frakEisen]);
    format(string, sizeof(string), "{21DD00}Gehalt: %d$", money);
    SendClientMessage(playerid, COLOR_WHITE, string);
    printf("Fraktion 1 +: Geld für die Lieferung: %d", money);
    format(string, sizeof(string), "{21DD00}Materialien: %d/50000", Vehicle[vehicleid][vehMats]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    printf("Fraktion 1 +: Materialien im Fahrzeug: %d", Vehicle[vehicleid][vehMats]);
    Spieler[playerid][pBank] += money;
    format(string, sizeof(string), "{33AA33}* Staatskasse hat dir %d$ überwiesen. Betreff: Materialien abgeliefert (%d)", money, gebraucht);
    SendClientMessage(playerid, COLOR_WHITE, string);
    printf("Fraktion 1 +: Geld wurde überweisen: %d, Materialien hat er abgeladen: %d", money, gebraucht);

  • Ja, stimmt ja alles.


    Er hat 250k abgeladen, das bedeutet, in der Frak[1][frakEisen] das war leer.


    Anscheinend hast du da einen Fehler beim Laden :)


    printe dir das mal, bevor du da was einlädst.


    bzw zeig mal wie du es lädst ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • 25.000 sagt er mir aus wen ich lade:





    LOG:


    Materialien geladen: 25000

  • in der Frak[1][frakEisen] das war leer.


    Anscheinend hast du da einen Fehler beim Laden

    Liest du eig was ich schreibe? xD


    Und noch was...


    der Log oben, stimmt doch überhaupt nicht mit dem Code...ein auf der vorherigen Seite...


    Also printe dir das und zeig nochmal deinen aktuellen Befehl X/

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Frak[1][frakEisen] <- Negativ ich kann mich ausrüsten also sind Materialien vorhanden.
    habe dies schon getestet wen keine vorhanden sind kann man sich nicht ausrüsten.


    Verstehe nicht was genau du gerade willst das ist der Log wen ich das Geladen habe:



    Der Log wen ich die Materialien geladen habe:


    Materialien geladen: 15000



    So das ist der Command für das Abladen:





    So das sind beide Command.
    Wie bereits ich geschreieben habe habe ich den fehler schon beim laden gesucht da liegt kein fehler da die anzeige genauso daran liegt (3DTextLabel)
    Da steht es genauso in der DB: 245.000 und maximale Materialien 250.0000
    So verstehe jetzt nicht ganz wo wie was? printe doch schon und er gibt mir immer 0 aus siehe da:



    Fraktion 1 - 1: Gebraucht: 0
    Fraktion 1 - 2: Gebraucht: 0

  • So das sind beide Command.

    Jaaa und die sind falsch.


    Wie ist es möglich...dass du es verkackt hast 4 Zeilen zu kopieren?!?!?!?!


    else
    {
    Vehicle[vehicleid][vehMats] -= gebraucht;
    Frak[1][frakEisen] += gebraucht;

    Das hast du da stehen.


    else
    {
    Vehicle[vehicleid][vehMats] = 0;
    Frak[1][frakEisen] += Vehicle[vehicleid][vehMats];

    Das hab ich da stehen...fällt dir irgendwie..irgendwas auf?!?!?!



    Negativ ich kann mich ausrüsten also sind Materialien vorhanden.
    habe dies schon getestet wen keine vorhanden sind kann man sich nicht ausrüsten.

    Habe ich dich gefragt ob du dich ausrüsten kannst oder ob ich wissen will OB da was drinnen ist?
    Nein ich habe dich gefragt WIE VIELE GENAU geladen werden und dafür musst du das printen.



    Wie bereits ich geschreieben habe habe ich den fehler schon beim laden gesucht da liegt kein fehler da die anzeige genauso daran liegt (3DTextLabel)
    Da steht es genauso in der DB: 245.000 und maximale Materialien 250.0000

    Das hattest du nicht geschrieben, aber gut zu wissen.


    Ja du solltest natürlich noch prüfen ob gebraucht 0 ist, dann ist ja klar, dass er nichts mehr benötigt und du kannst eine Fehlermeldung ausgeben.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S