Wert in einen anderen Wert umwandeln

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 zusammen,
    ich habe folgendes Problem.
    Sagen wir mal, ich habe 10 Fleischstücke im Rucksack. Diese möchte ich aber in 2 Würstchen umwandeln.
    Zum Beispiel so. Ich habe SpielerInfo[playerid][fleisch] welches auch in einer Datei abgespeichert wird. Dieses möchte ich dann aber zu SpielerInfo[playerid][wurst] verarbeiten. So das nachher im Inventar 0 Fleisch und 2 Wurst steht. Wie kann ich das anstellen? Hab gerade irgendwie eine Blockade im Kopf.
    Hoffe ihr versteht was ich meine.


    MfG Rocky

  • Okay. Soweit ist das schon klar. Ich seh schon. Habe mich etwas falsch ausgedrückt. Ich möchte die Summe an Fleisch auslesen und diese dann in eine geringere Anzahl von Wurst verarbeiten. Sagen wir mal. Ich habe 12 Fleisch. Daraus werden 3 Würstchen. Habe ich 30 Fleisch wird daraus z.B. 15 Würstchen.

  • Du lässt das Fleisch auslesen.
    Das Fleisch lässt du dann mal die Anzahl der Würtschen pro Stück Fleisch rechnen.
    Dann setzt du die PlayerWürstchen auf das Ergebniss der Rechnung und das PlayerFleisch auf 0.


    //EDIT
    Dein Beispiel du hast 30 Fleisch und willst es zu 15 Würstchen machen.
    Also 1 Fleisch bring ein halbes Würstchen.
    Also das Fleisch * 0.5 = die Würstchen.

  • while (SInfo[playerid][fleisch] > 3) {
    SInfo[playerid][fleisch] = SInfo[playerid][fleisch] - 3;
    SInfo[playerid][wurst] ++;
    }


    3 Wäre jetzt halt der Faktor, 3x Fleisch für 1x Wurst.


    Alternativ:



    new faktor = (SInfo[playerid][fleisch] - (SInfo[playerid][fleisch] % 3)) / 3;
    SInfo[playerid][fleisch] = SInfo[playerid][fleisch] % 3;
    SInfo[playerid][wurst] = SInfo[playerid][wurst] + faktor;


    Ist jetzt im Editor geschrieben, könnte Fehler enthalten.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Klappt nicht, z.B. wenn er 14 Fleisch hat und der Faktor 3 ist. Dann kommt 4,66 wurst als Ergebnis und das will er ja nicht.


    while (SInfo[playerid][fleisch] > 3) {
    SInfo[playerid][fleisch] = SInfo[playerid][fleisch] - 3;
    SInfo[playerid][wurst] ++;
    }


    3 Wäre jetzt halt der Faktor, 3x Fleisch für 1x Wurst.


    Hab ich dir schonmal gesagt das du ein Genie bist? :p

    • Offizieller Beitrag

    Soweit ich weiß geht das auch in Pawn, ich zeig dir mal wie ich es in PHP machen würde.

    Code
    $CountFleischToWurst = 3; // Wie viel Fleisch = 1 Wurst
    $Fleisch = 19; // Wie viel Fleisch habe ich
    echo $var = $Fleisch  % $CountFleischToWurst . '<br>'; // Wie viel Fleisch übrig bleibt
    echo $validint = $Fleisch - $var . '<br>'; // Wie viel Fleisch verarbeitet werden kann
    echo $wurst = $validint / $CountFleischToWurst . '<br>'; // So viele Würste habe ich nun


    Ab da einfach die mit den Variablen arbeiten.
    Z.B Wurst und Fleisch setzen.



    Edit:
    bei

    Code
    $CountFleischToWurst = 3;
    $Fleisch = 19;
    $var = $Fleisch  % $CountFleischToWurst;
    $validint = $Fleisch - $var;
    $wurst = $validint / $CountFleischToWurst;
    echo 'Es bleibt '. $var .' Fleisch übrig<br>';
    echo 'Es können '. $validint .' Fleisch zu '. $wurst .' Würste verarbeitet werden<br>';


    Wird folgendes ausgegeben:

    Zitat

    Es bleibt 1 Fleisch übrig
    Es können 18 Fleisch zu 6 Würste verarbeitet werden


    Bei 19 Fleisch und mit jeweils 3 zur einer Wurst gibt es 6 Würste und 1 Fleisch bleibt übrig.