20.07.2011, 20:26
Hi,
I just tested the register/login system from SII! But it doesn't work! When I run my server, the log says!
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3c R2, ©2005-2011 SA-MP Team
[00:57:19]
[00:57:19] Server Plugins
[00:57:19] --------------
[00:57:19] Loaded 0 plugins.
[00:57:19]
[00:57:19] Filter Scripts
[00:57:19] ---------------
[00:57:19] Loading filter script 'base.amx'...
[00:57:19]
--Base FS loaded.
[00:57:19] Loading filter script 'gl_actions.amx'...
[00:57:19] Loading filter script 'gl_property.amx'...
[00:57:19]
-----------------------------------
[00:57:19] Grand Larceny Property Filterscript
[00:57:19] -----------------------------------
[00:57:19] Loading filter script 'gl_realtime.amx'...
[00:57:19] Loading filter script 'gl_mapicon.amx'...
[00:57:19] Loading filter script 'ls_elevator.amx'...
[00:57:19] Loaded 6 filter scripts.
[00:57:19] Reading File: blank
[00:57:19] Reading File: properties/houses.txt
[00:57:19] Reading File: properties/businesses.txt
[00:57:19] Reading File: properties/banks.txt
[00:57:19] Reading File: properties/police.txt
[00:57:19] Script[gamemodes/deathmatch.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
[00:57:19] Number of vehicle models: 0
Ok, my script is not SO big, I'm showing u everything now! (No worry, I marked the lines I added!)
Just look at the added-new things, everything else was old and ok!
The problem is:
When I connect to my server, he says I have to register and give my passowrd!OK!
Then I connect again to my server, but he says again that I have to register!OMG! I had to log myselfe in!
I just tested the register/login system from SII! But it doesn't work! When I run my server, the log says!
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3c R2, ©2005-2011 SA-MP Team
[00:57:19]
[00:57:19] Server Plugins
[00:57:19] --------------
[00:57:19] Loaded 0 plugins.
[00:57:19]
[00:57:19] Filter Scripts
[00:57:19] ---------------
[00:57:19] Loading filter script 'base.amx'...
[00:57:19]
--Base FS loaded.
[00:57:19] Loading filter script 'gl_actions.amx'...
[00:57:19] Loading filter script 'gl_property.amx'...
[00:57:19]
-----------------------------------
[00:57:19] Grand Larceny Property Filterscript
[00:57:19] -----------------------------------
[00:57:19] Loading filter script 'gl_realtime.amx'...
[00:57:19] Loading filter script 'gl_mapicon.amx'...
[00:57:19] Loading filter script 'ls_elevator.amx'...
[00:57:19] Loaded 6 filter scripts.
[00:57:19] Reading File: blank
[00:57:19] Reading File: properties/houses.txt
[00:57:19] Reading File: properties/businesses.txt
[00:57:19] Reading File: properties/banks.txt
[00:57:19] Reading File: properties/police.txt
[00:57:19] Script[gamemodes/deathmatch.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
[00:57:19] Number of vehicle models: 0
Ok, my script is not SO big, I'm showing u everything now! (No worry, I marked the lines I added!)
Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#include <SII> //added new
#define DIALOG_REGISTER 2000//added new
#define DIALOG_LOGIN 2001//added new
#define WHITE "{FFFFFF}"//added new
#define RED "{F81414}"//added new
#define GREEN "{00FF22}"//added new
#define LIGHTBLUE "{00CED1}"//added new
new gPlayerName[MAX_PLAYERS][MAX_PLAYER_NAME];//added new
#define TEAM_GROVE 1
#define TEAM_BALLA 2
#define TEAM_VAGOS 3
#define TEAM_GROVE_COLOR 0x00FF00AA // Bright Green (in RGBA format)
#define TEAM_BALLA_COLOR 0xFF00FFAA // Bright Purple
#define TEAM_VAGOS_COLOR 0xFFFF00AA // Yellow
new gTeam[MAX_PLAYERS];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
enum pInfo //added new
{
pPass,
pScore,
pCash,
pAdmin,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
stock getINI(playerid) //added new
{
new account[64];
format(account,30,"Users/%s.ini",gPlayerName[playerid]);
return account;
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("***Live your own life as a GangstA***");
AddPlayerClass(102, 1974.4895,-1157.0608,20.9505,95.6222, 30, 1000, 29, 1000, 27, 1000); //Ballas1
AddPlayerClass(103, 1976.7120,-1183.5504,26.0188,98.0542, 22, 1000, 34, 1000, 29, 1000); //Ballas2
AddPlayerClass(104, 2092.0271,-1166.3419,26.5859,89.4869, 28, 1000, 23, 1000, 4, 1000); //Ballas3
AddPlayerClass(269, 2486.7598,-1647.5186,14.0703,187.5500, 30, 1000, 25, 1000, 24, 1000); //Smoke
AddPlayerClass(271, 2459.9001,-1688.4135,13.5280,2.9949, 33, 1000, 32, 1000, 31, 1000); //Ryder
AddPlayerClass(270,2516.3430,-1674.3085,13.9348,81.6422,32,1000,31,1000,34,1000); // Sweet
AddPlayerClass(0,2495.4890,-1688.2717,13.7022,5.9233,1,0,29,1000,27,1000); // CJ
AddPlayerClass(105,2451.6484,-1642.4531,13.7357,182.6713,28,1000,33,1000,22,1000); // grove1
AddPlayerClass(106,2413.7170,-1647.2096,14.0119,174.8622,26,1000,30,1000,23,1000); // grove2
AddPlayerClass(107,2408.6982,-1674.0126,13.6037,356.5973,34,1000,30,1000,32,1000); // grove3
AddPlayerClass(108,2571.8352,-1091.2091,66.9639,48.7203,29,1000,9,0,31,1000); // Vagos1
AddPlayerClass(109,2569.7373,-1088.5804,67.0079,220.8869,22,1000,33,1000,30,1000); // Vagos2
AddPlayerClass(110,2576.0371,-1070.5568,69.8322,89.5007,27,1000,24,1000,32,1000); // Vagos3
return 1;
}
public OnGameModeExit()
{
return 1;
}
SetPlayerTeamFromClass(playerid, classid)
{
if (classid == 0)
{
gTeam[playerid] = TEAM_BALLA;
}
else if(classid == 1)
{
gTeam[playerid] = TEAM_GROVE;
}
else if(classid == 2)
{
gTeam[playerid] = TEAM_VAGOS;
}
}
SetPlayerToTeamColor(playerid)
{
if (gTeam[playerid] == TEAM_GROVE)
{
SetPlayerColor(playerid, TEAM_GROVE_COLOR);
}
else if (gTeam[playerid] == TEAM_BALLA)
{
SetPlayerColor(playerid, TEAM_BALLA_COLOR);
}
else if (gTeam[playerid] == TEAM_VAGOS)
{
SetPlayerColor(playerid, TEAM_VAGOS_COLOR);
}
}
public OnPlayerRequestClass(playerid, classid)
{
switch ( classid )
{
case 0:
{
SetPlayerTeamFromClass(playerid, classid);
SetPlayerPos(playerid, 1992.1263,-1175.7640,20.1479);//Ballas1
SetPlayerFacingAngle( playerid, 187.0574 );
SetPlayerCameraPos(playerid, 1991.3074,-1179.9628,20.0234);
SetPlayerCameraLookAt(playerid, 1992.1263,-1175.7640,20.1479);
}
case 1:
{
SetPlayerTeamFromClass(playerid, classid);
SetPlayerPos(playerid, 1992.1263,-1175.7640,20.1479);//Ballas2
SetPlayerFacingAngle( playerid, 187.0574 );
SetPlayerCameraPos(playerid, 1991.3074,-1179.9628,20.0234);
SetPlayerCameraLookAt(playerid, 1992.1263,-1175.7640,20.1479);
}
case 2:
{
SetPlayerTeamFromClass(playerid, classid);
SetPlayerPos(playerid, 1992.1263,-1175.7640,20.1479);//Ballas3
SetPlayerFacingAngle( playerid, 187.0574 );
SetPlayerCameraPos(playerid, 1991.3074,-1179.9628,20.0234);
SetPlayerCameraLookAt(playerid, 1992.1263,-1175.7640,20.1479);
}
case 3:
{
SetPlayerPos(playerid, 2486.7598,-1647.5186,14.0703);//Smoke
SetPlayerFacingAngle( playerid, 187.5500 );
SetPlayerCameraPos(playerid, 2486.4346,-1646.0953-5,14.0703);
SetPlayerCameraLookAt(playerid, 2486.7598,-1647.5186,14.0703);
}
case 4:
{
SetPlayerPos(playerid, 2459.4480, -1690.9413, 13.5454);//Ryder
SetPlayerFacingAngle( playerid, 0.0000 );
SetPlayerCameraPos(playerid, 2459.6384, -1687.1152, 13.5413);
SetPlayerCameraLookAt(playerid, 2459.4480, -1690.9413, 13.5454);
}
case 5:
{
SetPlayerPos(playerid, 2522.6121, -1679.1656, 15.4970);//sweet
SetPlayerFacingAngle( playerid, 88.0000 );
SetPlayerCameraPos(playerid, 2518.7092, -1677.2450, 14.4855);
SetPlayerCameraLookAt(playerid, 2522.6121, -1679.1656, 15.4970);
}
case 6:
{
SetPlayerPos(playerid, 2491.8879, -1692.5519, 14.7656);//CJ
SetPlayerFacingAngle(playerid, 0.0000 );
SetPlayerCameraPos(playerid, 2491.4521, -1686.6085, 14.9499);
SetPlayerCameraLookAt(playerid, 2491.8879, -1692.5519, 14.7656);
}
case 7:
{
SetPlayerPos(playerid, 2451.6484,-1642.4531,13.7357);//grove1
SetPlayerFacingAngle(playerid, 182.6713 );
SetPlayerCameraPos(playerid, 2451.9380,-1644.4344,13.4585);
SetPlayerCameraLookAt(playerid, 2451.6484,-1642.4531,13.7357);
}
case 8:
{
SetPlayerPos(playerid, 2413.7170,-1647.2096,14.0119);//grove2
SetPlayerFacingAngle(playerid, 174.8622 );
SetPlayerCameraPos(playerid, 2414.0659,-1649.3937,13.5427);
SetPlayerCameraLookAt(playerid, 2413.7170,-1647.2096,14.0119);
}
case 9:
{
SetPlayerPos(playerid, 2408.6982,-1674.0126,13.6037);//grove3
SetPlayerFacingAngle(playerid, 356.5973 );
SetPlayerCameraPos(playerid, 2409.2739,-1671.2870,13.5758);
SetPlayerCameraLookAt(playerid, 2408.6982,-1674.0126,13.6037);
}
case 10:
{
SetPlayerPos(playerid, 2571.8352,-1091.2091,66.9639);//Vagos1
SetPlayerFacingAngle(playerid, 48.7203 );
SetPlayerCameraPos(playerid, 2570.1152,-1089.5372,66.8601);
SetPlayerCameraLookAt(playerid, 2571.8352,-1091.2091,66.9639);
}
case 11:
{
SetPlayerPos(playerid, 2519.7849,-1112.9146,56.3307);//Vagos2
SetPlayerFacingAngle(playerid, 281.2392 );
SetPlayerCameraPos(playerid, 2521.8833,-1112.5847,56.2635);
SetPlayerCameraLookAt(playerid, 2519.7849,-1112.9146,56.3307);
}
case 12:
{
SetPlayerPos(playerid, 2576.0371,-1070.5568,69.8322);//Vagos3
SetPlayerFacingAngle(playerid, 89.5007 );
SetPlayerCameraPos(playerid, 2574.1665,-1070.4742,69.2872);
SetPlayerCameraLookAt(playerid, 2576.0371,-1070.5568,69.8322);
}
}
return 1;
}
public OnPlayerConnect(playerid) //added new
{
GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
if (fexist(getINI(playerid)))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""WHITE"Login",""WHITE"Type your password below to login.","Login","Quit");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""WHITE"Registering...",""WHITE"Type your password below to register a new account.","Register","Quit");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason) //added new
{
if(INI_Open(getINI(playerid))) {
INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
INI_WriteInt("Cash",PlayerInfo[playerid][pCash]);
INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
INI_Save();
INI_Close();
}
}
public OnPlayerSpawn(playerid)
{
SetPlayerToTeamColor(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)
{
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[]) //ADDED NEW
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if (response)
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""WHITE"Registering...",""RED"You have entered an invalid password.\n"WHITE"Type your password below to register a new account.","Register","Quit");
}
if(INI_Open(getINI(playerid))) {
INI_WriteString("Password",inputtext);
INI_WriteInt("Score",1);
INI_WriteInt("Cash",5000);
INI_WriteInt("Admin",0);
INI_Save();
INI_Close();
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""WHITE"Login",""WHITE"Type your password below to login.","Login","Quit");
}
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""WHITE"Login",""RED"You have entered an invalid password.\n"WHITE"Type your password below to login.","Login","Quit");
}
if(INI_Open(getINI(playerid))) {
INI_ReadString(PlayerInfo[playerid][pPass],"Password",20);
if(strcmp(inputtext,PlayerInfo[playerid][pPass],false)) {
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""WHITE"Login",""RED"You have entered an incorrect password.\n"WHITE"Type your password below to login.","Login","Quit");
}
SetPlayerScore( playerid, INI_ReadInt("Score" ) );
ResetPlayerMoney( playerid );
GivePlayerMoney( playerid, INI_ReadInt( "Cash" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
INI_Close();
}
}
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
The problem is:
When I connect to my server, he says I have to register and give my passowrd!OK!
Then I connect again to my server, but he says again that I have to register!OMG! I had to log myselfe in!

