Beiträge von TheTutoFreak

    Hallo Brotfische,
    ich wollte schon seit längeren mal ein User Control Panel erstellen, und wollte da mal fragen wie sowas geht. Da ich null Ahnung in Sachen Webcoding habe, hab ich mir mal gedacht ich frag mal hier. Also da meine Frage: Welche Programmiersprache verwende ich wenn ich mit Dini speicher ? und wie fange ich da am besten an.

    Hallo Breadfish,
    ich habe heute mein Bank System angefangen und bin im Moment am ATM. Das Einzahlen, Abbuchen und den Kontostand habe ich schon. Jetzt bin ich am Überweisen und komme einfach nicht weiter. Ich weiß nicht wie ich das machen kann, das ich einem anderen Spieler das Geld "Überweisen" kann. Mein jetziger Code sieht so aus:

    //Oben im Script
    #define DIALOG_ATM 4
    #define DIALOG_ABBUCHEN 5
    #define DIALOG_EINZAHLEN 6
    #define DIALOG_ÜBERWEISEN 7
    #define DIALOG_UEBERWEISEN_PLAYER 8


    //Bei OnDialogResponse
    if(dialogid == DIALOG_ATM)
    {
    if(response == 0)
    {
    return 1;
    }
    if(response == 1)
    {
    if(listitem == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_ABBUCHEN,DIALOG_STYLE_INPUT,"Abbuchen","Bitte gib den gewünschten Betrag an:","Okay","Zurück");
    return 1;
    }
    if(listitem == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gib den gewünschten Betrag an:","Okay","Zurück");
    return 1;
    }
    if(listitem == 2)
    {
    ShowPlayerDialog(playerid,DIALOG_ÜBERWEISEN,DIALOG_STYLE_INPUT,"Überweisen","Bitte gib den gewünschten Betrag an:","Okay","Zurück");
    return 1;
    }
    if(listitem == 3)
    {
    new string[200],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Kontostand von %s Konto: $%d Bar: $%d",name,PlayerInfo[playerid][pBank],GetPlayerMoney(playerid));
    SendClientMessage(playerid,Grau,string);
    return 1;
    }
    return 1;
    }
    return 1;
    }
    if(dialogid == DIALOG_ABBUCHEN)
    {
    if(response == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_ATM,DIALOG_STYLE_LIST,"Bankautomat","Abbuchen\nEinzahlen\nÜberweisen\nKontostand","Auswählen","Schliesen");
    return 1;
    }
    if(response == 1)
    {
    new string[190];
    if(PlayerInfo[playerid][pBank] < strval(inputtext) ) return SendClientMessage(playerid,Grau,"Du hast nicht genug Geld auf deinem Konto!");
    GivePlayerMoney(playerid,strval(inputtext));
    PlayerInfo[playerid][pBank] -= strval(inputtext);
    format(string,sizeof(string),"Du hast $%d abgehoben.",strval(inputtext));
    SendClientMessage(playerid,Grau,string);
    return 1;
    }
    return 1;
    }
    if(dialogid == DIALOG_EINZAHLEN)
    {
    if(response == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_ATM,DIALOG_STYLE_LIST,"Bankautomat","Abbuchen\nEinzahlen\nÜberweisen\nKontostand","Auswählen","Schliesen");
    return 1;
    }
    if(response == 1)
    {
    new string[190];
    if(PlayerInfo[playerid][pBar] < strval(inputtext) ) return SendClientMessage(playerid,Grau,"Du hast nicht genug Geld auf deiner Hand!");
    GivePlayerMoney(playerid, - strval(inputtext));
    PlayerInfo[playerid][pBank] += strval(inputtext);
    format(string,sizeof(string),"Du hast $%d eingezahlt.",strval(inputtext));
    SendClientMessage(playerid,Grau,string);
    return 1;
    }
    return 1;
    }
    if(dialogid == DIALOG_ÜBERWEISEN)
    {
    if(response == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_ATM,DIALOG_STYLE_LIST,"Bankautomat","Abbuchen\nEinzahlen\nÜberweisen\nKontostand","Auswählen","Schliesen");
    return 1;
    }
    if(response == 1)
    {
    if(PlayerInfo[playerid][pBank] < strval(inputtext) ) return SendClientMessage(playerid,Grau,"Du hast nicht genug Geld auf deinem Konto!");
    ShowPlayerDialog(playerid,DIALOG_UEBERWEISEN_PLAYER,DIALOG_STYLE_INPUT,"Überweisen","Bitte gib den Namen des\nSpielers an, an den du das Geld\nÜberweisen möchtest.","Fertig","Zurück");
    return 1;
    }
    return 1;
    }
    if(dialogid == DIALOG_UEBERWEISEN_PLAYER)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,Grau,"Du hast die Überweisung abgebrochen!");
    return 1;
    }
    if(response == 0)
    {

    return 1;
    }
    return 1;
    }

    Ich nehme mal an du hast ein enum erstellt wo du alle daten speicherst. z.B.

    enum pInfo{
    pLevel,
    pGeld,
    pBank,
    ...
    }
    new PlayerInfo[MAX_PLAYERS][pInfo];


    Und dan dibst du der Variable pBank dan das Geld was du geben möchtest.

    Danke hat geklappt. Aber wenn die Variable Banned auf 1 ist, ändert sich nichts ich kann trotzdem connecten...
    OnPlayerConnect:

    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    if(PlayerInfo[playerid][pBanned] == 1)
    {
    SendClientMessage(playerid,Rot,"Du bist auf diesem Server gebannt!");
    SetTimerEx("KickPlayer", 1000, false, "i", playerid);
    }
    else if(PlayerInfo[playerid][pBanned] == 0)
    {
    SendClientMessage(playerid,Rot,"SERVER: Dein Account wurde in unserer Datenbank gefunden.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"SERVER: Du bist noch nicht Registriert.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Bitte gib dein gewünschtes Passwort ein:","Register","Abbrechen");
    }

    Hallo
    ich habe ein Problem mit meinem Kick / Ban Befehl. Bei mir wird die Nachricht nicht angezeigt das ich Gekickt / Gebannt wurde. Da steht nur Server close the connection...
    Code:

    //Oben
    forward KickPlayer(playerid);
    forward BanPlayer(playerid);
    //Befehle
    ocmd:kick(playerid,params[])
    {
    if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
    if(PlayerInfo[playerid][pAdminlevel] < 1 ) return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
    new name[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[128],pID,reason[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Grau,"Benutze: /kick [playerid/PartOfName] [Grund]");
    GetPlayerName(playerid,sendername,sizeof(sendername));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt, Grund: %s",sendername,name,reason);
    SendClientMessageToAll(Rot,string);
    SetTimerEx("KickPlayer", 1000, false, "i", pID);
    KickPlayer(pID);
    return 1;
    }
    ocmd:ban(playerid,params[])
    {
    if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
    if(PlayerInfo[playerid][pAdminlevel] < 2)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
    new name[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME],string[128],pID,reason[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,Grau,"Benutze: /ban [playerid/PartOfName] [Grund]");
    GetPlayerName(playerid,sendername,sizeof(sendername));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt, Grund: %s",sendername,name,reason);
    SetTimerEx("BanPlayer", 1000, false, "i", pID);
    BanPlayer(pID);
    return 1;
    }
    //Unten
    public KickPlayer(playerid)
    {
    Kick(playerid);
    return 1;
    }


    public BanPlayer(playerid)
    {
    PlayerInfo[playerid][pBanned] = 1;
    Kick(playerid);
    return 1;
    }

    Server.cfg:

    echo Executing Server Config...
    lanmode 0
    rcon_password geheim
    maxplayers 10
    port 8889
    hostname Mein Server
    gamemode0 Evolution 1
    filterscripts
    announce 0
    query 1
    chatlogging 0
    weburl www.sa-mp.com
    onfoot_rate 40
    incar_rate 40
    weapon_rate 40
    stream_distance 300.0
    stream_rate 1000
    maxnpc 0
    logtimeformat [%H:%M:%S]

    Hallo Community,
    mein Freund und ich wollten mal wieder auf meinem Server spielen. Dieser Server läuft über meinen PC, aber ich habe auf meinem Rooter einen Port freigeschalten und somit müsste man ja darauf mit meiner IP connecten können. Es ging auch vor einiger Zeit aber auf einmal nicht mehr. Ich verzweifel langsam und weiß echt nicht mehr weiter. Bitte um Hilfe.

    Ich habe es so gemacht aber jetzt Spamt es mir den Chat zu, selbst wenn ich nicht mal eine in der Hand habe...

    public WeaponCheck()
    {
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pAdminlevel] == 0)
    {
    if(GetPlayerWeapon(i) == 38 || 28 || 32 || 35 || 36 || 37 || 39 || 40)
    {
    new string[128],name[MAX_PLAYER_NAME];
    GetPlayerName(i,name,sizeof(name));
    format(string,sizeof(string),"AntiCheat: %s ist im Verdacht sich Waffen zu cheaten.",name);
    SendClientMessageToAdmin(Rot,string);
    }
    }
    }
    }
    return 1;
    }