Gamblingsystem funktioniert nicht wirklich..

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
  • Soweit ich sehe sollte der Timer aufgerufen werden, aber ich denke das Problem liegt dadran.
    das du playersonline abfragst wo bei das nur ein new ist das du erstellt hast
    Hier die Antwort:

    Spoiler anzeigen

    new onlineids[MAX_PLAYERS], playersonline, pname[16];


    und dann fragst du das ab?? obwohl playersonline ein new ist und sogesen(0)


    onlineids[playersonline] = i;
    GetPlayerName(onlineids[random(playersonline)], pname, sizeof(pname));

    Spoiler anzeigen
    da du ja
    onlineids so definiert hast
    onlineids[MAX_PLAYERS]
    und dann das so so setzt
    onlineids[playersonline] = i;
    Das heist da playersonline ein new ist und nicht gesetzt wird ist es (0),
    und das i bedeutet ja die id von MAX_PALYERS.
    Groben und ganzen, die abfrage ergibt keinen sinn.
    da du onlineids[0] = (MAX_PALYERIDS) setzen lässt.


    ich würde es so machen.
    Dies ist aus diesem Forum: http://forum.sa-mp.com/showthread.php?t=259885
    stock SelectRandomPlayer()
    {
    new random = Random(MAX_PLAYERS);
    if(IsPlayerConnected(random))
    {
    return random;
    }
    else
    {
    SelectRandomPlayer();
    }
    }

    Spoiler anzeigen
    also sogesehen so müsste es gehen:

    forward Gambling();
    public Gambling()
    {
    new randomplayer = SelectRandomPlayer(), pname[16];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && gamblingJoined[i] == 1)
    {
    GetPlayerName(randomplayer, pname, sizeof(pname));
    format(pname, sizeof(pname), "Und der Gewinner von der Auslosung ist... %s!", pname);
    SendClientMessage(i, WEISS, pname);
    SendClientMessage(i, WEISS, "Der Gewinn:");
    format(pname, sizeof(pname), "Geld: %i$\tMaterialien: %i", cGambling[Geld],cGambling[Materialien]);
    SendClientMessage(i, WEISS, pname);
    format(pname, sizeof(pname), "Spice: %ig\tSpicesamen: %i", cGambling[Spice],cGambling[Spicesamen]);
    SendClientMessage(i, WEISS, pname);
    format(pname, sizeof(pname), "Ganja: %ig\tGanjasamen: %i", cGambling[Ganja],cGambling[Ganjasamen]);
    SendClientMessage(i, WEISS, pname);
    format(pname, sizeof(pname), "Opium: %ig\tOpiumsamen: %i", cGambling[Opium],cGambling[Opiumsamen]);
    SendClientMessage(i, WEISS, pname);
    format(pname, sizeof(pname), "Kokain: %ig\tKokainsamen: %i", cGambling[Kokain],cGambling[Kokainsamen]);
    SendClientMessage(i, WEISS, pname);

    Spoiler anzeigen
    Spieler[randomplayer][pMaterials] = cGambling[Materialien];
    // ...
    cGambling[Materialien] = 0;
    // ...

    Spoiler anzeigen
    SendClientMessage(i, WEISS, "Eine neue Runde ist so mit gestartet, viel Glück!");
    }
    }
    return 1;
    }


    Wenn es geklappt hat hoffe ich auf eine Antwort :thumbup: