Beiträge von Kaliber

    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:

    Nein :D


    Du fragst ab ob die Schleife bei playerid 3 ist etc... ;)


    So sollte das aussehen:


    stock bool:Are3Online() {
    new count;
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerInfo[i][pFrak] == 3) count++; //PlayerInfo[i][pFrak] halt anpassen, wie du die Gang da einstellst
    if(count > 3) return true;
    }
    return false;
    }


    //So abfragen
    if(Are3Online()) {
    //Es sind 3 Leute aus der Gang online
    }
    else {
    //Hier nicht
    }


    mfg. :thumbup:

    Man sieht, das du den Befehl zusammenkopiert hast und das richtig schlecht, so langsam solltest du doch mal etwas besser scripten können...


    Schreibe das mal so:


    if(!strcmp(cmdtext,"/tban",true))
    {
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /tban [Spielerid] [Zeit]");
    new pid = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /tban [Spielerid] [Zeit]");
    new time = strval(tmp), name[MAX_PLAYER_NAME];
    GetPlayerName(pid,name,sizeof(name));
    format(string,sizeof(string),"Du hast den Spieler %s für %d Minuten gebannt!",name,time);
    SendClientMessage(playerid,WHITE,string);
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Der Admin %s hat dich für %d Minuten vom Server gebannt!",name,time);
    SendClientMessage(pid,WHITE,string);
    TBan(pid,time);
    return 1;
    }


    Falls das immernoch nicht gehen sollte, poste mal bitte die Funktion TBan(pID,time); ;)


    mfg. :thumbup:

    Wie schaut es aus, wenn einer das tor in eine andere richtung öffnen will als in der Z achse?


    Ja, da muss man dann selber rann, das würde dann so aussehen:


    new obj = GetGate(playerid);
    if(obj == -1) return SendClientMessage(playerid,rot,"Du befindest dich an keinem Tor !");
    MoveObject(obj,neuX,neuY,neuZ,4.0);
    return 1;


    Muss man halt noch mit MoveObject machen :)


    mfg. :thumbup:


    //Edit: Omg, hatte da Buchstaben vertauscht :D Habe das alles jetzt mal getestet und so funktioniert es ^^ sry nochmal :rolleyes: