[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
  • Ich hab auch schon das nächste (wiederkehrende) problem :D



    Code
    if(strcmp(mInfo[vModel][fuelTyp], kraftstoff)){
    				    printf("mInfo: %s, Kraftstoff: %s", mInfo[vModel][fuelTyp], kraftstoff);
    				}else{
    				    printf("mInfo: %s, Kraftstoff: %s NICHT KORREKT", mInfo[vModel][fuelTyp], kraftstoff);
    				}

    Ich versteh das nicht xD...


    Ich möchte kontrollieren ob kraftstoff = mInfo[vModel][fuelTyp] ist wie rum man das macht ist ja eigentlich wurscht oder?


    Als ergebnis kommt allerdings (in der Konsole):


    mInfo: Benzin, Kraftstoff: Benzin NICHT KORREKT


    Warum ? xD es ist doch beides gleich lol ... Hoffe das ist eine kleine Scripting frage, ansonsten mach ich nen Beitrag auf.
    MfG
    XonarZ

  • if(strcmp(mInfo[vModel][fuelTyp], kraftstoff))

    Schau ins Wiki: [wiki]strcmp[/wiki]


    Die Funktion gibt 0 zurück, wenn die Strings übereinstimmen.


    Somit musst du auch das abfragen:


    if(strcmp(mInfo[vModel][fuelTyp], kraftstoff) == 0)


    oder kurz:


    if(!strcmp(mInfo[vModel][fuelTyp], kraftstoff))

    ast2ufdyxkb1.png


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

  • Nabend ihr Brotfische,
    Ich wollte ein Befehl machen wo er mir alle Admins ausliest und in ein Dialog anzeigt.
    Das Funktioniert 1 Sahne aber ich weiß gerade 0 wie ich das machen soll am besten dass ich dann den Spieler auswählen kann und diesen Bearbeite.
    Mir ist Klar ich muss irgendwie abfragen welches "Listitem" ich ausgewählt habe und das mit der anzahl abgleichen von denen die ich ausgelesen habe.



    Code
    case DIALOG_MEMBERS:
    {
         if(!response) return 1;
    }
  • Hey,
    Kleine Frage:
    Wie kann ich bestimmte Ingame-Sounds abspielen


    Beispiel:
    Wenn man geblitzt wird kommt der Sound wenn man mit einer Kamera ein Foto macht.
    Also Sounds die es im Spiel gibt, gibt es davon eine Liste?


    Oder gibt es so etwas überhaupt? Falls nein muss ich dann einfach ein Sound manuell hochladen und abspielen?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • ocmd:pilot(playerid,params[])
    {
    new choosed[MAX_PLAYER_NAME];
    if(sscanf(params, "s", choosed))
    {
    SendClientMessage(playerid, -1, "|__________________ Pilot Options __________________|");
    SendClientMessage(playerid, -1, "Benutze: /pilot [name]");
    SendClientMessage(playerid, -1, "Commands: find, duty");
    SendClientMessage(playerid, -1, "|________________________________________________|");
    return 1;
    }
    if(strcmp(choosed,"duty",true) == 0)
    {
    for(new pv = 0; pv < sizeof(PilotVehs); pv++)
    {
    new newcar = GetPlayerVehicleID(playerid);
    if(newcar == PilotVehs[pv])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast EINE Schlüssel!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"You are in no Pilot Vehicle!");
    return 1;
    }
    }


    }
    return 1;
    }


    SendClientMessage(playerid,COLOR_RED,"You are in no Pilot Vehicle!");


    Bekomme die nachricht immer, selbst wenn ich in einem Pilot veh bin.

  • Warum wird immernur der erste Eintrag in der Datenbank Geladen?

  • Warum wird immernur der erste Eintrag in der Datenbank Geladen?

    Mach das mal public mal so:



    //EDIT Seite lädt zu langsam ... statt die "0" ein "i"

  • Beitrag von Jeffry ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • new Float:literCount = floatstr(inputtext);

    Danke... klappt schon mal ... Ich habe noch eine Frage:


    Wenn ich als Beispiel: 1.05 eingebe, erkennt er es als 1.04 ... muss ich also den Wert Manuell erhöhen ?


    //EDIT Warum frage ich überhaupt, ich machs einfach ^^ (+0.01)
    //EDIT 2 Funktioniert nur nicht immer ^^ wenn ich nun 1.49 eingebe, kommt 1.50^^ brauche doch hilfe^^


    MfG
    XonarZ

  • Wenn ich als Beispiel: 1.05 eingebe, erkennt er es als 1.04 ... muss ich also den Wert Manuell erhöhen ?

    Ja, da entsteht ein kleiner Rundungsfehler.


    So kannst du es lösen:


    C
    //Oben im Skript
    #define FLOAT_ERROR (0.000001)
    
    
    //Dann so nutzen:
    floatstr(inputtext)+FLOAT_ERROR

    ast2ufdyxkb1.png


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

  • Beitrag von LeonMrBonnie ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: zu langsam ().
  • Ja, da entsteht ein kleiner Rundungsfehler.
    So kannst du es lösen:


    C
    //Oben im Skript
    #define FLOAT_ERROR (0.000001)
    
    
    //Dann so nutzen:
    floatstr(inputtext)+FLOAT_ERROR

    Danke ... Leider macht er nun aus 1.04 = 1.05


    Ich hab das +FLOAT_ERROR wieder weggemacht und nun macht bei 1.04 und 1.05 die richtigen ergebnisse, nur leider bei 1.49 nicht da kommt 1.5 raus...


    MfG
    XonarZ

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen