If x das größte

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
  • Ich möchte gerne wissen wie mach das macht:
    Man kann sachen auswählen, und dann soll nachher das mit den meisten stimmen gewinnen. Klar man macht dann immer
    X ++;
    Y++;
    nur wie fragt man das nacher ab und wie kommt dann die funktion zu stande? mit nem Forward und nem timer?

  • Das von Blackfox geht aber nur mit 1 stelligen Zahlen...
    stock GroessteVon(s[]) {
    new alti, gross=-2147483648, zahl;
    for(new i=0, j=sizeof(s); i<j; i++) {
    if(!i || s[i]==' ') {
    if(i>=1) {
    alti=i+1; }
    zahl=strval(s[alti]);
    if(zahl>gross) {
    gross=zahl; }}}
    return gross;
    }
    So macht man jetzt als Beispiel:
    new a=846, b=7, c=5465, d=2, s[15];
    format(s,sizeof(s),"%d %d %d %d",a,b,c,d);//getrennt durch leerzeichen, sonst gehts nicht
    new zahl=GroessteVon(s);
    In der Variable "zahl" würden jetzt 5465 drinnestehen, da dies auch die größte Zahl ist

  • Das würde dann wie gehen wenn ich das so habe:
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    if(CurrentMenu == derby)
    {
    switch(row)
    {
    case 0:
    {
    MapA ++;
    TogglePlayerControllable(playerid, false);

    }
    case 1:
    {
    MapB ++;
    TogglePlayerControllable(playerid, false);
    }
    case 2:
    {
    MapC ++;
    TogglePlayerControllable(playerid, false);
    }
    case 3:
    {
    MapD ++;
    TogglePlayerControllable(playerid, false);
    }
    }
    }
    return 1;
    } ????
    Und kannste mir vieleicht sagen dazu noch wie man die eigentliche spielrunde machen könnte? Das heißt es wird einen timer geben, und die variable derbyi[derbyon] = 1 signalisiert dass das derby läuft. Und sobald nur noch einer da ist dass der dann gewonnen hat?

  • new s[20], zahl;
    foramt(s,sizeof(s),"%d %d %d %d",MapA,MapB,MapC,MapD);
    zahl=GroessteVon(s);
    if(zahl==MapA) {
    //...
    }
    else if(zahl==MapB) {
    //...
    }
    else if(zahl==MapC) {
    //...
    }
    else if(zahl==MapD) {
    //...
    }
    Und das mitm Spieltimer...
    Man fährt ja Derby, bis nur noch einer heil ist, und nciht, bis alle außer einer disconnecten sind?

  • NAja ich bin soweit das man eben die map abstimmen kann bis zum menu kommt und rausgehen kann usw
    Aber es fehlt die eigentliche SpielRunde. Also wenn alle gewählt haben soll keine mehr hinzukommen können.
    Es soll ein Timer kommen, 3 Minuten pro Runde. Wenn vorher nur noch einer da is dann gewinnt der sonst unentschieden.
    ABer wenn wer stirbt soll der gefreezet werden und ne deathcam bekommen(hab ich) nur bei runden start soll dier wieder mit dabei sein. Wie mach ich so was.


    Und danke für das was du da geschrieben hast :P aber das muss ich auch mit in die derby runde packen, aber wie????


    MfG Weed

    Einma vorbei schaun lohnt sich
    www.prt-clan.com der GamerClan für GTA-SAMP.Wir haben einen leistungsstarken vServer und ein hoch entwickeltes RealLife Script der Marke eigenbau, zu 100% Selfmade.
    Bald geht der RL-Server on, seid alle dabei. Regestriert euch und fiebert mit!!!


    3 Mal editiert, zuletzt von Weed ()

  • //ganz nach oben:
    new imderby[MAX_PLAYERS], derby;
    forward derbytimer();
    //wenn das derby startet:
    derby=1;
    SetTimer("derbytimer",180000,0);
    //ganz nach unten:
    public derbytimer() {
    for(new i=0; i<MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    if(imderby[i]==1) {
    //SpawnPlayer(i); oder i-wie sowas, sollen aj sicherlich aus der arena raus
    SendClientMessage(i,FARBE,"Das Derby ist vorbei"); }}}
    derby=0;
    return 1;
    }
    //OnPlayerDeath:
    if(imderby[playerid]==1) {
    TogglePlayerControllable(playerid,0); }
    //wenn sie die runde wählen:
    if(derby==1) return SendClientMessge(playerid,FARBE,"Das Derby läuft bereits oder i-wie sone Nachricht");
    Es kann sein, dass das jetzt nicht ganz mit dem übereinstimmt, was du wolltest, aber so wie ich das verstanden habe, könnte man das Derby 2 mal hintereinander starten, wie sonst kann man vorher noch da sein

  • ich habe ja dieses menu, und wenn da abgestimmt wurde soll ich dann nen timer machn der startet bei /derby und dann auslesen welches am meisten stimmen hat und dann iwie die runde starten? ich meine jeder soll nen car bekommmen usw glaub das mach ich mit nem timer bei derby :P ^^
    weiß wer???? keksi weiß das^^

    Einma vorbei schaun lohnt sich
    www.prt-clan.com der GamerClan für GTA-SAMP.Wir haben einen leistungsstarken vServer und ein hoch entwickeltes RealLife Script der Marke eigenbau, zu 100% Selfmade.
    Bald geht der RL-Server on, seid alle dabei. Regestriert euch und fiebert mit!!!


    3 Mal editiert, zuletzt von Weed ()