25.12.2015, 18:47
Код:
D:\server\gamemodes\devilRPG.pwn(112) : error 028: invalid subscript (not an array or too many subscripts): "PlayerInfo" D:\server\gamemodes\devilRPG.pwn(112) : error 029: invalid expression, assumed zero D:\server\gamemodes\devilRPG.pwn(112) : error 029: invalid expression, assumed zero
Код:
// -------------------------------------------Devil RPG---------------------------------------------- // DE FACUT //1. Register/Login system //----------------------------------------------------- //Include #include <a_samp> #include <YSI\y_ini> //native native WP_Hash(buffer[],len,const str[]); //colors #define COLOR_GREEN 0x1E8200FF #define COLOR_RED 0xFF1414FF #define COLOR_GRAD6 0xF0F0F0FF #define COLOR_BROWN 0x993300AA #define COLOR_GREY 0xAFAFAFAA #define COLOR_WHITE 0xFFFFFFFF #define COL_WHITE "{FFFFFF}" #define COL_RED "{B33C3C}" #define COL_LIGHTRED "{F041F0}" #define COL_GREEN "{165316}" #define COL_LIGHTBLUE "{00CED1}" #define COLORYELLOW "{9DBD1E}" #define COLORORANGE "{E68C0E}" #define COLORBLUE "{39AACC}" #define COLORGREEN "{6FA828}" #define COLORWHITE "{FFFFFF}" #define COLORRED "{FF0000}" #define COLORGREY "{7D8584}" #define COL_BROWN "{6B3F34}" #define COL_PROPERTIES "{4364FF}" #define COL_HOUSES "{6200FF}" #define COL_SILVER "{C0C0C0}" #define COL_BRONZE "{CD7F32}" #define COL_GOLD "{D4A017}" #define COL_ADMIN "{027807}" #define COLOR_FACTIONCHAT 0x01FCFFC8 #define COLOR_GROVE 0x51A505FF #define COLOR_SEVILLE 0xBCFB84FF #define COLOR_AZTECAS 0x00BBBBFF #define COLOR_VAGOS 0xFFFF24FF #define COLOR_BALLAS 0xB000B0FF #define COLOR_SJPD 0x5846FFFF #define COLOR_ADMIN 0xFD7E00FF #define COLOR_DARKRED 0xCD000000 #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_LIGHTGREEN 0x9ACD32AA #define COLOR_LIGHTRED 0xFF6347AA // 0xB33C3CAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_LIGHTBLUE2 0x0080FFAA #define COLOR_LIGHTGREEN 0x9ACD32AA #define COLOR_LIGHTORANGE 0xFF8000FF #define COLOR_DARKBROWN 0xB36C42FF #define COLOR_MEDIUMBLUE 0x1ED5C7FF #define COLOR_LIGHTYELLOW 0xE0E377AA #define COLOR_LIGHTYELLOW2 0xE0EA64AA #define COLOR_LIGHTYELLOW3 0xFF6347AA #define COLOR_DARKPURPLE 0x5F56F8AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_YELLOW2 0xF5DEB3AA #define COLOR_FADE1 0xE6E6E6E6 #define COLOR_FADE2 0xC8C8C8C8 #define COLOR_FADE3 0xAAAAAAAA #define COLOR_FADE4 0x8C8C8C8C #define COLOR_FADE5 0x6E6E6E6E #define COLOR_PURPLE 0xC2A2DAAA #define COLOR_OOC 0xE0FFFFAA #define COLOR_LOCALMSG 0xEC5413AA //register define #define dregister 2015 #define dlogin 2016 #define UserPath "Users/%s.ini" main() { print("\n----------------------------------"); print(" Devil RPG"); print(" ----------"); print(" Scripted by Uncle"); print("----------------------------------\n"); } //enums enum PlayerInfo { Pass[129], Adminlevel, VIPlevel, Money, Scores, Kills, Deaths } //stocks stock Path(playerid) { new str[128],name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(str,sizeof(str),UserPath,name); return str; } //publics forward loadaccount_user(playerid, name[], value[]); public loadaccount_user(playerid, name[], value[]) { INI_String("Password", PlayerInfo[playerid][Pass],129); INI_Int("AdminLevel",PlayerInfo[playerid][Adminlevel]); INI_Int("VIPLevel",PlayerInfo[playerid][VIPlevel]); INI_Int("Money",PlayerInfo[playerid][Money]); INI_Int("Scores",PlayerInfo[playerid][Scores]); INI_Int("Kills",PlayerInfo[playerid][Kills]); INI_Int("Deaths",PlayerInfo[playerid][Deaths]); return 1; } public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("RPG alpha0.1"); AddPlayerClass(299, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); return 1; } public OnPlayerConnect(playerid) { //Connect Message SendClientMessage(playerid, COLOR_GREEN, "[SERVER]: "COL_WHITE"Bine ai venit pe Devil RPG! Versiunea curenta alpha0.1."); //Connect Register new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); if(fexist(Path(playerid))) { INI_ParseFile(Path(playerid),"loadaccount_%s", .bExtra = true, .extra = playerid); ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Login","Bine ai revenit. \nIntrodu "COL_YELLOW"parola "COL_WHITE"pentru a te loga.","Logare","Iesire"); } else { ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"Register","Bine ai venit! Nu esti inregistrat.\nIntrodu o "COL_YELLOW"parola "COL_WHITE"pentru a te inregistra.","Inregistrare","Iesire"); return 1; } return 1; } public OnPlayerDisconnect(playerid, reason) { new INI:file = INI_Open(Path(playerid)); INI_SetTag(file,"Player's Data"); INI_WriteInt(file,"AdminLevel",PlayerInfo[playerid][Adminlevel]); INI_WriteInt(file,"VIPLevel",PlayerInfo[playerid][VIPlevel]); INI_WriteInt(file,"Money",GetPlayerMoney(playerid)); INI_WriteInt(file,"Scores",GetPlayerScore(playerid)); INI_WriteInt(file,"Kills",PlayerInfo[playerid][Kills]); INI_WriteInt(file,"Deaths",PlayerInfo[playerid][Deaths]); INI_Close(file); return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { PlayerInfo[killerid][Kills]++; PlayerInfo[playerid][Deaths]++; return 1; } public OnVehicleSpawn(vehicleid) { return 1; } public OnVehicleDeath(vehicleid, killerid) { return 1; } public OnPlayerText(playerid, text[]) { return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/mycommand", cmdtext, true, 10) == 0) { // Do something here return 1; } return 0; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { return 1; } public OnPlayerExitVehicle(playerid, vehicleid) { return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public OnPlayerLeaveCheckpoint(playerid) { return 1; } public OnPlayerEnterRaceCheckpoint(playerid) { return 1; } public OnPlayerLeaveRaceCheckpoint(playerid) { return 1; } public OnRconCommand(cmd[]) { return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnObjectMoved(objectid) { return 1; } public OnPlayerObjectMoved(playerid, objectid) { return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { return 1; } public OnVehicleMod(playerid, vehicleid, componentid) { return 1; } public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { return 1; } public OnVehicleRespray(playerid, vehicleid, color1, color2) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { return 1; } public OnRconLoginAttempt(ip[], password[], success) { return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerStreamIn(playerid, forplayerid) { return 1; } public OnPlayerStreamOut(playerid, forplayerid) { return 1; } public OnVehicleStreamIn(vehicleid, forplayerid) { return 1; } public OnVehicleStreamOut(vehicleid, forplayerid) { return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == dregister) { if(!response) return Kick(playerid); if(response) { if(!strlen(inputtext)) { ShowPlayerDialog(playerid,dregister,DIALOG_STYLE_INPUT,"Register","Nu ai introdus o parola.\nTe rugam introdu o parola pentru a te "COL_YELLOW"inregistra"COL_WHITE".","Inregistrare","Iesire"); return 1; } new hashpass[129]; WP_Hash(hashpass,sizeof(hashpass),inputtext); new INI:file = INI_Open(Path(playerid)); INI_SetTag(file,"Player's Data"); INI_WriteString(file,"Password",hashpass); INI_WriteInt(file,"AdminLevel",0); INI_WriteInt(file,"VIPLevel",0); INI_WriteInt(file,"Money",0); INI_WriteInt(file,"Scores",0); INI_WriteInt(file,"Kills",0); INI_WriteInt(file,"Deaths",0); INI_Close(file); SendClientMessage(playerid,COLOR_YELLOW,"Te-ai inregistrat cu succes!"); return 1; } } if(dialogid == dlogin) { if(!response) return Kick(playerid); if(response) { new hashpass[129]; WP_Hash(hashpass,sizeof(hashpass),inputtext); if(!strcmp(hashpass, PlayerInfo[playerid][Pass], false)) { INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid); SetPlayerScore(playerid,PlayerInfo[playerid][Scores]); GivePlayerMoney(playerid,PlayerInfo[playerid][Money]); SendClientMessage(playerid,COLOR_YELLOW,"Bine ai revenit! Te-ai logat cu succes."); } else { ShowPlayerDialog(playerid,dlogin,DIALOG_STYLE_INPUT,"Login",""COL_RED"PAROLA GRESITA! \nIntrodu parola corecata pentrua a te loga.","Logare","Iesire"); return 1; } } } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; }