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
  • Hi,
    ich erkläre mal wie man in PAWN mit Zufällen arbeien kann.
    Ich gebe mal ein Beispiel:
    du machst den Befehl "/zufall" und nun wird halt geguck ob du gewinnst oder nicht.
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/zufall", true) == 0)//Befehl beginnt
    {
    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,1);//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,-1);//Halt abzug von Geld weil man verloren hat
    return 1;//Befehl Ende
    }
    return 1;
    }
    return 0;
    }

    ist vlt. schwer erklärt aber hoffe es geht :D
    Mit den Nachrichten und dem Geld war nur ein Bsp. Wie man sowas machen könnte ;)


    //Goldkiller:Code neu eingerückt

    3 Mal editiert, zuletzt von Silverdark ()

  • if(strcmp(cmdtext, "/starterlaubnis", true) == 0) || strcmp(cmd, "/se", true) == 0)
    {
    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;
    }
    return 0;
    }
    und mein pawno stürtzt ab!

  • if(strcmp(cmdtext, "/starterlaubnis", true) == 0) || strcmp(cmd, "/se", true) == 0)
    {
    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;
    }


    so solte es gehen .. so viele klammern wie auf sind musst auch wieder zu machen.

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • mom tut net
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Reallife.pwn(15328) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Reallife.pwn(15328) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Reallife.pwn(15328) : error 001: expected token: ";", but found ")"
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Reallife.pwn(15328) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Reallife.pwn(15328) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.
    Zeile 15328 ist:
    if(strcmp(cmdtext, "/starterlaubnis", true) == 0) || strcmp(cmd, "/se", true) == 0)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ich weis net was du verändert hast aber es tut xD
    okay nächste frage:
    wie kann ich es machen das nur die den befehl amchen können die pTeam 2 sind?


  • 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;
    }


    Oder AccountInfo[playerid][pTeam] oder wie du das halt hast...

  • also einfach über den ganzen codeschnipsel?


    kann mir wer noch bei der 2 frage helfen??
    Starterlaubnis

    Einmal editiert, zuletzt von Dominik403 ()

  • habe eine frage, ich habe eine abfrage..


    if(anfangs_spawn[playerid] == 1)
    {
    SetPlayerPos(playerid, ......);
    anfangs_spawn-[playerid] = 0;
    return 1;
    }


    jetzt will ich bei setplayerpos... einen zufalls spawn machen, wie geht das? also z.b ich spawn entwerder im lspd oder im sfpd oder im lvpd..


    wie geht das ?

  • new Float:RandomSpawns[3][3] = {
    {0.0, 0.0, 1.0, 180.0},
    {14.0, 5.0, 1.0, 90.0},
    {5.0, 3.0, 1.0, 45.0}
    };


    public OnPlayerSpawn(playerid)
    {
    new rand = random(sizeof(RandomSpawns));
    SetPlayerPos(playerid, RandomSpawns[rand][0], RandomSpawns[rand][1], RandomSpawns[rand][2]);
    SetPlayerFacingAngle(playerid, RandomSpawns[rand][3]);
    return 1;
    }

  • Wenn du schon weißt, dass es im LVDM ist, dann kannst du auch einfach die Arbeit machen, nach gRandomPlayerSpawns zu schauen und es kopieren bzw dir anschauen.


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Selbst ist der Mann/erazor.
    Oben alle SpawnKoordinaten:
    new Float:gRandomPlayerSpawns[][3] = {
    {1958.3783,1343.1572,15.3746},
    {2199.6531,1393.3678,10.8203},
    {2483.5977,1222.0825,10.8203},
    {2637.2712,1129.2743,11.1797},
    {2000.0106,1521.1111,17.0625},
    {2024.8190,1917.9425,12.3386},
    {2261.9048,2035.9547,10.8203},
    {2262.0986,2398.6572,10.8203},
    {2244.2566,2523.7280,10.8203},
    {2335.3228,2786.4478,10.8203},
    {2150.0186,2734.2297,11.1763},
    {2158.0811,2797.5488,10.8203},
    {1969.8301,2722.8564,10.8203},
    {1652.0555,2709.4072,10.8265},
    {1564.0052,2756.9463,10.8203},
    {1271.5452,2554.0227,10.8203},
    {1441.5894,2567.9099,10.8203},
    {1480.6473,2213.5718,11.0234},
    {1400.5906,2225.6960,11.0234},
    {1598.8419,2221.5676,11.0625},
    {1318.7759,1251.3580,10.8203},
    {1558.0731,1007.8292,10.8125},
    {1705.2347,1025.6808,10.8203} // Beim letzten kein Komma
    };
    Bei OnplayerSpawn:
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!