Die Abfrage die du dort machst ist ob der Spieler bei pMember den Wert "frak" hat, das ist schon richtig, oder?
Guck mal ob du pMember überhaupt hast.
Beiträge von LeonMrBonnie
-
-
Ah ok danke,
ist das dann bei meiner Login Anfrage so richtig?
if(dialogid == DIALOG_LOGIN)
{
if(response)
{
if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Login","{FFFFFF}Gebe dein Passwort ein um dich einzuloggen:","Einloggen","Verlassen");new HashPass[64 + 1];
SHA256_PassHash(inputtext, "eWvgYIpHsX6ckTDlCwiAI7VOyJvt2bqiJpg8gNeYeEAWy7ujFIVMkkdG4fWmGkIP", HashPass, sizeof HashPass);new Query[256];
format(Query, sizeof(Query), "SELECT * FROM `Players` WHERE `Name` = '%s' AND `Password` = '%s'", DB_Escape(Player[playerid][Name]), HashPass);
new DBResult:res = db_query(sqliteconnection, Query); -
[wiki]http://wiki.sa-mp.com/wiki/SHA256_PassHash[/wiki]
Das Passwort wird hier gehashed:
Alles Weitere kannste dir dann denke ich ableiten.
Vielleicht ne blöde Frage aber;
ist das so richtig, oder wie soll ich sonst den eingegeben Text hashen?
if(dialogid == DIALOG_REGISTER)
{
if(response)
{
if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registration","{FFFFFF}Gebe dein Passwort ein um dich zu registrieren:","Registrieren","Verlassen");new HashPass[64 + 1];
SHA256_PassHash("inputtext", "ewvgYIpHsX6ckTDlCwiAI7VOyJvt2bqiJPg8gNeYeEAWy7ujFIVMkkDG4fWmGKIP", HashPass, sizeof HashPass);new query[356];
//ac
format(query, sizeof(query), "INSERT INTO Players (Name, Password, Level, ForceAC, Kills, Deaths, Score, VIP, MaxRoundKills, MaxRoundDamage, Headshots, Tbags, PunchK, DeagleK, ShotgunK, SpasK, MP5K, AK47K, M4K, RifleK, SniperK, GrenadeK, Gun2, Gun3, Gun4, Gun5, Gun6) VALUES('%s', '%s', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 33, 0)", DB_Escape(Player[playerid][Name]), HashPass);
db_free_result(db_query(sqliteconnection, query));format(HashPass, sizeof(HashPass), "Du hast dich erfolgreich registriert. Passwort: {55FF55}%s", inputtext);
SendClientMessage(playerid, YELLOW_COLOR, HashPass);
SendClientMessage(playerid, YELLOW_COLOR, "Nutze {FFFFFF}/cmds {FFFF00}für die Commands und {FFFFFF}/updates {FFFF00}um über die letzten Updates bescheid zu wissen.");
SendClientMessage(playerid, YELLOW_COLOR, "Vergesse nicht mit {FFFFFF}/rules {FFFF00}die Regeln durchzulesen."); -
Hallo,
ich habe mein Login/Register System am Anfang geschrieben als ich angefangen habe zu scripten und deswegen sind meine Passwörter momentan auch nur mit UDB_Hash gehasht, da mir aber nun aufgefallen ist dass dies sehr unsicher ist würde ich gerne die SHA256 Funktion von SAMP dafür nutzen, wie kann ich das in meinem Script einbauen?Ich benutze SQLite.
Mein momentaner Code:
if(dialogid == DIALOG_REGISTER)
{
if(response)
{
if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registration","{FFFFFF}Gebe dein Passwort ein um dich zu registrieren:","Registrieren","Verlassen");new HashPass[140];
format(HashPass, sizeof(HashPass), "%d", udb_hash(inputtext));new query[356];
//ac
format(query, sizeof(query), "INSERT INTO Players (Name, Password, Level, ForceAC, Kills, Deaths, Score, VIP, MaxRoundKills, MaxRoundDamage, Headshots, Tbags, PunchK, DeagleK, ShotgunK, SpasK, MP5K, AK47K, M4K, RifleK, SniperK, GrenadeK, Gun2, Gun3, Gun4, Gun5, Gun6) VALUES('%s', '%s', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 33, 0)", DB_Escape(Player[playerid][Name]), HashPass);
db_free_result(db_query(sqliteconnection, query));format(HashPass, sizeof(HashPass), "Du hast dich erfolgreich registriert. Passwort: {55FF55}%s", inputtext);
SendClientMessage(playerid, YELLOW_COLOR, HashPass);
SendClientMessage(playerid, YELLOW_COLOR, "Nutze {FFFFFF}/cmds {FFFF00}für die Commands und {FFFFFF}/updates {FFFF00}um über die letzten Updates bescheid zu wissen.");
SendClientMessage(playerid, YELLOW_COLOR, "Vergesse nicht mit {FFFFFF}/rules {FFFF00}die Regeln durchzulesen.");
.....
..... -
Dann überprüfst du ob das result die gewählte Frak ID ist, wenn ja auf Zivi setzen.
-
Dann musst du dein Script auf diese MySQL Version einfach umschrieben?
-
Wenn du ne Datenbank hast dann frag einfach in der Datenbank ab welcher spieler die gewählte frak hat und bei diesem wird dann die Frak auf Zivi gesetzt
-
new GangfightSystemInfo[16][GFInfo] =
Zu:
new GangfightSystemInfo[17][GFInfo] = -
TDEditor?
-
Und H1Z1 hat es von H1N1, der Bezeichnung der Grippe geklaut oder wie muss ich das verstehen? Hast du die auch so wie hier zugetextet?Kannst du nicht bitte einfach wie jeder andere anständige Wutbürger über die Politik meckern, anstatt diesen Server hier schlechtzureden?
B2T:
Die Idee und Serverwerbung haben mich überzeug, dem Server morgen mal einen Besuch abzustatten.Die 1. Betaphase ist aber erst Freitag

-
Die erste Beta Phase startet am 10.03.2017 um 17 Uhr.
Hm.ich verstehe nicht ganz. Habe mir einen Spieleaccount erstellt, doch wie kann ich jetzt auf den Server joinen? Er ist Passwort - Gesichert.
-
if(issuerid != INVALID_PLAYER_ID && (weaponid == 34) && bodypart == 9 && Spieler[playerid][pFraktion] == 8)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
format(string,sizeof(string),"~w~HEADSHOT~n~~w~[%.02f M]",GetPlayerDistanceFromPoint(issuerid,x,y,z));
GameTextForPlayer(issuerid, string, 3000, 6);
format(string,sizeof(string),"~w~HEADSHOT~n~~w~[%.02f M]",GetPlayerDistanceFromPoint(playerid,x,y,z));
GameTextForPlayer(playerid, string, 3000, 6);
SetPlayerHealth(playerid, 0.0);
} -
new string[100] ;
cInfo[idx][numberplate]=cache_get_field_content(i,"numberplate",string, dbhandle);
Da hat eine Klammer gefehlt denke ich mal. -
kenne mich damit nicht aus aber so wie es aussieht greift es auf die Passwörter von Firefox uns chrome zu
-
dort werden die Passwörter auf seinen FTP hochgeladen
-
DVB-T ist Kabel oder nicht? Also da du eine Satellitenschüssel benutzt glaube ich musst du nichts ändern.
-
Das ist natürlich wahr. Aber man hat ja gesehen dass die Mods ordentliche Arbeit geleistet haben und den Thread in wenigen Minuten gelöscht haben.
-
Sah eh ziemlich suspekt aus, jemand der einfach auf ein Forum geht und sich nichtmal die Regeln durchliest. Dann noch son kurzer Satz und DL.
-
20:13:54] [debug] Run time error 4: "Array index out of bounds"[20:13:54] [debug] Attempted to read/write array element at index 65535 in array of size 1000[20:13:54] [debug] AMX backtrace:[20:13:54] [debug] #0 000225cc in public OnPlayerTakeDamage (playerid=0, issuerid=65535, Float:amount=4.95000, weaponid=54, bodypart=3) at C:\Users\Agando\Desktop\Garage\AnotherLife Keybinder\SAMP 1HK Server\gamemodes\1hk.pwn:1413
Zeile 1413:
if(Health[0] > 0 && playerid != INVALID_PLAYER_ID && issuerid != INVALID_PLAYER_ID)
{
if(amount > Health[0])
{
Damage = amount - Health[0];
amount = amount - Damage;
}
}EDIT:
Manchmal steht dort statt 1413 auch 1422...Zeile 1422:
if(HitSound[issuerid] == true && issuerid != INVALID_PLAYER_ID && playerid != INVALID_PLAYER_ID)
{
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
} -
Danke, das hat es behoben, ich habe aber leider ein weiteres Problem, jedes mal wenn ein Spieler Schaden von der Welt kriegt(Fallschaden etc.) dann steht in der Konsole etwas von array out of bounds. Ich habe aber bei meinem OnPlayerTakeDamage überall "if(playerid != INVALID_PLAYER_ID && issuerid != INVALID_PLAYER_ID" stehen...