Beiträge von KinGRaPTiiC

    Hey habe ein Problem ich hab schon das versucht was ich weiß aber ich krieg den Error einfach nicht weg


    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(1839) : error 001: expected token: ";", but found "-identifier-"


    public OnPlayerText(playerid, text[])
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid, x, y, z);
    new string[128];
    format(string,sizeof(string), "%s sagt: %s", SpielerName(playerid), text);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!IsPlayerInRangeOfPoint(i, CHAT_RADIUS, x, y, z))continue
    SendClientMessage(i, WEISS, string); //1389
    }
    return 0;
    }

    Hey ist es möglich das ohne Fehler irgendwie "übersichtlicher" zu gestalten als alles in eine Zeile zu "quetschen" bzw die eine Lange Zeile und halt sonst vielleicht noch ein bisschen übersichtlicher?


    //Spieler Abspeichern
    stock SaveUserStats(playerid)
    {
    //Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht
    if(!PlayerInfo[playerid][pLoggedIn]) return 1;
    //Ansonsten speichere sie
    new query[256];
    mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', kills = '%d', deaths = '%d', alevel = '%d', fraktion = '%d', rank = '%d', perso = '%d', spawnchange = '%d' WHERE id = '%d'",
    PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAlevel], PlayerInfo[playerid][pFraktion], PlayerInfo[playerid][pRank], PlayerInfo[playerid][pPerso],PlayerInfo[playerid][pSpawnchange], PlayerInfo[playerid][p_id]);
    //Das Query wird abgesendet
    mysql_pquery(handle, query);
    return 1;
    }

    @WriteMeDude


    public sekunde(playerid)
    {
    new sekunden,minuten,stunden,string[164];
    gettime(stunden,minuten,sekunden);
    format(string,sizeof(string),"%02d:%02d:%02d",stunden,minuten,sekunden);
    TextDrawSetString(TDEditor_TD[0],string);
    TextDrawShowForPlayer(playerid,TDEditor_TD[0]);
    return 1;
    }


    Funktioniert trotzdem nicht

    Hey ich habe eine frage was mache ich eigentlich falsch?


    Das ist das was man sieht: http://prntscr.com/gcb8kf



    Und die Sachen habe ich alles:


    forward sekunde(playerid);


    public sekunde(playerid)
    {
    new sekunden,minuten,stunden,string[164];
    gettime(stunden,minuten,sekunden);
    format(string,sizeof(string),"%02d:%02d:%02d",stunden,minuten,sekunden);
    TextDrawSetString(TDEditor_TD[0],string);
    return 1;
    }


    TDEditor_TD[0] = TextDrawCreate(552.117553, 27.250003, "Uhrzeit~n~");
    TextDrawLetterSize(TDEditor_TD[0], 0.400000, 1.600000);
    TextDrawAlignment(TDEditor_TD[0], 1);
    TextDrawColor(TDEditor_TD[0], -1);
    TextDrawSetShadow(TDEditor_TD[0], 1);
    TextDrawSetOutline(TDEditor_TD[0], 1);
    TextDrawBackgroundColor(TDEditor_TD[0], 255);
    TextDrawFont(TDEditor_TD[0], 1);
    TextDrawSetProportional(TDEditor_TD[0], 1);
    TextDrawSetShadow(TDEditor_TD[0], 1);
    TextDrawShowForPlayer(playerid,TDEditor_TD[0]);

    Falls ich etwas vergessen haben sollte einfach bescheid sagen ;)


    Mfg.

    @Zreeq versuchs vielleicht mal so:


    ocmd:setmoney(playerid, params[])
    {
    new pID, BETRAG, string[128];
    if(PlayerInfo[playerid][plogged] == false) return SendClientMessage(playerid, COLOR_LIGHTGREY, "[Warnung]: Du musst dich erst einloggen, um den Befehl zu benutzen!");
    if(PlayerInfo[playerid][padmin] < 3) return SendClientMessage(playerid, COLOR_LIGHTGREY, "[Warnung]: Du bist nicht berechtigt diesen Befehl zu benutzen!");
    if(PlayerInfo[playerid][pduty] == 0) return SendClientMessage(playerid, COLOR_LIGHTGREY, "[Warnung]: Du befindest dich nicht im Administrativen Dienst!");
    if(sscanf(params, "ui", pID, money)) return SendClientMessage(playerid, COLOR_LIGHTGREY, "[Verwendung]: [/setmoney] [ID] [GELD]");
    ResetPlayerMoney(pID);
    GivePlayerMoney(pID, BETRAG);
    PlayerInfo[pID][pmoney] = BETRAG;
    format(string, sizeof(string), "{0099FF}[Admin]:{FFFFFF} %s %s hat dir %i$ gesettet.", GetAdminRank(playerid), PlayerInfo[playerid][pname], BETRAG);
    SendClientMessage(pID, COLOR_WHITE, string);
    format(string, sizeof(string), "{0099FF}[Admin]:{FFFFFF} Du hast dem Spieler %s %i$ gesettet.", PlayerInfo[pID][pname], BETRAG);
    SendClientMessage(playerid, COLOR_WHITE, string);
    return 1;
    }

    @Whice. Ich weiß hab ich auch geändert aber mein Code sieht schon so aus aber funkt net:
    ocmd:setmoney(playerid, params[])
    {
    print("setmoney Befehl ausgeführt!");
    if(!isAdmin(playerid,3))return SendClientMessage(playerid, DUNKELROT, "Dein Adminlevel ist zu Niedrig!");
    new pID, string[128], BETRAG;
    if(sscanf(params, "ui", pID, BETRAG))return SendClientMessage(playerid, GELB, "[INFO]: /setmoney [SpielerID] [Betrag]");
    ResetPlayerMoney(pID);
    GivePlayerMoney(pID, BETRAG);
    PlayerInfo[pID][pMoney]+=BETRAG;
    format(string, sizeof(string), "AdmCmd: %s hat dein Geld auf $%i gesetzt", SpielerName(playerid), BETRAG);
    SendClientMessage(pID, DUNKELROT, string);
    format(string, sizeof(string), "AdmCmd: Du hast %s den Geldbetrag auf $%i gesetzt!", SpielerName(pID), BETRAG);
    SendClientMessage(playerid, DUNKELROT, string);
    SaveUserStats(pID);
    return 1;
    }

    Denke das du recht hast das hier ist mein jetziger Befehl:


    ocmd:setmoney(playerid,params[])
    {
    print("setmoney Befehl ausgeführt!");
    [b]if[/b](!isAdmin(playerid,3))[b]return[/b] SendClientMessage(playerid,DUNKELROT,"Dein Adminlevel ist zu Niedrig!");
    [b]new[/b] pID, test[128], string[128],BETRAG;
    [b]if[/b](sscanf(params,"ui",pID,BETRAG))[b]return[/b] SendClientMessage(playerid,GELB,"[INFO]: /setmoney [SpielerID] [Betrag]");
    ResetPlayerMoney(pID);
    GivePlayerMoney(pID,BETRAG);
    format(string,sizeof(string),"AdmCmd: %s hat dein Geld auf $%i gesetzt",PlayerInfo[playerid],BETRAG);
    format(test,sizeof(test),"AdmCmd: Du hast %s den Geldbetrag auf $%i gesetzt!",PlayerInfo[pID],BETRAG);
    SendClientMessage(pID,DUNKELROT,string);
    SendClientMessage(playerid,DUNKELROT,test);
    SaveUserStats(playerid);
    [b]return[/b] 1;
    }


    Muss ich das zu dem ändern?:
    ocmd:setmoney(playerid,params[])
    {
    print("setmoney Befehl ausgeführt!");
    [b]if[/b](!isAdmin(playerid,3))[b]return[/b] SendClientMessage(playerid,DUNKELROT,"Dein Adminlevel ist zu Niedrig!");
    [b]new[/b] pID, test[128], string[128],BETRAG;
    [b]if[/b](sscanf(params,"ui",pID,BETRAG))[b]return[/b] SendClientMessage(playerid,GELB,"[INFO]: /setmoney [SpielerID] [Betrag]");
    ResetPlayerMoney(pID);
    GivePlayerMoney(pID,BETRAG);
    format(string,sizeof(string),"AdmCmd: %s hat dein Geld auf $%i gesetzt",PlayerInfo[playerid],BETRAG);
    format(test,sizeof(test),"AdmCmd: Du hast %s den Geldbetrag auf $%i gesetzt!",PlayerInfo[pID],BETRAG);
    SendClientMessage(pID,DUNKELROT,string);
    SendClientMessage(playerid,DUNKELROT,test);
    SaveUserStats(playerid);
    [b]return[/b] 1;
    }


    Wäre das so richtig? @Whice.

    @Whice. Ist bei mir das selbe kann in der Datenbank mein Geld setten wird Ingame geladen aber wenn ich /setmoney 1 0 setzte und vom Server Disconnecte was ich eigentlich nichteinmal machen müsste da ich beim setmoney Befehl noch den Spieler Speicher. Aber in der Datenbank steht das ich trotzdem noch 50k habe und @Zreeq Sorry das ich dir jetzt nicht helfen kann :/

    Also ich hätte es jetzt so für die nächsten 2 erstellt @Whice. :



    stock SaveUserStats(playerid)
    {
    //Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht
    if(!PlayerInfo[playerid][pLoggedIn]) return 1;
    //Ansonsten speichere sie
    new query[256];
    mysql_format(handle, query, sizeof(query), "UPDATE users SET level = '%d', money = '%d', kills = '%d', deaths = '%d', alevel = '%d', fraktion = '%d', rang = '%d' WHERE id = '%d'",
    PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pAlevel],PlayerInfo[playerid][pFraktion] ,PlayerInfo[playerid][pRang],PlayerInfo[playerid][p_id]);
    mysql_pquery(handle, query);
    return 1;
    }


    Und ich hätte noch eine Frage bin ziemlich weit aus dem Scripten raus und ich würde ganz gerne den String so erstellen das da steht:
    "Du wurdest von %s zu einem %i Admin ernannt!"


    mein Makeadminbefehl sieht so aus nicht wundern wegen den beiden SendClientMessages am Schluss:


    ocmd:makeadmin(playerid,params[])
    {
    print("makeadmin Befehl ausgeführt!");
    if(!isAdmin(playerid, 3))return SendClientMessage(playerid,DUNKELROT,"Dein Adminlevel ist zu Niedrig!");
    new pID,a_level,string[128];
    if(sscanf(params,"ui",pID,a_level))return SendClientMessage(playerid,GELB,"[INFO]: /makeadmin [playerid] [Level]");
    PlayerInfo[pID][pAlevel]=a_level;
    SaveUserStats(pID);
    format(string,sizeof(string),"Du wurdest von %s zu einem Admin %i ernannt",name);
    SendClientMessage(pID,GELB,"Dein Adminrang wurde geändert!");
    SendClientMessage(playerid,GELB,"Du hast den Adminrang geändert!");
    return 1;
    }