Beiträge von Markuslobicher

    Guten Tag


    Meine Frage ist:


    Das Register/Login-System wenn es über mysql geschrieben ist wie kann man es machen das 2Tabellen genutzt werden?
    Ich meine das z.B. so:


    Username und Passwort


    Dann die Andere Tabelle
    Userstats von den Spielern.


    Level,Adminlevel und so

    Guten Morgen


    @Jeffry (wenn du zeit hast)


    Ich bin grade am überlegen soll ich den Personalausweis per Dialog machen lassen das die Spieler ihre Daten da eintragen können oder wie bei allen anderen Server,
    man geht in die Stadthalle und kauft sich ein Personalausweis und alle Daten stehen dann im Chat/Textdreaw.


    Ich würde es gerne so machen das man den Personalausweis über mehre Dialoge hinweg seine Daten Eintragen muss.
    Desweiteren wenn man den Perso auf ruft das man es in ein Textdreaw ist oder Dialog (was wäre hier am Sinnvollsten?


    Da ich mit Textdreaws noch nicht gearbeitet habe wird es glaube ich mir schwerfallen.


    Bin für gute antworten sehr dankbar.


    PS:
    Wer jetzt meinen zu müssen und sagen zu wollen "Geh mal auf Google.de der kann direkt sich aus den Beitrag raushalten.

    @Jeffry


    Ich möchte es ja so haben das die Passworter verschlüsselt sind


    So habe ich es jetzt:
    Pawncode:


    MYSQL-Log beim Registerieren:

    Neuer einlogg:


    So habe es nun so gemacht wie du @Jeffry


    So sieht alles nun aus:


    Dennoch kann ich mich nicht einloggen mit dem Passwort


    Login/Register:




    Mysql-log:(Beim Registrieren):


    Beim erneuten Login:


    So habe es so gemacht wie du es gesagt hast @Jeffry


    Passwort wird nicht in der MySqL Tabelle abgespeichert Password. Nach dem man sich Registriert hat.



    Mysql-Log:


    Login/Register:


    @Jeffry
    So sieht mein Code Aus


    Login/Register:


    MYSQL-Log beim Registrieren:

    Loginprozess nach dem erneuten verbiden:


    Um Objecte mit Texturen zu versehen musst du wie folgt vor gehen.


    Tutorial extra nur für dich:


    Du startest dein SAMP-Map-Construckton (Sry für mein Englisch)
    Dann drückst du auf Lode Colison dann auf die Fläche in der Mitte.


    Danach gehst du zu den Ort wo du es haben willst hin.


    Rechts hast du ein Menü mit Views , Objecte, Movement
    Drücke da nun auf Objecte damit du eine Liste aller Skins/Objekte und Autos von GTA San Andreas bekommst.
    Wenn du dich für ein Objekt entschieden hast fügst zu de deiner liste hinzu.


    Das Object steht jetzt auf dem Flugplatz von Area52


    Du fügst nun das Objekt unter OnGameModeInit ein mit:
    CreateObject(19429, 314.76596, 1870.47668, 18.55236, 0.00000, 0.00000, 0.00000);


    Oder damit es Dynamisch ist:
    CreateDynamicObject(19429, 314.76596, 1870.47668, 18.55236, 0.00000, 0.00000, 0.00000);


    Damit wäre nun ein Objekt erstellt worden.


    Damit das Objekt nun eine Textur bekommt gehst du auf


    https://textures.xyin.ws/?page=textures


    Da suchst du deine Textur aus und fügst folgendes ebenfalls unter OnGameModeInit:


    SetObjectMaterial(CreateObject(19429, 314.76596, 1870.47668, 18.55236, 0.00000, 0.00000, 0.00000), 0, 8419, "vgsbldng1", "black32", 0xFFFFFFFF);


    So mit hast du das erstellte Objekt mit einer Schwarzen Textur versehen.


    Wenn du RemoveBuildingForPlayer hast musst du es unter OnPlayerConnect packen so das es für alle Spieler die auf dein Server Kommen verschwunden ist

    @Jeffry



    Habe es jetzt so:

    @Jeffry und @German_ScripterHD



    So oder?

    Guten Abend


    Ich gebe nun mal hier meine Bewertung ab.


    Folgendes:


    Script: 0/10 Weil es ein GF-Edit ist
    Forum: 1/10 Nur wegen das Design
    TS3: 0/10 Weil die Rechte nicht mal eingestellt sind.


    InfoText:
    Der Server ist nicht mal in der Lage mit Kritik um zu gehen,
    Serverleiter Techno will einfach nicht die Wahrheit ein sehen das der Server nichts wird
    Die haben kein richtigen Scripter
    Bannen Leute nur wegen ihre Meinung.


    Daher sage ich nicht drauf gehen

    was genau muss ich vom Register weg machen?

    @Jeffry


    Sieht bis jetzt so alles aus:






    Datenbank:


    MYSQL-LOGdatei: Da ist auch von Autos mit drin


    Nach dem Neueinloggen:


    MYSQL-Log nach dem Neueinloggen:


    @Jeffry Habe ein neuen Fehler/Warung bekommen im Script


    Und zwar wird mir die Funktion die ich mir gemacht habe mit SetPlayerMoney als warnung ausgebeben.



    Scriptcode:



    Forwoard:

    Code
    forward OnUserCheck(playerid);
    forward OnPasswordResponse(playerid);
    forward OnPlayerRegister(playerid);



    Register/Login Dialog definiert:


    Code
    #define DIALOG_REGISTER 2
    #define DIALOG_LOGIN 3


    Enum:

    Code
    enum playerInfo{
    	eingeloggt,
    	level,
    	db_id,
    	alevel,
    	fraktion,
    	rang,
    	spawnchange
    }
    new sInfo[MAX_PLAYERS][playerInfo];


    MYSQL:


    Code
    //mysql:
    #define db_host "localhost"
    #define db_user "Root"
    #define db_pass ""
    #define db_db "MEINE DB"
    new dbhandle;


    OnGameModeInit:


    Code
    //mysql verbindung:
    	dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
    	print("Mysql wurde verbunden!");
    	mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);

    OnGameModeExit: Der Timmer ist für was anderes!



    Code
    public OnGameModeExit()
    {
    	mysql_close(dbhandle);
    	KillTimer(sekunden_timer);
    	return 1;
    }

    OnUserCheck:




    OnPlayerRegister:


    Code
    public OnPlayerRegister(playerid)
    {
    	sInfo[playerid][db_id] = cache_insert_id();
    	return 1;
    }


    OnPlayerConnect Mit Spieler Speichern und Spieler Laden:



    OnPlayerDisconnect:


    getPlayerName: [Ich weiß es nicht ob es dazu gehört]:



    Code
    getPlayerName(playerid)
    {
    	new name[MAX_PLAYER_NAME];
    	GetPlayerName(playerid,name,sizeof(name));
    	return name;
    }


    OnPasswordResponse:


    OnDialogResponse: [Es sind alle Dialoge von mir drin]



    SpielerName:


    Code
    stock SpielerName(playerid)
    {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,MAX_PLAYER_NAME);
        return name;
    }

    Dann sagt er mir auch das folgende Funktion die ich gemacht habe nicht gibt:




    Code
    SetPlayerMoney(playerid,money)
    {
    	ResetPlayerMoney(playerid);
    	GivePlayerMoney(playerid,money);
    	return 1;
    }
    
    
    samplernen.p(1570) : warning 203: symbol is never used: "SetPlayerMoney"

    MYSQL_Log:


    @Jeffry
    Nach dem ich das alles so gemacht habe kann man keine Admin-Befehle mehr ausführen selbst wenn man adminrechte hat.


    Ich weiß einfach nicht was nun der Fehler sein soll:


    Ob es jetzt an OnPlayerRegister liegt weiß ich nicht.
    Aber ich weiß´nur das unter OnUserCheck geprüft wird ob Spieler registriert ist oder login gehen muss:




    Forward:

    Code
    forward OnUserCheck(playerid);
    forward OnPasswordResponse(playerid);
    forward OnUserCheck(playerid)


    Login/Register:

    Code
    #define DIALOG_REGISTER 2
    #define DIALOG_LOGIN 3


    enum playerinfo:

    Code
    enum playerInfo{
    	eingeloggt,
    	level,
    	db_id,
    	alevel,
    	fraktion,
    	rang,
    	spawnchange
    }
    Code
    new sInfo[MAX_PLAYERS][playerInfo];


    //mysql:

    Code
    #define db_host "localhost"
    #define db_user "benutzername"
    #define db_pass ""
    #define db_db "samp5608_samp"
    new dbhandle;

    OnGameModeInit:


    Code
    //mysql verbindung:
    	dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
    	print("Mysql wurde verbunden!");
    	mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);


    OnGameModExit:

    Code
    public OnGameModeExit()
    {
    	mysql_close(dbhandle);
    	KillTimer(sekunden_timer);
    	return 1;
    }



    Ka ob es dazu gehört:

    Code
    getPlayerName(playerid)
    {
    	new name[MAX_PLAYER_NAME];
    	GetPlayerName(playerid,name,sizeof(name));
    	return name;
    }