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