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
  • if(strcmp(cmdtext, "/starterlaubnis", true) == 0 || strcmp(cmd, "/se", true) == 0)
    {
    if(PlayerInfo[playerid][pTeam] == 2)
    {
    new zufall = 1 + random(2);//zufall wird erstellt und wird 1 oder 2 ausspucken
    if(zufall == 1)//Wenn zufall 1 ist
    {
    SendClientMessage(playerid,0x33FF00FF,"Starterlaubnis genehmigt!!");//Befehl der sagt das man gewonnen hat
    return 1;//Befehl Ende
    }
    else if(zufall == 2)//aber wenn zufall 2 ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Starterlaubnis nicht genehmigt!");//Nachricht das man verloren hat
    return 1;//Befehl Ende
    }
    }
    return 1;
    }


    wenn es else if(zufall == 2)


    ist dann geht der zufall garnicht, es muss


    if(zufall == 2)


    heißen nur so als kleiner tipp

  • Wieso geht das bei mir nicht?
    new Float:gRandomPlayerSpawns[][3] = {
    {1921.6819,-2232.2805,13.5469}, //LSFLUGHAFEN
    {-1375.9813,-260.1061,14.1440}, //SFFLUGHAFEN
    {1630.0172,1624.2849,10.8203}, //LVFLUGHAFEN
    {408.7224,2536.5388,16.5469} //LVSCHROTTFLUGHAFEN
    };


    OnPlayerSpawn:
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player

  • Was mich grad wundert, normal muss da ja nix Deklariert werden da sizeof schon die größe zurückgibt,
    sicher das du den Code unter OnPlayerSpawn hast ?


    new Float:DieSpawns[][3] = {
    {0000.0000,0000.0000,0000.0000},
    {0000.0000,0000.0000,0000.0000},
    {0000.0000,0000.0000,0000.0000}
    };


    new randompos = random(sizeof(DieSpawns));
    SetPlayerPos(playerid,DieSpawns[randompos][0],DieSpawns[randompos][1],DieSpawns[randompos][2);

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()

  • habe den Befehl so wie beschrieben gemacht allerdings gewinnt man immer


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/zufall", true) == 0)//Befehl beginnt
    {
    new geld = random(100);
    new zufall = random(2);//zufall wird erstellt und wird 1 oder 2 ausspucken
    if(zufall == 1)//Wenn zufall 1 ist
    {
    SendClientMessage(playerid,0x33FF00FF,"Du hast gewonnen!");//Befehl der sagt das man gewonnen hat
    GivePlayerMoney(playerid,geld);//Halt der Gewinn. Hier 1$
    return 1;//Befehl Ende
    }
    else if(zufall == 2)//aber wenn zufall 2 ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast verloren!");//Nachricht das man verloren hat
    GivePlayerMoney(playerid,-geld);//Halt abzug von Geld weil man verloren hat
    return 1;//Befehl Ende
    }
    return 1;
    }
    return 0;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hallo dazu habe ich eine Frage und zwar:


    Wie mache ich das der Spieler dies z.B nur alle 4 Stunden darf sprich wenn er es jetzt schon 1 mal gemach hat das er 4 Stunden warten muss und dann wieder den befehl nutzten darf?

  • kann man auch ein zweites random in ein if(zufall == X) setzen?


    also z.B.



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/zufall", true) == 0)//Befehl beginnt
    {
    new geld = random(100);
    new zufall = random(3);//zufall wird erstellt und wird 1 oder 2 ausspucken
    if(zufall == 1)//Wenn zufall 1 ist
    {
    SendClientMessage(playerid,0x33FF00FF,"Du hast gewonnen!");//Befehl der sagt das man gewonnen hat
    GivePlayerMoney(playerid,geld);//Halt der Gewinn. Hier 1$
    return 1;//Befehl Ende
    }
    if(zufall == 2)//wenn zufall 2 ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast verloren!");//Nachricht das man verloren hat
    GivePlayerMoney(playerid,-geld);//Halt abzug von Geld weil man verloren hat
    return 1;//Befehl Ende
    }
    if(zufall == 3)//wenn zufall 3 ist
    {
    new zufall2 = random(2);
    if(zufall2 == 1) //wenn zufall2 1 ist
    {
    SendClientMessage(playerid,0x33FF00FF,"Du hast gewonnen!");//Befehl der sagt das man gewonnen hat
    GivePlayerMoney(playerid,geld);//Halt der Gewinn. Hier 1$
    return 1;//Befehl Ende
    }
    if(zufall2 == 2)//aber wenn zufall2 2 ist
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast verloren!");//Nachricht das man verloren hat
    GivePlayerMoney(playerid,-geld);//Halt abzug von Geld weil man verloren hat
    return 1;//Befehl Ende
    }
    return 1;
    }
    return 1;
    }
    return 1;
    }


    bei mir funktioniert das so nicht bzw. nur if(zufall == 1) und if(zufall == 2), aber die 3 nicht... geht das überhaupt?


    (ich weiss, das beispiel ist bescheuert, es soll halt einfach nur darstellen, wie ich es meine ;))


    MFG selEcT

  • BlackFox , wenn ich jetzzt nen Menü mache ein ganz normales mit.
    AddMenuComponent(name, "port");
    AddMenuComponent(name, "port2"); // oder wie das heißt
    Wenn ich das dann mit case & switch mache ist case 0 port und case1 port 2?


    Powered by Windows 7


    Die HDD stimmt nich , hab 3 Festplatten drin.

  • thx...


    random geht net mit random(zahl-zahl), da muss einfach die menge der case's drinstehen (also z.B.) 3, dann gehts ;)


    danke nochmal



    BlackFox , wenn ich jetzzt nen Menü mache ein ganz normales mit.
    AddMenuComponent(name, "port");
    AddMenuComponent(name, "port2"); // oder wie das heißt
    Wenn ich das dann mit case & switch mache ist case 0 port und case1 port 2?

    das kannste ja selber festlegen:


    switch(random(2)) // 2 Case
    {
    case 0:
    {
    AddMenuComponent(name, "port"); //oder AddMenuComponent(name, "port2");
    }
    case 1:
    {
    AddMenuComponent(name, "port2"); //oder AddMenuComponent(name, "port");
    }
    }



    korrigiert mich wenns net stimmt ;) habs net getestet

  • Warum , er wollte es doch für seinen cmd, wenn er nen Menü nimmt , nutzt er
    das doch so ...


    Callback OnPlayerSelectedMenuRow
    new Menu:cur = GetPlayerMenu(playerid);


    if(cur == SEIN_MENU)
    {
    switch(row)
    {
    case 0:print("Menu Item 0");
    }
    }



    Hier geht es um Random daher erkläre ich ihm wie man Random anwenden kann bzw. noch ein bisschen Platz dabei sparen kann durch die
    verschiedenen Statements 8o

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


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