Guten Tag Leute,
mir wurde empfohlen mit meinem Problem hier her zu kommen, na dann hoffe ich ihr könnt mir helfen ![]()
Ich weiß das es vllt. viel ist bzw. es so aussieht aber ich würde ich dennoch über eure Hilfe freuen ![]()
Mein Problem ist, das ich mich seit Tagen mit MySQL beschäftige, und demnach auch versucht habe damit zu skripten!
Ich habe bis jetzt ein Registrations & Login System, eine Datenbank etc. was "funktioniert" jedoch nichts übernimmt ![]()
Also hier sind die 3 Stocks: create/load/save Player
stock CreateAccount(playerid, passwort[])
{
new query[256],Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
mysql_real_escape_string(Name,Name);
mysql_real_escape_string(passwort,passwort);
format(query, sizeof(query), "INSERT INTO Accounts (Name, Passwort) VALUES ('%s', '%s')", Name, passwort);
mysql_query(query);
SetPlayerColor(playerid, Zivifarbe);
SpielerInfo[playerid][ pLevel ] = Startlevel;
SpielerInfo[playerid][ pRegistriert] = 1;
SpielerInfo[playerid][ pAdminlevel ] = 0;
SpielerInfo[playerid][ pPremium ] = 0;
SpielerInfo[playerid][ pKills ] = 0;
SpielerInfo[playerid][ pDeaths ] = 0;
SpielerInfo[playerid][ pSkin ] = (ZiviSkin[random(10)]);
SpielerInfo[playerid][ pGeld ] = Startgeld;
return 1;
}
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
SpielerInfo[playerid][ pLevel ] = mysql_GetInt("Accounts", "Level", "Name", GetName(playerid));
SpielerInfo[playerid][ pRegistriert ] = mysql_GetInt("Accounts", "Registriert", "Name", GetName(playerid));
SpielerInfo[playerid][ pAdminlevel ] = mysql_GetInt("Accounts", "Adminlevel", "Name", GetName(playerid));
SpielerInfo[playerid][ pPremium ] = mysql_GetInt("Accounts", "Premium", "Name", GetName(playerid));
SpielerInfo[playerid][ pKills ] = mysql_GetInt("Accounts", "Kills", "Name", GetName(playerid));
SpielerInfo[playerid][ pDeaths ] = mysql_GetInt("Accounts", "Deaths", "Name", GetName(playerid));
SpielerInfo[playerid][ pSkin ] = mysql_GetInt("Accounts", "Skin", "Name", GetName(playerid));
SpielerInfo[playerid][ pGeld ] = mysql_GetInt("Accounts", "Geld", "Name", GetName(playerid));
}
return 1;
}
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
mysql_SetInt("Accounts", "Level", SpielerInfo[playerid][ pLevel ], "Name", GetName(playerid));
mysql_SetInt("Accounts", "Registriert", SpielerInfo[playerid][ pRegistriert ], "Name", GetName(playerid));
mysql_SetInt("Accounts", "Adminlevel", SpielerInfo[playerid][ pAdminlevel ], "Name", GetName(playerid));
mysql_SetInt("Accounts", "Premium", SpielerInfo[playerid][ pPremium ], "Name", GetName(playerid));
mysql_SetInt("Accounts", "Kills", SpielerInfo[playerid][ pKills ], "Name", GetName(playerid));
mysql_SetInt("Accounts", "Deaths", SpielerInfo[playerid][ pDeaths ], "Name", GetName(playerid));
mysql_SetInt("Accounts", "Skin", SpielerInfo[playerid][ pSkin ], "Name", GetName(playerid));
mysql_SetInt("Accounts", "Geld", SpielerInfo[playerid][ pGeld ], "Name", GetName(playerid));
}
return 1;
}
Das mit den Defines beim createn sollte normalerweise funktionieren da ich auch den spawn defined habe ![]()
#define Zivispawn_1 2484.6670,-1458.7844,24.0142 //Der Zivispawn
#define Zivifarbe 0xFFFFFFAA //Die Zivilisten Farbe (Weiß)
#define Startgeld 8500 //Das Anfangs Geld
#define Startlevel 2 //Das Anfangs Level
//Der 1. Skin den der Spieler erhalten soll
new ZiviSkin[] =
{
2,
7,
21,
26,
101,
128,
134,
135,
137,
160
};
Das ist unter OnGameModeInit(mit paar anderen sachen ^^)
AddPlayerClass(3,Zivispawn_1,0,0,0,0,0,0,0);
ConnectToDatabase...
So aufjedenfall wird ein Account erstellt, sprich der Name und das Passwort wird gespeichert so wie der skin bei addplayerclass, der is ja nur da weil es sein muss ^^... aber eig. sollte man nen random skin kriegen ![]()
Das ist die .sql Datei
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `accounts`
-- ----------------------------
DROP TABLE IF EXISTS `accounts`;
CREATE TABLE `accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(24) NOT NULL,
`Passwort` varchar(128) NOT NULL,
`Level` int(11) NOT NULL,
`Registriert` int(11) NOT NULL,
`Adminlevel` int(11) NOT NULL,
`Premium` int(11) NOT NULL,
`Kills` int(11) NOT NULL,
`Deaths` int(11) NOT NULL,
`Geld` int(11) NOT NULL,
`Skin` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of accounts
-- ----------------------------
Alles anzeigen
Ich hoffe der ein oder andere versteht mich und kann mir helfen ![]()
Lg![]()