#include <YSI\y_ini> |
public OnPlayerConnect(playerid) { if(fexist(UserPath(playerid))) { INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE" Type your password below to login.","Login","Quit"); } else { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""C OL_WHITE"Type your password below to register a new account.","Register","Quit"); } return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } |
D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(136) : error 017: undefined symbol "UserPath" D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(13 ![]() D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(139) : error 017: undefined symbol "DIALOG_LOGIN" D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(143) : error 017: undefined symbol "DIALOG_REGISTER" |
// Register system // #define DIALOG_REGISTER 1 #define DIALOG_LOGIN 2 #define DIALOG_SUCCESS_1 3 #define DIALOG_SUCCESS_2 4 #define PATH "/users/%s.ini" enum pInfo { pPass, pCash, pAdmin, pKills, pDeaths } new PlayerInfo[MAX_PLAYERS][pInfo]; forward LoadUser_data(playerid,name[],value[]); public LoadUser_data(playerid,name[],value[]) { INI_Int("Password",PlayerInfo[playerid][pPass]); INI_Int("Cash",PlayerInfo[playerid][pCash]); INI_Int("Admin",PlayerInfo[playerid][pAdmin]); INI_Int("Kills",PlayerInfo[playerid][pKills]); INI_Int("Deaths",PlayerInfo[playerid][pDeaths]); return 1; } stock UserPath(playerid) { new string[128],playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playernam e)); format(string,sizeof(string),PATH,playername); return string; } /*Credits to Dracoblue*/ stock udb_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n<length; n++) { s1 = (s1 + buf[n]) % 65521; s2 = (s2 + s1) % 65521; } return (s2 << 16) + s1; } // Register system # y_ini // |
// Colors define // #define COL_WHITE "{FFFFFF}" #define COL_RED "{F81414}" #define COL_GREEN "{00FF22}" #define COL_LIGHTBLUE "{00CED1}" // Colors define // |
enum {
DIALOG_REGISTER,
DIALOG_LOGIN ,
DIALOG_SUCCESS_1,
DIALOG_SUCCESS_2
}
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playernam e));
format(string,sizeof(string),PATH,playername);
return string;
}
UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid);
INI_SetTag(File, "data"):
Don't use #define for DIALOG ID to avoid ID collusion,
instead, I suggest that you use PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
|
#define DIALOG_REGISTER 1 #define DIALOG_LOGIN 2 #define DIALOG_SUCCESS_1 3 #define DIALOG_SUCCESS_2 4 #define PATH "/users/%s.ini" // Colors define // #define COL_WHITE "{FFFFFF}" #define COL_RED "{F81414}" #define COL_GREEN "{00FF22}" #define COL_LIGHTBLUE "{00CED1}" // Colors define // |
Thats all my defines. It is my first "script" on my gamemode, nothing else. I don't know why it could be wrong.
|
// INCLUDES // #include <a_samp> #include <a_mysql> #include <streamer> #include <crashdetect> #include <sscanf2> #include <zcmd> #include <YSI\y_ini> #include <YSI\y_timers> #include <foreach> #pragma tabsize 0 // lose identation error // ~~~~ // main( ) { } // Connection // #undef MAX_PLAYERS #define MAX_PLAYERS 15 #if defined FILTERSCRIPT // Connection // // Colors Define // #define COL_WHITE "{FFFFFF}" #define COL_RED "{F81414}" #define COL_GREEN "{00FF22}" #define COL_LIGHTBLUE "{00CED1}" // Colors Define // // Register system // #define DIALOG_REGISTER 1 #define DIALOG_LOGIN 2 #define DIALOG_SUCCESS_1 3 #define DIALOG_SUCCESS_2 4 #define PATH "/Users/%s.ini" enum pInfo { pPass, pCash, pAdmin, pKills, pDeaths } new PlayerInfo[MAX_PLAYERS][pInfo]; forward LoadUser_data(playerid,name[],value[]); public LoadUser_data(playerid,name[],value[]) { INI_Int("Password",PlayerInfo[playerid][pPass]); INI_Int("Cash",PlayerInfo[playerid][pCash]); INI_Int("Admin",PlayerInfo[playerid][pAdmin]); INI_Int("Kills",PlayerInfo[playerid][pKills]); INI_Int("Deaths",PlayerInfo[playerid][pDeaths]); return 1; } stock UserPath(playerid) { new string[128],playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playernam e)); format(string,sizeof(string),PATH,playername); return string; } /*Credits to Dracoblue*/ stock udb_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n<length; n++) { s1 = (s1 + buf[n]) % 65521; s2 = (s2 + s1) % 65521; } return (s2 << 16) + s1; } // Register system # y_ini // public OnFilterScriptInit() { print("\n--------------------------------------"); print(" Successfull!"); print("--------------------------------------\n"); return 1; } public OnFilterScriptExit() { return 1; } #else #endif public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("TEST VLH"); AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { SpawnPlayer(playerid); //Here skip this buttons SetPlayerPos(playerid, 1683.3362,-2326.4019,13.5469); SetPlayerFacingAngle(playerid, 357.8167); return 1; } public OnPlayerConnect(playerid) { if(fexist(UserPath(playerid))) { INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE" Type your password below to login.","Login","Quit"); } else { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""C OL_WHITE"Type your password below to register a new account.","Register","Quit"); } return 1; } public OnPlayerDisconnect(playerid, reason) { return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, reason) { 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) { SetPlayerSkin(playerid,0); //Here when someone spawn, it will give him random skin from 0 to 305 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[]) { return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; } |
D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(133) : error 017: undefined symbol "UserPath" D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(135) : error 017: undefined symbol "UserPath" D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(136) : error 017: undefined symbol "DIALOG_LOGIN" D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(136) : error 017: undefined symbol "COL_WHITE" D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(136) : warning 215: expression has no effect D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(136) : error 001: expected token: "-string end-", but found "-identifier-" D:\Server\samp037_svr_R2-1-1_win32\gamemodes\Untitled.pwn(136) : fatal error 107: too many error messages on one line |
Do you have UserPath function created? The code seems to be OK, are you sure you are compiling the correct gamemode? Like sometimes I compile something and I realize I opened a wrong file. Can you show the whole gamemode?
|