[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
  • Yo, wie multipliziere ich den inputtext?


    Sprich:




    Mit freundlichen Grüßen
    JustMe.77 8)

  • Habe das mal so eingefügt und erhalte 0 Errors. Aber sobald ich mein FS reloade crasht mein Server.


    Serverlog:



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Unter den Includes


    new ergebnis = strval(inputtext) * 2;


    Dann hatte ich es Anfangs hiermit versucht


      //format(str, sizeof(str), "You have bought a ticket for %i$ and won %i $ !", strval(inputtext)), strval(inputtext))*2;


    Habs dann aber umgeändert und hiermit versucht


    format(str, sizeof(str), "You have bought a ticket for %i$ and won %i $ !", strval(inputtext)),ergebnis;


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Nein, das darfst du nicht unter den Includes einfügen, das musst du im Befehl vor dem format einfügen.
    new ergebnis = strval(inputtext)*2;
    format(str, sizeof(str), "You have bought a ticket for %i$ and won %i $ !", strval(inputtext), ergebnis);


    Oder:
    format(str, sizeof(str), "You have bought a ticket for %i$ and won %i $ !", strval(inputtext), strval(inputtext)*2);


    Beides kommt auf das Gleiche raus.

  • Funktioniert sehr gut :D


    Wieso wird mir mein String im Textdraw und im Chat angezeigt? Sollte nur im Chat sein. (Kommt seit dem ich mehrere Farben verwende)



    format(str, sizeof(str), "You have bought a ticket for {00FF00}%i{FFFFFF}$ and {00FF00}won %i $ !", strval(inputtext), strval(inputtext)*2);
    SendClientMessage(playerid,0xFFFFFFFF, str);


    Mit freundlichen Grüßen
    JustMe.77 8)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Tatsächlich, habe nicht daran gedacht. (Lösung 1 war hilfreich)


    Edit: Frage dazu, gibt's als Sound dieses Geräusch was immer kommt wenn man ein Sprunk Automaten bedient?


    Edit2: PlayerPlaySound(playerid,42600,0,0,0);


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • @Jeffry


    Ich habe ein selbsterstelltes Sprunk Object erstellt und habe angefangen die Funktionen nachzumachen wie sie Standart bei GTA sind. Es klappt bis jetzt eigentlich relativ gut, nur gibt es eine kleine Sache die ich mir nicht erklären kann:


    Wenn ich ungefähr 9mal ein Getränk "nehme", geht mein Health wieder auf die Hälfte.
    Mache ich das bei den schon existierenden Automaten passiert da nichts.


    Hier mein Code unter OnPlayerKeyStateChange



    else if(IsPlayerInRangeOfPoint(playerid, 0.2,1411.1259,-1484.6494,106.6032) )//Sprunk Machine
    {
    ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,0,0,0,0);
    PlayerPlaySound(playerid,42600,0,0,0);
    GivePlayerMoney(playerid,-1);
    new Float:health;
    GetPlayerHealth(playerid,health);
    SetPlayerHealth(playerid,health+33.3);
    }


    Frage Nummer 2: Geht mein HP mit meinem aktuellen Code über 100?


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Das ist ein Fehler von SA-MP, dass die Health-Anzeige ab 255 (?) wieder runter geht. Du hast die Health aber trotzdem, sie wird nur nicht angezeigt. Fällst du wieder unter den Wert, dann geht sie wieder hoch. Das ist auch bei 511 so, etc... (256er-Schritte, wenn ich mich richtig erinnere).

  • Noch was, habe eine Funktion womit der Spieler nur alle 5 Sekunden ein Getränk trinken kann, doch nach einmaligen trinken erscheint immer die Errormeldung, egal wie lange man wartet.



    new Waitingtime[MAX_PLAYERS];


    #define WaitingtimeInterval 5000


    OnPlayerKeyStateChange Teil



    else if(IsPlayerInRangeOfPoint(playerid, 0.2,1411.1259,-1484.6494,106.6032) )//Sprunk Machine
    {
    {
    if (gettime() <Waitingtime[playerid])
    return SendClientMessage(playerid,0xFFFF0000, "Please wait.");
    Waitingtime[playerid] = gettime() + WaitingtimeInterval;



    }
    if(GetPlayerMoney(playerid) <1) // 1 $ required.
    {
    // Won't heal the player unless he got at least 1 $.
    }
    else

    {

    ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,0,0,0,0);
    PlayerPlaySound(playerid,42600,0,0,0);
    GivePlayerMoney(playerid,-1);
    new Float:health;
    GetPlayerHealth(playerid,health);
    health += 33.3;
    if(health > 100.0) health = 100.0;
    SetPlayerHealth(playerid,health);
    }

    }
    }


    Woran liegts?


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Ah, jetzt klappts :D!


    Letzteres:


    Gibts eine Funktion womit ich abfrage ob der Spieler auf das Objekt schaut, irgendwie mit einer Kamera Abfrage oder sonstiges?Sonst kann der Spieler vom Rücken aus ein Getränk nehmen..


    Mit freundlichen Grüßen
    JustMe.77 8)