Zufallszahl als Wort ausgeben

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
  • Hallo ich wollte mal eine Kristall Mine machen


    und mit einem Zufalls system



    new zahl = random(100);
    new string[128];
    format(string,sizeof(string),"Die Zahl lautet %d",zahl);
    SendClientMessage(playerid,gelb,string);


    aber ich möchte das nicht als Zahl sondern als Wort zb Anstatt der Zahl 100 das wort Rubin ist das möglich

  • Dann musst du der Random zahl ein Wort zuordnen.
    Am einfachsten geht das meiner Meinung nach mit switch



    so ähnlich könnte es gehen.
    Hab lange nicht mit switch gearbeitet, kannst ja mal bei google "Samp switch" eingeben.
    MFG

  • Du kannst es so schreiben:


    C
    new BergwerkItems[][] =
    {
        "Gold",
        "Platin",
        "Rubin"
    };
    new str[128], randMSG = random(sizeof(BergwerkItems));
    format(str,sizeof(str),"Du hast %s gefunden!",randMSG);
    SendClientMessage(playerid,-1,str);

    //edit:


    kann man auch machen das man bei speciellen geld beommt?

    dann schreib es so:



    Mit freundlichen Grüßen
    German_ScripterHD

    Einmal editiert, zuletzt von German_ScripterHD ()

  • kann man auch machen das man bei speciellen geld beommt?

    Ja:


    So würdest du bei Rubin und Kohle Geld bekommen. Musst du dann für dich selbst noch anpassen, damit es stimmt.

  • Ich habe meinen Code nochmal überarbeitet:



    Mit freundlichen Grüßen
    German_ScripterHD

  • Ich wollte das so machen


    ocmd:testbefehl(playerid){
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 1643.12670898,-1714.77258301,15.86996269))
    {
    new str[128],randomint;
    randomint = RandomEx(0,MAX_MINEITEMS-1);
    if(MinenInfo[randomint][m_geld]==0)
    {
    format(str,sizeof(str),"Du hast %s gefunden im Wert von 0$",MinenInfo[randomint][m_name]);
    }
    if(MinenInfo[randomint][m_geld]!=0)
    {
    format(str,sizeof(str),"Du hast %s gefunden im Wert von %d$",MinenInfo[randomint][m_name],MinenInfo[randomint][m_geld]);
    GivePlayerMoney(playerid,MinenInfo[randomint][m_geld]);
    }
    return SendClientMessage(playerid,-1,str);
    }
    else
    }
    SendClientMessage(playerid,gelb,"Hallo");
    }
    stock RandomEx (minval, maxval)
    {
    return (random (maxval - minval) + minval);
    }



    aber da kommt ein Error






    C:\Users\Kille.DESKTOP-OABQK47\Desktop\selfmade\gamemodes\lol.pwn(1556) : error 029: invalid expression, assumed zero

  • Versuch es mal so:



    //edit: (Kleiner Denkfehler von vorhin behoben :) )


    ersetze bitte


    C
    randomint = RandomEx(0,MAX_MINEITEMS-1);

    zu:


    C
    randomint = RandomEx(0,MAX_MINEITEMS);


    Mit freundlichen Grüßen
    German_ScripterHD

    Einmal editiert, zuletzt von German_ScripterHD ()