Hab mal eine Frage was wollt ihr denn so gemappt haben?
LG XJimmiX
Beiträge von XJimmiX
-
-
-
-
SpielerSpeichern(playerid)
{
//Speichern
if(sInfo[playerid][eingeloggt]==0)return 1;
new query[128];
format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i' WHERE id='%i",sInfo[playerid][level],sInfo[playerid][money],sInfo[playerid][alevel],sInfo[playerid][id]);
mysql_pquery(dbhandle,query,"","");
return 1;
}
ResetPlayer(playerid)
{
sInfo[playerid][eingeloggt] = 0;
sInfo[playerid][id] = 0;
sInfo[playerid][level] = 0;
sInfo[playerid][money] = 0;
sInfo[playerid][alevel] = 0;
return 1;
}Oder was meinst du ?
-
So das mit dem Name wäre geklärt und das mit dem Rang auch also die %werte
aber entweder setzt er das adminlevel nicht oder er speichert es nicht.und ich habe diesen mysql,log
-
-
Hallo Community ich habe ien Problem mit diesem Command und zwar setzt der das adminlevel nicht auf das gewünschte und der zeigt auch nicht das %i und das %s im chat an.
IsAdmin(playerid,a_level)
{
if(sInfo[playerid][alevel]>=a_level)return 1;
return 0;
}
ocmd:makeadmin(playerid,params[])
{
if(!IsAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Dein Rang ist zu niedrig");
new pID,a_level,nachricht[128],nachrichte[128];
if(sscanf(params,"ui",pID,a_level))return SendClientMessage(playerid,GRAU,"INFO:/makeadmin [id] [rang]");
sInfo[pID][alevel]=a_level;
SpielerSpeichern(pID);
format(nachricht,sizeof(nachricht),"%s hat dein Adminrang geändert. Neuer Rang: %i",pID,a_level);
SendClientMessage(pID,GRÜN,nachricht);
format(nachrichte,sizeof(nachrichte),"Du hast den Rang von %s auf Rang %i geändert.",pID,a_level);
SendClientMessage(playerid,GRÜN,nachrichte);
return 1;
} -
Danke dir
-
Hallo,
Habe folgende warnings:
warning 219: local variable "money" shadows a variable at a preceding level
(111) : warning 213: tag mismatch
(108) : warning 203: symbol is never used: "money"SetPlayerMoney(playerid,money)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,money);
return 1;
}enum SpielerDaten{
eingeloggt,
level,
id,
money
}wie mach ich das jetzt wenn es schon definiert ist?
-
Oh hab ich garnicht gesehen.
Aber der Fehler kommt immernoch.
Und der erstellt auch keinen Account in der Datenbank -
Hey Mecent,
Bin Gillmann von MrMonat:
Habe nochmal von vorne angefangen mit dem Login/Register System.
Hier der Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_REGISTER)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[20];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>3)
{
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s%)",name,passwort);
mysql_pquery(dbhandle,query,"","");
}
else
{
SendClientMessage(playerid,ROT,"Dein Passwort muss mindestens 4 Zeichen enthalten!");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrierung","Gebe
bitte dein gewünschtes Passwort an:","Weiter","Abbrechen");
}
}
else
{
Kick(playerid);
}
return 1;
}
return 1;
}könnt ihr mir das daran erklären, nachdem ich das gescriptet habe kam es nämlich.
//Edit basiert auf MrMonat Tutorials
-
Hallo Community,
Ich habe eine kurze Fragen und zwar kann mir jemand diesen mysql fehler erklären?
Wäre echt super -
super danke dir
-
Hallo Community,
Ich habe 2 warnings die ich gerne loswerden möchte.
(134) : warning 206: redundant test: constant expression is non-zero
(138) : warning 225: unreachable codepublic OnPlayerConnect(playerid)
{
for(new i;playerInfo:1 < playerInfo; i++)//Zeile 134 warning 206
{
sInfo[playerid][playerInfo:i] = 0;
}
IstRegistriert[playerid] = 0; // Zeile 138 warning 225
GetPlayerName(playerid, name[playerid], 24);
GetPlayerIp(playerid, IP[playerid], 16);
new query[128];
mysql_format(dbhandle, query, sizeof(query), "SELECT * FROM `user` WHERE `username` = '%e' LIMIT 1", name[playerid]);
mysql_tquery(dbhandle, query, "AccountAnlegen", "i", playerid);
return 1;
}Ich hoffe ihr könnt mir helfen
-
Hallo,
Ich habe es jetzt nach diesem turorial gemacht:
[ SCRIPTING ] MySQL R39-3 Register/Login Systemund bekomme folgende warnings:
[pwn(150) : warning 206: redundant test: constant expression is non-zero
(154) : warning 225: unreachable code
(345) : warning 219: local variable "ip" shadows a variable at a preceding level
(345) : warning 219: local variable "password" shadows a variable at a preceding level
(403) : warning 217: loose indentation][/pwn]Ich habe versucht es nach meiner Mysql tabelle anzupassen.
Hier die warnings:
public OnPlayerConnect(playerid)
{
for(new i;playerInfo:1 < playerInfo; i++) //Zeile 150
{
sInfo[playerid][playerInfo:i] = 0;
}
IstRegistriert[playerid] = 0; //Zeile 154
GetPlayerName(playerid, name[playerid], 24);
GetPlayerIp(playerid, ip[playerid], 16);
new query[128];
mysql_format(dbhandle, query, sizeof(query), "SELECT * FROM `user` WHERE `username` = '%e' LIMIT 1", name[playerid]);
mysql_tquery(dbhandle, query, "AccountAnlegen", "i", playerid);
return 1;
}public OnRconLoginAttempt(ip[], password[], success)//Zeile 345
{
return 1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_LOGIN:
{
if(!response) Kick(playerid);
new query[256];
WP_Hash(db_pass,129,inputtext);
if(strlen(db_pass) && !strcmp(db_pass, sInfo[playerid][password]))
{
mysql_format(dbhandle,query,sizeof(query), "SELECT * FROM `user` WHERE `username` = '%e' LIMIT 1", name[playerid]);
mysql_tquery(dbhandle,query,"AccountLaden", "i", playerid);
}
else
{
ShowPlayerDialog(playerid,2, DIALOG_STYLE_INPUT, "Login", "Dein Account wurde gefunden. Bitte gib nun dein Passwort ein\nFalsches Passwort!", "Einloggen", "Abbrechen");
}
}
case DIALOG_REGISTER:
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Register","Dein Account wurde nicht gefunden! Bitte gib nun dein gewünschtes Passwort ein.\nDein Passwort muss länger als 6 Zeichen sein!", "Registrieren", "Abbrechen");
new query[300];
WP_Hash(sInfo[playerid][password], 129, inputtext);
mysql_format(dbhandle, query, sizeof(query), "INSERT INTO `user` (`username`, `password`,`ip`, `level`, `money`, `alevel`) VALUES ('%e', '%s', '%s',1, 1500, 0)", name[playerid], sInfo[playerid][password], ip[playerid]);
mysql_tquery(dbhandle, query, "AccountAnlegen", "i", playerid);
}
}
return 1;//Zeile 403
}Meine enum:
enum playerInfo{
eingeloggt,
id,
password,
level,
money,
alevel
}Das alte System steht ja oben da seht ihr meine Daten die geladen werden sollen
Hier meine Struktur und die Daten:
http://www.pic-upload.de/view-27890464/hhp.png.html -
Ich habe es genauso gemacht wie dus gesagt hast und es kommt immer noch "das passwort ist falsch" also kann mich nicht einloggen.
-
Hallo liebe Community ich habe ein Problem mit meinem login und register system und zwar wenn ich mich einloggen will kommt immer das passwort ist falsch weiß jemand woran das liegen könnte?
if(dialogid==DIALOG_REGISTER)
{
new name[MAX_PLAYER_NAME],query[128],passwort[20];
GetPlayerName(playerid,name,sizeof(name));
if(response)
{
if(strlen(inputtext)>3)
{
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"INSERT INTO user (username,password,level,money) VALUES ('%s',('%s'),'%i','%i')",name,MD5_Hash(passwort),1,1500);
mysql_pquery(dbhandle,query,"","");
SetPlayerScore(playerid,1);
GivePlayerMoney(playerid,1500);
}
else
{
SendClientMessage(playerid,ROT,"Dein Passwort muss mindestens 4 Zeichen lang sein!");
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Weiter","Abbrechen");
}
}
else
{
Kick(playerid);
}
}
if(dialogid==DIALOG_LOGIN)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[20];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>0)
{
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"SELECT * FROM `user` WHERE username='%s' AND password=MD5('%s')",name,MD5_Hash(passwort));
mysql_pquery(dbhandle,query,"AccountLaden","i",playerid);
}
else
{
SendClientMessage(playerid,ROT,"Du hast kein Passwort angegeben");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login","Gib bitte dein Passwort ein:","Login","Abbrechen");
}
}
else
{
Kick(playerid);
}
}
public OnPlayerConnect(playerid)
{
//Register/login
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT * FROM user WHERE username='%s'",name);
mysql_pquery(dbhandle,query,"AccountAnlegen","i",playerid);
return 1;
}
SpielerSpeichern(playerid)
{
if(sInfo[playerid][eingeloggt]==0)return 1;
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"UPDATE `user` SET `level` = '%i',`money` = '%i',`alevel` = '%i' WHERE `username` = '%s'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],name);
mysql_pquery(dbhandle,query,"","");
return 1;
}
ResetPlayer(playerid)
{
sInfo[playerid][level]=0;
sInfo[playerid][eingeloggt]=0;
sInfo[playerid][id]=0;
sInfo[playerid][alevel]=0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SpielerSpeichern(playerid);
ResetPlayer(playerid);
return 1;
}
public AccountAnlegen(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows== 0)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Weiter","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login","Gib bitte dein Passwort ein:","Login","Abbrechen");
}
return 1;
}
public AccountLaden(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows== 1)
{
//paswort richtig
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
sInfo[playerid][eingeloggt] = 1;
SetPlayerScore(playerid,cache_get_field_content_int(0,"level",dbhandle));
sInfo[playerid][id] = cache_get_field_content_int(0,"id",dbhandle);
SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
}
else
{
//passwort falsch
SendClientMessage(playerid,ROT,"Das eingegebene Passwort ist falsch!");
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Login","Gib bitte dein Passwort ein:","Login","Abbrechen");
}
return 1;
}Das ist das ganze sytem mit halt oben ein paar definitionen etc.?
-
Hallo liebe Community,
Ich bin gerade neu angefangen mit einem Script und habe folgendes Problem.
Bei diesen Dialog:
ocmd:tp(playerid,params[])
{
ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,"Teleport","Öffentliche Orte\nFraktionen\nJobs","Weiter","Abrechen");
return 1;
}Kommen diese Errors:
error 029: invalid expression, assumed zero
warning 215: expression has no effect
warning 215: expression has no effect
warning 215: expression has no effect
warning 215: expression has no effect
warning 215: expression has no effect
error 001: expected token: ";", but found ")"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one lineIch hoffe ihr könnt mir behilflich sein.
Danke im Voraus!
-
ja genau so
-
Hallo liebe Community,
ich arbeite mit dem GNE-Script und dort ist es so, dass wenn man sein Auto umparken möchte alsomit(/park) dann muss man erst off gehen damit es nachdem es
zerstört wurde auch an der neugesparkten stelle spawnt. Meine Frage ist jetzt wie ich das mache, dass man nicht extra off gehen muss?
Wäre echt super wenn mir einer Hilfe leisten könnte.LG
XJimmiX