Beiträge von E*Shark

    Nene, Es soll Addiert und Subtrahiert werden können, unabhängig von dem was er bereits hat, wenn ich eingebe:


    /setmoney 0 1000 sollen +1000 dazu kommen


    Wenn ich aber...


    /set money 0 -1000 eingebe, sollen 1000 abgezogen werden.

    Hey zusammen,


    bei folgendem Befehl bekomme ich noch einige Probleme:


    ocmd:setmoney(playerid,params[])
    {
    new pID, money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,COLOR_RED,"Benutze: /setmoney [PlayerID] [Summe]");
    GivePlayerMoney(pID,GetPlayerMoney(pID)+money);
    sSpieler[pID][Geld]=sSpieler[pID][Geld]+money;
    return 1;
    }


    Beim ersten Ausführen wird das Geld ganz normal addiert, beim weiteren Geld geben, wird das Geld mit dem gleichen betrag verdreifacht, und eine Geld Summe wegnehmen mit /setmoney 0 -1000 geht auch nicht, wo kann das Problem hier vorkommen ?

    Ich habe da noch einen Fehler, wenn ich mich einloggen möchte, werde ich anch einem PW gefragt, normalerweise sollte man nicht einloggen können, wenn ich aber keines eingebe, kann ich dennoch einloggen o0


    Was kann da der Fehler sein ?


    public OnPlayerConnect(playerid)
    {
    new SpielerDatei[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",name);
    if(dini_Exists(SpielerDatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte logge dich mit deinem Passwort in deinem Account ein!","Okay","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Wir haben deinen Account nicht gefunden, bitte gib nun dein Passwort ein!","Okay","Abbrechen");
    }
    //Rmoves
    RemoveBuildingForPlayer(playerid, 10248, -1680.9922, 683.2344, 19.0469, 0.25);
    RemoveBuildingForPlayer(playerid, 967, -1700.9297, 688.8672, 23.8828, 0.25);
    RemoveBuildingForPlayer(playerid, 966, -1701.4297, 687.5938, 23.8828, 0.25);
    RemoveBuildingForPlayer(playerid, 966, -1572.2031, 658.8359, 6.0781, 0.25);
    RemoveBuildingForPlayer(playerid, 967, -1572.7031, 657.6016, 6.0781, 0.25);

    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,COLOR_RED,"Da du den Vorgang abgebrochen hast, wurdest du vom Server gekickt!");
    Kick(playerid);
    }
    if(response==1)
    {
    Register(playerid,inputtext);
    }
    }
    if(dialogid==DIALOG_LOGIN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,COLOR_RED,"Da du den Vorgang abgebrochen hast, wurdest du vom Server gekickt!");
    Kick(playerid);
    }
    if(response==1)
    {
    Login(playerid,inputtext);
    }
    }
    return 1;
    }


    stock Register(playerid,key[])
    {
    new SpielerDatei[256], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",name);
    dini_Create(SpielerDatei);
    dini_Set(SpielerDatei,"Passwort",key);
    SendClientMessage(playerid,COLOR_RED,"Du hast dich erfolgreich registriert!");
    return 1;
    }


    stock Login(playerid,key[])
    {
    new SpielerDatei[256], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",name);
    if(!strcmp(key,dini_Get(SpielerDatei,"Passwort"),false))
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast dich erfolgreich eingeloggt!");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte logge dich mit deinem Passwort in deinem Account ein!","Okay","Abbrechen");
    }
    return 1;
    }

    new SpielerDatei[256],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(SpielerDatei,sizeof(SpielerDatei),"/Accounts/%s.ini",name);
    if(dini_Exists(SpielerDatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte logge dich mit deinem Passwort in deinem Account ein!","Okay","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Wir haben deinen Account nicht gefunden, bitte gib nun dein Passwort ein!","Okay","Abbrechen");
    }


    Fehlercodes...


    F:\SAMP Server\gamemodes\xxx-xxx.pwn(126) : warning 213: tag mismatch
    F:\SAMP Server\gamemodes\xxx-Netwxxxork.pwn(130) : warning 213: tag mismatch


    Weswegen genau bekomme ich einen Tag Missmatch Warning ?

    Jeffry das habe ich versucht aber scheitere dran, ich mache es aber nochmal und wenn ich weiter Probleme habe, werde ich hier nochmal schreiben wenn das geht. Danke dennoch an alle die mir versuchen zu Helfen.


    Zudem ist das ganze in dcmd / ocmd / strcmp


    Könnte das eventuell Jemand in nur einer einzigen Definition machen ?

    Ich bin auf der Suche nach einem Fraktionssystem. Leicht verständlich erklärt. Und wenn möglich aktuell.


    //


    Es muss ein Tutorial sein, nicht das hier die Leute denken ich suche fertige Scripts... Wie mein Nachposter.

    Wie kann ich Objecte removen, ich habe nun mit einem Extractor eine Base gebaut, und möchte aber die darin entfernten Objecte removen ? Wie geht das ?

    Beides nicht machbar... Lolz, ich wes doch wie man den mySQL Server bedient, oder hab ich enen an der Waffel o0


    Zitat

    Server: 127.0.0.1 via TCP/IP
    Server-Typ: MySQL
    Server Version: 5.6.20 - MySQL Community Server (GPL)
    Protokoll-Version: 10
    Benutzer: root@localhost
    Server Zeichensatz: UTF-8 Unicode (utf8)


    //Edit


    Mit dem user Root geht es, mit dem user Samp nicht -.-^^ Frag mich nicht ich wes es nicht aber nun funzt es LoLz...

    Genau die Daten die ich da im Script stehen habe, da es nur zum Testen ist, eigentlich kenne ich mich mit der Materie sehr gut aus, allerdings funktiniert das mit SAMP nicht, und ich nutze XAMPP und das normale MySQL r34 Plugin, er zeigt mir auch wenn der Server funktioniert keine Verbindung möglich !

    Danke für deinen Hinweis, ich sehe nun den fehler =)


    [19:19:31] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '127.0.0.1' (10061)
    [19:19:32] [ERROR] CMySQLConnection::Connect - (error #2003) Can't connect to MySQL server on '127.0.0.1' (10061)

    Hallöchen zusammen.


    Ich habe mir mal einige Tutorials angesehen und das von Mr.Monat getestet allerdings funktioniert bei mir das Registrieren nicht.


    ///Includes
    #include <a_samp>
    #include <ocmd>
    #include <sscanf2>
    #include <a_mysql>


    //Globale Variablen
    new dbhandle;


    //Farben
    #define COLOR_RED 0xFF0000FF


    //Dialoge
    #define DIALOG_TELEPORT 1
    #define DIALOG_REGISTER 2


    //MySQL
    #define db_host "127.0.0.1"
    #define db_user "samp"
    #define db_pass "mysqlpasswort"
    #define db_db "samp"


    //Forwards
    forward OnUserCheck(playerid);


    main()
    {


    }


    public OnGameModeInit()
    {
    SetGameModeText("MrMonat Tutorialmode");
    AddPlayerClass(1,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
    AddPlayerClass(2,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);
    AddPlayerClass(3,199.0846,-150.0331,1.5781,359.1443,WEAPON_MP5,500,0,0,0,0);


    //MySQL
    dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
    return 1;
    }


    public OnGameModeExit()
    {
    mysql_close(dbhandle);
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
    SetPlayerCameraPos(playerid, 199.2307,-143.8328,1.5781);
    SetPlayerCameraLookAt(playerid, 199.0846,-150.0331,1.5781);
    SetPlayerFacingAngle(playerid,359.1443);
    return 1;
    }


    public OnUserCheck(playerid)
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0)
    {
    //Registrierung
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
    }
    else
    {
    //Login
    }
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    new nachricht[128];
    format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
    SendClientMessage(playerid,COLOR_RED,nachricht);


    //Login/Register
    new name[MAX_PLAYER_NAME],query[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
    mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    //Befehle


    ocmd:teleport(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,"Teleport","Spawn\nFarm","Teleport","Abbrechen");
    return 1;
    }


    ocmd:pn(playerid,params[])
    {
    new pID,text[128];
    if(sscanf(params,"us[128]",pID,text))return SendClientMessage(playerid,COLOR_RED,"INFO: /pn [playerid] [text]");
    SendClientMessage(pID,COLOR_RED,text);
    return 1;
    }


    ocmd:restart(playerid,params[])
    {
    SendRconCommand("gmx");
    return 1;
    }


    ocmd:test(playerid,params[])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast /test eingegeben.");
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
    mysql_function_query(dbhandle,query,false,"","");
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    if(dialogid==DIALOG_TELEPORT)
    {
    if(response)
    {
    if(listitem==0)
    {
    //Spawn
    SetPlayerPos(playerid,199.0846,-150.0331,1.5781);
    }
    if(listitem==1)
    {
    //Farm
    SetPlayerPos(playerid,0.0,0.0,6.0);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Vorgang abgebrochen.");
    }
    return 1;
    }
    return 1;
    }


    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }



    Und die Verbindung zur Datenbank stimmt auch o0