Beiträge von KornChief

    Ich hab mir wie oben beschrieben den Clienten runtergeladen, doch in meiner Favouriten Liste waren noch alte 0.2 X'ler. Natürlich konnt ich auf denen nicht spielen, aber joinen konnte ich scheinbar....kam dann eine Fehlermeldung.
    Auf jeden Fall kann ich nicht Spielen bzw. nicht mal auf die Server joinen...passiert einfach nichts

    Hi,
    ich hab mit den 0.3 RC 8 -5 Clienten heruntergeladen ( http://www.germancapitol.de/in…p?page=Thread&postID=2670 ). So weit so gut.
    Sobald ich auf meine alten 0.2 X Server in meiner Favouriten Liste connectet habe, kam auch schon das neue Bild und es wie, wie erwartet , nicht. Als ich jetzt aber auf einen 0.3 Server connecten wollte (auch HomeServer), zeigte er an, dass er lädt, doch nichts passierte ?( . Einer eine Lösung?


    Vielen Dank im Voraus,
    MfG KornChief.

    In meinem Test GameMod habe ich es noch in dcmd. Problem ist ganz einfach, dass du scheinbar es nicht stückchenweise lernen willst. Bevor man einen Server eröffnet bzw. ein GameMod (großes) erstellt musst du die dazu nötigen Sachen lernen...

    Vielen Dank TheKeks.
    Hast du den ycmd Code? Würde den gerne mal ansehen...
    Mein Problem bei strget war, dass ein Befehl wie "/kick 4 Dies und Jenes" nicht funktioniert hat, denn er gab nur raus:"/kick 4 Dies"...

    1.

    Sorry das muss jetzt sein

    Dein Beitrag ist im Grunde genommen total unsinnig: Du trägst weder etwas zum Thema bei, noch ist dein Text informativ bzw. von großer Bedeutung. Dies könnte man auch als "sinnlosen Spamm" werten, was einen Warn zur Folge hätte...


    2. Bei einer Beitragszahl von 413 kann man davon ausgehen, dass du die Basics kennst.
    Erstell zunächst ein enum + eine Variable (Bsp: "stock pInfo[MAX_PLAYERS][Infos]"). Je nach dem was du verwenden willst (FF oder dini oder sonst noch was....) ist es unterschiedlich, aber im Prinzip gleich.
    Zunächst erstellst du beim Cmd /register eine Datei , falls sie nocht vorhanden ist ( if(!dini_Exists("User.ini")) return dini_Create("User.ini"); - new File: U = fopen("User.ini"); if(!U) return f... ) und schreibst das Passwort rein (!).
    Nun lässt du deine Variablen etc reinschreiben. Beim Cmd /login vergleichst du den String "Passwort" und was er eingegeben hat (if(strcmp(dini_Get(file,"Passwort"),tmp/cmd/...,true) == 0) return ....
    Am besten erstellst du in deinem Enum einen bool "IsLogged" oder etwas derartiges, der hier dann auf true gesetzt wird.Hier musst du natürlich alles laden lassen. Wichtig ist noch, wenn er den Server verlässt, alles abzuspeichern.


    Das war's auch schon...mit Grundkenntnissen, Ausprobieren und Tutorials sollte das leicht gehen :) .


    Falls du Probleme hast, hier reinschreiben, aber nicht gleich alles machen lassen , vorallem als "Fortgeschrittener".


    Commands mit Parametern: [ SCRIPTING ] Commands mit Parametern
    Dini Tutorial: [ SCRIPTING ] Dateiensystem dini - Dateien erstellen, löschen, speichern, laden

    Mich würde interessieren, was am schnellsten ist:
    strtok
    DCMD
    SSCANF
    strget
    getstr
    zcmd


    ? Ich persönlich bevorzuge ja zcmd, da es sehr einfach und simpel ist (auch der Code) und Einwandtfrei funktioniert :thumbup: .

    Außer du verwendest Variabeln, um zB eine Random Waffe zu verteilen
    new rand = random(40);
    new rand2 = random(1000) + 1;
    GivePlayerWeapon(playerid,rand,rand2);

    Hallo,
    ich wollte euch mal fragen, was "EOS" bedeutet.



    // ========== STRGET ==========
    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS; // <==============================
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }
    // ========== STRTOK ==========
    stock strtok(const string[], &index,seperator=' ') {
    new length = strlen(string);
    new offset = index;
    new result[255];
    while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }


    result[index - offset] = EOS; // <==============================
    if ((index < length) && (string[index] == seperator))
    {
    index++;
    }
    return result;
    }

    Hoffe, jemand kann mir die Augen öffnen :rolleyes:

    Kommt drauf an wie du es speicherst:
    in einem "enum" als String oder mit "gTeam", dem nur ein Integerwert zugewiesen wird;



    // 1.
    new string[100];
    format(string,sizeof string,"Fraktion: %s", pInfo[playerid][Fraktionsname]); // als Beispiel
    SendClientMessage....


    // Oder wie du gesagt hast mit einer IF / CASE Abfrage


    if(gTeam[playerid] == 1)
    { SendClientMessage(....) }
    else if ....


    bzw eben mit Case


    // Denke, das sollte auch gehen
    if(strcmp("/status",cmdtext,false) == 0)
    {
    new s[100];
    format(s,sizeof s,"Fraktion: %s", gTeam[playerid] == 1 ? ("Polizei") : gTeam[playerid] == 2 ? ("Ballas") : ("Nichts") );
    return SendClientMessage(playerid,rot,s); // bzw. hier return gTeam[playerid] == 1 ? SendClientMessage(...) : gTeam[playerid] == 2 ? SendClientMessage(...) : ....
    }