Beiträge von Kaliber

    Schön gedacht, funktioniert leider nicht nach Schema A :D


    z.B.:


    stock GetHighestPlayerVariable(varname[]) // Beispiel: Variable Level[MAX_PLAYERS] => GetHighestPlayerVariable(Level); => returnt die höchste Variable
    {
    new temp;
    for(new i; i < MAX_PLAYERS; i++)
    if((temp < varname[i]))
    temp = varname[i];
    return temp;
    }


    Hier sucht Pawn nach varname, aber nicht nach dem Namen des Parameters, dass wird nicht übernommen ;)


    Das auch:


    stock GetPlayerWithHighestVariable(varname[]) // Beispiel: Variable Level[MAX_PLAYERS] => GetHighestPlayerVariable(Level); => returnt den Spieler mit der höchsten Variable
    {
    new temp, pID;
    for(new i; i < MAX_PLAYERS; i++)
    if((temp < varname[i]))
    temp = varname[i], pID = i;
    return pID;
    }


    Funktioniert nicht ^^


    Das auch nicht:


    stock GetHighestVehicleVariable(varname[]) // Beispiel: Variable vID[MAX_VEHICLES] => GetHighestVehicleVariable(vID); => returnt die höchste Variable
    {
    new temp;
    for(new x; x < MAX_VEHICLES; x++)
    if((temp < varname[x]))
    temp = varname[x];
    return temp;
    }


    Also ab hier ganz ganz viele Funktionen gehen nicht :D


    Solltest das nochmal durchdenken ;)


    mfg. :thumbup:


    Das habe ich nicht mit rein genommen, da ihr mal selber auch noch was tun sollt :P


    Aber danke für die guten Ideen :)


    //Edit: Auch danke an die ganzen Kommentare :)


    mfg. :thumbup:

    Schreibe es mal so:


    if(!strcmp("/afk",cmdtext,true))
    {
    new string[128];
    if(!afk[playerid]) {
    format(string,sizeof(string),"%s ist in den afk Modus gegangen",SpielerName(playerid));
    Alle(-0,string);
    SCM(playerid,-1,"Benutze /AFK um wieder zu kommen");
    TogglePlayerControllable(playerid,0);
    afk[playerid] = true;
    }
    else {
    format(string,sizeof(string),"%s ist wieder zurück",SpielerName(playerid));
    Alle(-0,string1);
    TogglePlayerControllable(playerid,1);
    afk[playerid] = false;
    }
    return 1;
    }


    //Edit: deklariere es so: new bool:afk[MAX_PLAYERS];


    mfg. :thumbup:

    Du speichertst die Server.cfg einfach als Variable. Dann kannst du diese auch Ingame ändern!


    Dann wird sie aber nicht beim Restart übernommen ;)


    Theoretisch könnte man das machen mit folgender Pfad angabe: (nicht getestet)


    Code
    ../server.cfg


    und dann könnte man die Server.cfg editieren sprich so:


    new File:f = fopen("../server.cfg",io_write);
    fwrite(f,"Alles gelöscht");
    fclose(f);
    //In der Server.cfg würde jetzt stehen: "Alles gelöscht"


    mfg. :thumbup:

    Ich schreib dir mal eins, hier:


    ocmd:countdown(playerid,params[]) {
    new string[128],count;
    if(sscanf(params,"d",count)) return SendClientMessage(playerid,rot,"Verwendung: /countdown [Zeit]");
    Start_Countdown(count);
    format(string,128,"Du hast den Countdown für %d Sekunden laufen lassen !",count);
    SendClientMessage(playerid,blau,string);
    return 1;
    }
    forward Start_Countdown(count);
    public Start_Countdown(count) {
    if(count > 1) format(string,128,"~r~%d",count);
    else if(!count) format(string,128,"~g~Go Go Go"); //Text evtl ändern
    else return 1;
    GameTextForAll(string,1000,5);
    new zahl = count--;
    SetTimerEx("Start_Countdown", 1000, 1, "d",zahl);
    return 1;
    }


    Versuchs mal ^^


    //Edit: ja den GameText doch nur für 1sek anzeigen lassen :D


    mfg. :thumbup:

    Sagt mal, finde das ja cool was ihr da so alles mit ein programmiert, aber ich habe dazu mal ein paar Fragen:


    1. Ein paar Dinge die ihr da macht sind verboten und Kalcor wird diese Server bestimmt Blacklisten z.B. das mit den Bots...


    2. Werdet ihr das dann als Plugin veröffentlichen ?


    3. Lohnt es sich denn das zu machen, wenn ihr doch wisst das es verboten ist ?!


    Ich verstehe den Sinn nicht dahinter, außerdem gibt es schon ein paar Sachen, wie z.B. Player seitige Gravitation hat Y_LESS schon mal veröffentlicht oder das mit den Bots...^^


    mfg. :huh: