Beiträge von EvilToastBrot

    dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] < 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");}
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [Grund]");} // Die } ist hier zu viel!
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessage(playerid,FarbeGruen,str);
    }


    --> Also:


    dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] < 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");}
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [Grund]");
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessage(playerid,FarbeGruen,str);
    }


    Evil :)

    So wie ich das jetzt sehe soll für den Spieler eine ID angegeben werden. Machs doch mit ReturnUser, dann kannste Namen oder ID eingeben.
    Steht denn dann auch der exakte Spielername dort?


    {
    for(new i = 5; i < sizeof(grovecar); i++) // Wiso new i = 5?
    {
    if(carid == grovecar[i])
    {
    return 1;
    }
    }
    return 0;
    }`


    Probiers mal so:



    {
    for(new i = 0; i < sizeof(grovecar); i++)
    {
    if(carid == grovecar[i])
    {
    return 1;
    }
    }
    return 0;
    }`

    new variable; // Variable erstellen
    if(Bedingung) // Bedingung
    SendClientMessage(playerid, Farbe, "Text"); // Text senden
    PlayerInfo[playerid][pAdmin] // Player Variable wo die Werte drinnen stehn ( Geld etc. )


    Genau das gleiche wurde mir am Anfang gezeigt und ich habs nach paar Stunden verstanden :D

    new string[180];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "(( Admin %s: %s", sendername, string);


    Sehr logisch ^^



    if(strcmp(cmd ,"/ankund",true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Verwendung: /ankund [Text]");
    return 1;
    }
    if(Spieler[playerid][Admin] >= 5)
    {
    new string[180];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "(( Admin %s: %s", sendername, tmp);
    SendClientMessageToAll(COLOR_LIGHTBLUE, string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du bist kein Head-Admin!");
    }
    return 1;
    }


    Sollte so funktionieren. Habe keine Ahnung wie das mit strget funktionieren soll :D


    Ganz oben in OnPlayerCommandText eben das noch wenn du es nicht schon hast und strtok definieren :)
    new idx, cmd[20], tmp[256];
    cmd = strtok(cmdtext, idx);


    Evil 8)

    Nun sei mal nicht so bequem und denk selber nach! Das kann jeder. Wenn du dir immer helfen lässt wirst du es nie können.
    Aber hier:


    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Einloggen","Bitte gebe dein Passwort ein um dich einzuloggen!","Login","Abbrechen");
    return SendClientMessage(playerid,COLOR_WHITE,"Kein Passwort eingegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
    Spieler[playerid][Banned] = dini_Int(accFormat,"Banned");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Kills"));
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Erfolgreich eingeloggt!");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Einloggen","Bitte gebe dein Passwort ein um dich einzuloggen!","Login","Abbrechen");
    GameTextForPlayer(playerid,"~r~Falsches Passwort~w~!!",3000,1);
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte gebe dein gewünschtest Passwort ein \num dich zu registrieren!","Registrieren","Abbrechen");
    return SendClientMessage(playerid,COLOR_WHITE,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_WHITE,"Account erfolgreich in der Datenbank erstellt!");
    SendClientMessage(playerid,COLOR_DARKGREEN,"Du wurdest vom System eingeloggt!");
    // Register Einstellungen //
    GivePlayerMoney(playerid,1000);
    SetPlayerScore(playerid,0);
    dini_IntSet(accFormat,"Admin",0);
    dini_IntSet(accFormat,"Premium",0);
    dini_IntSet(accFormat,"Banned",0);
    dini_IntSet(accFormat,"KIlls",0);
    }
    }
    }
    else if(!response)
    {
    SendClientMessage(playerid, 0xFFFFFF, "Bye :)");
    Kick(playerid);
    }



    //Edit: vielleicht Fehlt irgendwo ne { oder ne } aber sollte so funktionieren.

    Gute Idee aber das sieht bisschen komisch aus denk ich^^
    Du musst nen Timer setzen.
    Also:


    if(strcmp(cmd, "/bot", true) == 0)
    {
    if(IsPlayerAdmin(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /bot [playerid]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float: X, Float: Y, Float: Z;
    GetPlayerPos(playerid, X, Y, Z);
    SetPlayerPos(giveplayerid, X, Y+4, Z);
    MovePlayerBot(giveplayerid, X, Y+2, Z, 4);
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Funzt !");
    FollowedByBot[playerid] = 1;
    FollowedPlayer[giveplayerid] = playerid;
    SetTimerEx("BotFollow", 500, 1, "dd", playerid, giveplayerid);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist Offline !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Admin !");
    return 1;
    }
    return 1; }
    public BotFollow(playerid, giveplayerid)
    {
    if(FollowedByBot[playerid] != && FollowedPlayer[giveplayerid] == playerid)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    MovePlayerBot(giveplayerid, x, y+2, z, 4);
    }
    return 1;
    }


    Oben eben noch: new FollowedPlayer[MAX_PLAYERS], FollowedByBot[MAX_PLAYERS];
    forward BotFollow(playerid, giveplayerid);


    UNGETESTET! Einfach ausgedacht und hingeschrieben. Obs funktioniert keine Ahnung. Grundidee sollte so aber funktionieren.
    Du musst jedenfalls nen Timer setzen, sonst wird der Bot ja nur einmal an die Position vom Spieler gesetzt :)


    LG
    Evil

    Lesen, nicht verboten^^ Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Key, Name


    Zitat von EvilToastBrot

    Ich seh da keinen SQL Error helft mir bitte


    Ich hab gelesen ;)


    VALUE ist nicht VALUES du gibst ja mehr als Ein value


    Danke, ich probiers mal, Moment.


    //Edit:
    Das war es wohl nicht, Sniper. Ich bekomme immernoch diese Fehlermeldung:


    SQL
    [20:46:45] CMySQLHandler::Query(INSERT INTO player (Key, Name) VALUES ('medion', 'EvilToastBrot')) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Key, Name) VALUES ('medion', 'EvilToastBrot')' at line 1)

    Hallo
    Will MySQL jetzt endlich mal lernen. Klappt soweit, aber wenn ich nen PlayerAccount erstellen will bekomm ich per mysql_debug folgenden Error:


    SQL
    [20:18:34] CMySQLHandler::Query(INSERT INTO player (Key, Name) VALUE ('Passwort', 'EvilToastBrot')) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Key, Name) VALUE ('Passwort', 'EvilToastBrot')' at line 1)


    Die Funktion dazu:


    stock CreatePlayerAcc(name[], pw[])
    {
    new str[128];
    format(str, sizeof str, "INSERT INTO player (Key, Name) VALUE ('%s', '%s')", pw, name);
    new quu = mysql_query(str);
    if(!quu) print("creating an account has failed!");
    return 1;
    }


    Ich seh da keinen SQL Error helft mir bitte ;(


    LG
    Evil


    //Edit: Hatte was falsches kopiert.


    OnGameModeInit() { SetTimer("checkweapon", 700, 1); //Code... }
    public checkweapon()
    {
    for(new playerid = 0; playerid<MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid, range, x,y,z))
    {
    if(GetPlayerWeapon(playerid) != 0) SetPlayerArmedWeapon(playerid, 0);
    }
    }
    }
    }


    Müsste so funktionieren.