Beiträge von ATzeGER_

    Da ich ja schon lange nichts mehr gefragt habe, die Forensuche & das Wiki mir aber leider nicht weiterhelfen konnten, frage ich euch nun:


    Wie kann ich am besten den Spieler mit den meisten Punkten raussuchen?


    -> Ich hatte die Idee, eine Variable zu nehmen und dann in einer Schleife immer Abzufragen, ob der Spieler mehr Punkte hat als diese Variable und falls das stimmt, die Punkte des Spielers in der Variable speichern.
    Allerdings ist das sehr umständlich und ich brauche auch noch den Namen des Users.


    MfG
    ATzeGER_

    Kick(kickid)
    und überall sonst auch kickid anstelle von pID


    /e


    kickid musst du am anfang definieren.


    if(dialogid == DIALOG_KICK)
    {
    if(!response)
    {
    SendClientMessage(playerid,COLOR_BLAU,"Du hast den Vorgang abgebrochen!");
    }
    if(response)
    {
    kickid = strval(inputtext);
    ShowPlayerDialog(playerid,DIALOG_GRUND,DIALOG_STYLE_INPUT,"Grund","Nenne den Grund :","Ok","Abbrechen");
    }
    if(dialogid == DIALOG_GRUND)
    {
    if(!response)
    {
    SendClientMessage(playerid,COLOR_BLAU,"Du hast den Vorgang abgebrochen!");
    }
    if(response)
    {
    new grund[64],string[128]
    strmid(grund, inputtext, 0, strlen(inputtext), 255);
    format(string,sizeof(string),"%s wurde von Admin %s gekickt. Grund: %s",SpielerName(kickid),SpielerName(playerid),grund);
    SendClientMessageToAll(COLOR_BLAU,string);
    Kick(kickid);
    }
    }
    return 1;
    }

    Also ich habe es mal getestet und es ging nicht.
    Es kann sein, dass es nur geht, wenn die Musik gerade angeschaltet wird, während die Person die sie hören soll nah genug ist und falls das Fahrzeug nicht geladen war, die Musik nicht aktualisiert wird, also aus ist.
    Ich sage ja es ist unsynchron.


    Man könnte den Sound quasi an das Fahrzeug attachen, dann würde es sicher funktionieren. (& viele Ressourcen verbrauchen)

    Ich würde eine Variable erstellen, die dann die Zeit in Minuten angibt und dann einen allgemeinen Timer erstellen, der jede Minute die Variable eins runterzählt, wenn sie nicht 0 ist. Falls sie dann 0 ist, wird er wieder gespawnt.
    Klingt kompliziert, aber ich bastel dir mal was.


    new prisontime[MAX_PLAYERS];
    forward knasttimer();



    OnGameModeInitBlah
    SetTimer("knasttimer", 60000, true);


    ocmd:prison(playerid, params[])
    {
    new ID, Grund[256], Zeit;
    if(sscanf(params,"dsi[256]",ID,Grund,Zeit)) return SendClientMessage(playerid, COLOR_GRAD2,"Nutze: /prison [ID] [Grund] [Zeit]");
    if(pInfo[playerid][Admin] < 2) return SendClientMessage(playerid, COLOR_GRAD2,"Du hast keine Rechte dazu!");
    if(AdminDuty[playerid] == 0) return SendClientMessage(playerid, COLOR_GRAD2, "Du bist nicht im Dienst!");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_GRAD2,"Dieser Spieler ist nicht Online!");
    SetPlayerPos(ID, 227.3365,110.3244,999.0156);
    SetPlayerInterior(ID, 10);
    new string[512], string2[512];
    format(string, sizeof(string),"%s wurde von %s ins Prison gesteckt! Grund: %s.",GetName(ID),GetName(playerid),Grund);
    format(string2, sizeof(string2),"Du wurdest von %s ins Prison gesteckt! Grund: %s.",GetName(playerid),Grund);
    SendClientMessageToAll(COLOR_RED, string);
    SendClientMessage(ID, COLOR_RED, string2);
    prisontime[playerid] = Zeit;
    return 1;
    }


    public knasttimer()
    {
    for(new p=0;p<MAX_PLAYERS;p++)
    {
    if(IsPlayerConnected(p) && prisontime[p] > 0)
    {
    prisontime[p] -= 1;
    }
    else if(IsPlayerConnected(p) && prisontime[p] == 0)
    {
    Freiheit !
    }
    }
    return 1;
    }

    Habe eine Klammer ausversehen gelöscht, sry.
    Markiere mal bitte die Zeilen mit 'nem Kommentar.
    ocmd:f(playerid, params[])
    {
    new Text[512], string[512];
    if(sscanf(params,"s[512]", Text)) return SendClientMessage(playerid, COLOR_GRAD2, "Nutze: /f [Text]");
    format(string, sizeof(string),"{FFA000}(( {AAAAAA}Fraktionschat | {FFA000}%s{AAAAAA} sagt: %s{FFA000} ))",GetName(playerid), Text);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && pInfo[i][Fraktion] == pInfo[playerid][Fraktion])
    {
    SendClientMessage(i, COLOR_WHITE, string);
    }
    }
    return 1;
    }

    ocmd:f(playerid, params[])
    {
    new Text[512], string[512];
    if(sscanf(params,"s[512]", Text)) return SendClientMessage(playerid, COLOR_GRAD2, "Nutze: /f [Text]");
    format(string, sizeof(string),"{FFA000}(( {AAAAAA}Fraktionschat | {FFA000}%s{AAAAAA} sagt: %s{FFA000} ))",GetName(playerid), Text);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && pInfo[i][Fraktion] == pInfo[playerid][Fraktion)
    {
    SendClientMessage(i, COLOR_WHITE, string);
    }
    }
    return 1;
    }