Beiträge von alva

    Wichtig ist im Prinzip nur diese Zeile für deinen Code:
    for(new i=0; i<strlen(string); i++) if(string[i] == '~') string[i] = '\n';
    Die Funktion replaziert die ~ in der Datenbank mit einem \n, das muss gemacht werden da es mit MySQL irgendwie nicht möglich ist, direkt einen Zeilenumbruch zu benutzen.
    Sollte also nicht all zu schwer sein, das auf deine aktuellen Version umzuschreiben.

    Sieht zwar gut aus aber dennoch reicht ein einfacher Dialog aus um einen Spieler zu registrieren oder ihn einzuloggen lol. ?
    Das also bei euch scheinbar erst geprüft wird ob ein Account existiert wenn man auf Login oder Registrieren drückt macht euer System auch noch umständlich, sowohl für den Spieler als für euch selbst.
    Ehrlich gesagt hätte ich keine Lust jedes mal auf einem Server erstmal auf Login drücken zu müssen oder mit Textdraws bombadiert zu werden.
    Für die Idee 0/10 und für das Design 10/10, kann man bestimmt für etwas anderes besser benutzen.

    Es gibt genug Anti Cheats die bereits veröffentlicht wurden.
    Ein Itemsystem braucht vielleicht 2-3 Tage Zeit. :D


    Lg


    Ja da kann man dann bestimmt gar nicht mehr cheaten :D
    "Deine" Idee gefällt mir eigentlich ganz gut, trotzdem wäre es vllt. bei SA-MP sinnvoller mehr als 1 Leben zu haben weil es total einfach ist Leute zu töten.

    ocmd:adminpickup(playerid,params[])
    {
    new waffe[50];
    new art[30];
    new muni;
    if(sscanf(params,"s[30]s[50]d",art,waffe,muni)) return SendClientMessage(playerid,ROT,"Benutze: {D6D6D6}/adminpickup Waffe [Waffe] [Munnition]");
    if(strcmp(art,"Waffe ",true,6)==0)
    {
    if(strcmp(waffe,"Deagle",true)==0)
    {
    SendClientMessage(playerid,ROT,"deagle...");
    }
    else if(strcmp(waffe,"mp5",true)==0)
    {
    SendClientMessage(playerid,ROT,"mp5, btw bin ich zu unfähig etwas selbst zu tun :D:D:D");
    }
    else{
    SendClientMessage(playerid, ROT, "Invalider Waffentyp");
    }
    }
    return 1;
    }

    Ist ja wohl logisch..?


    GangzoneCreate(Float:minx, Float:miny, Float:maxx, Float:maxy);
    stock IsPlayerInArea(playerid, Float:max_x, Float:min_x, Float:max_y, Float:min_y)


    Du musst die Zahlen anders einsetzen dann klappt es.
    Das hätte man zur Not auch googlen können aber ja guuut.

    PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    return name;
    }


    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",PlayerName(pID),PlayerName(playerid),reason);


    Have fun, Außerdem müsstest du seit 0.3z einen Timer erstellen damit die Nachrichten auch richtig angezeigt werden.

    Wenn du vernünftige Cheats kaufen willst für CS:GO melde dich bei mir, damit wirst du immerhin nicht gebannt :thumbup:
    Free2Play Shooter welche gut sind gibt es nicht, Counter Strike ist der einzig wahre Shooter, der Rest lässt sich entweder nur teilweise oder gar nicht als Shooter betiteln (Vg. Call of Duty).

    Nein ich habe kein Timer.
    Die 5 Sekunden waren nur so gefühlt.
    Man joint ins Game (als unregistrierter) registriert sich und sucht dann Skin aus. 5 Sekunden (ca.) nachdem man den Skin ausgewählt hat wird der wieder zu CJ zurückgesetzt.
    Wenn du den Bug nicht verstehst connecte dich hier: server1.hostmania.eu:7816
    Dort wird der Server gehostet.


    Such halt nach SetPlayerSkin in deinem Code und überleg ob es an denjenigen Stellen überhaupt Sinn ergibt anstatt hier rumzufragen warum es denn nicht geht... 8o

    Hey,


    ich würde mich gerne als Beta Tester bewerben jedoch nur mit der Voraussetzung, dass ihr auch ein Anticheat Clienten besitzt, welchen ich genussvoll auseinander nehmen darf :)
    Informationen über solch einen Clienten sind mir in dem Hauptbeitrag entgangen, daher hoffe ich, dass ihr mir antworten könntet.


    Grüße

    ocmd@2:stats(playerid, params[])
    {
    new query[128];
    format(mysql, query, "SELECT * FROM `acccounts` ORDER BY `kills` DESC LIMIT 0,10");
    mysql_function_query(mysql, query, true, "stats", "i", playerid);
    return 1;
    }


    forward stats(playerid);
    public stats(playerid)
    {
    if(!IsPlayerConnected(playerid)) return;
    new zeilen, felder;
    cache_get_data(zeilen, felder);
    if(zeilen)
    {
    new fraktionsname[MAX_FRAKTIONEN][30], kills, content[128], dialogtext[128];
    new i; // entspricht jetzt dem jeweiligen Platz
    while(i != zeilen)
    {
    cache_get_field_content(i, "kills", content);
    kills = strval(content);
    cache_get_field_content(i, "fraktionsname", content);
    format(fraktionsname[i], sizeof(fraktionsname[i]), "%s", content);
    strdel(content);
    format(content, sizeof(content), "%d. %s - Kills: %d",i,fraktionsname[i], kills/*musste halt einfügen usw*/);
    format(dialogtext, sizeof(dialogtext), "%s%s\n\n",dialogtext,content);
    i++;
    }
    ShowPlayerDialog(playerid, DIALOG_ASD, DIALOG_STYLE_MSGBOX, "stats", dialogtext, "OK", "");
    }
    else ShowPlayerDialog(playerid, DIALOG_ASD, DIALOG_STYLE_MSGBOX, "stats", "Es wurden keine Einträge gefunden!", "OK", "");
    }


    Vielleicht hilft dir dieser Ansatz weiter, ist aber nicht zum Copy&Paste'n