[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
  • HuHu, da ich sowas noch nie gemacht habe, und garnicht weiß ob sowas überhaupt geht, wollte ich mal fragen ob ich einen String (unter anderem) in einen Dialog packen kann.
    Also sowas:


    format(string1,sizeof(string1),"%s",geheim);
    ShowPlayerDialog(playerid,DIALOG_ACHIEVMENT2,DIALOG_STYLE_LIST,""#HTML_GOLD23"Achievments",""string1"\n{FFB471}?????\n{FFB471}?????","Weiter","Schließen");


    Also SO gehts auf jedenfall nicht (Sagt mir der Compiler) aber wie denn dann?
    Liebe Grüße
    Moersy

  • Beitrag von SoulMan ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: hier bekommt man irgendwie nie hilfe in letzter zeit..früher war das anders ().

  • Wie setzt man nochmal richtig an? Bekomme gar keine Prints sodass ich schon die normale num row Abfrage entfernt habe.
    Kann mich bitte jemand kurz aufklären? :)

    KleineHilfe 2.0

  • Du musst mysql_query nutzen, oder, und das wäre besser, den Cache im Callback auslesen, das du in mysql_function_query angibst.

    Wenn ich mysql_query / tquery verwende sagt er mir number of arguments does not match definition.
    Per callback habe ich kein Problem, würde es aber gerne direkt im CMD versuchen umzusetzen weil ich es dort nicht hin kriege.

    KleineHilfe 2.0

  • mysql_tquery ruft ebenso ein Callback auf.
    Mit mysql_query würde es so aussehen:
    mysql_query(dbhandle, query);

    So funktionierts einigermaßen, allerdings werden alle modelid's mit der ID des Fahrzeugs mit dem Eintrag 2 erstellt. Sprich alles wird seperat geladen außer die ModelID, die wird jedem Fahrzeug gesetzt.(560)
    Erkennst du den Fehler? Habe jetzt provisorisch die neue vari definiert.


    DB Einträge: https://gyazo.com/655f3cc04912047c251135a54dfa7943

    KleineHilfe 2.0

  • Hey, wieso löscht sich nach 30 Sekunden mein PickUp nicht?



    forward RespawnPickUp(playerid);
    public RespawnPickUp(playerid)
    {
    DestroyPickup(pHP);
    return 1;
    }




    public OnPlayerDeath(playerid, killerid, reason) {



    //Health System
    new Float:hPos[3];
    GetPlayerPos(playerid, hPos[0], hPos[1], hPos[2]); //24
    pHP = CreatePickup(1240, 2, hPos[0], hPos[1], hPos[2]);
    SetTimerEx("Respawnpickup", 30000, false, "playerid",playerid);


    //Health System


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Du musst bei SetTimerEx nach false ein "d" oder ein "i" angeben (Integer).
    Mache es aber besser so:

    forward RespawnPickUp(pickup);
    public RespawnPickUp(pickup)
    {
    DestroyPickup(pickup);
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    //Health System
    new Float:hPos[3];
    GetPlayerPos(playerid, hPos[0], hPos[1], hPos[2]); //24
    new pickup = CreatePickup(1240, 2, hPos[0], hPos[1], hPos[2]);
    SetTimerEx("RespawnPickup", 30000, false, "d",pickup);

  • @Jeffry


    Hmm scheint nicht zu funktionieren und jetzt kann man die PickUps auch nicht aufheben.



    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    new Float:health;
    GetPlayerHealth(playerid,health);
    if(pickupid == pHP)
    {
    DestroyPickup(pHP);
    SetPlayerHealth(playerid, health+30);
    }
    return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Dann musst du es anders machen, und zwar so:
    new hPickup[MAX_PLAYERS] = {-1,...};


    forward RespawnPickUp(playerid);
    public RespawnPickUp(playerid)
    {
    if(hPickup[playerid] != -1) DestroyPickup(hPickup[playerid]);
    hPickup[playerid] = -1;
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(hPickup[i] == pickupid)
    {
    new Float:health;
    GetPlayerHealth(playerid,health);
    DestroyPickup(hPickup[i]);
    hPickup[i] = -1;
    SetPlayerHealth(playerid, health+30);
    return 1;
    }
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    //Health System
    new Float:hPos[3];
    GetPlayerPos(playerid, hPos[0], hPos[1], hPos[2]); //24
    if(hPickup[playerid] != -1) DestroyPickup(hPickup[playerid]);
    hPickup[playerid] = CreatePickup(1240, 2, hPos[0], hPos[1], hPos[2]);
    SetTimerEx("Respawnpickup", 30000, false, "d",playerid);