Hello! what's wrong in this code? Im trying to solve this alone for 5 days but I cant figure it out.
My problem is: I don't know what mistake I did but now,when I rgeister on my server,the .ini files won't be created or sometimes,it is created but it's empty.
Here is the code,if you can help me,I'll really apreciate.
Код:
public OnPlayerConnect(playerid)
{
SetPlayerCameraPos(playerid, 2045.53, 974.80, 324.86);
SetPlayerCameraLookAt(playerid, 2049.67, 972.16, 323.94);
if ( !INI_Exist( pName( playerid ) ) )
{
ShowPlayerDialog( playerid, DIALOG_REG_REQ, DIALOG_STYLE_MSGBOX, ""BLUESV"Register", ""BLUESV"You must register if you want to play!", "OK", "");
PlayAudioStreamForPlayer(playerid,"http://dc359.4shared.com/img/1119809299/72f20ab1/dlink__2Fdownload_2FeN_5FBmfRc_3Ftsid_3D20130716-85639-7a85b6b0/preview.mp3");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0x0000ff44,"Connected to YOU:RPG.");
SendClientMessage(playerid,0x0000ff44,"YOU make the game!");
}
else
{
ShowPlayerDialog( playerid, DIALOG_LOGIN, DIALOG_STYLE_MSGBOX, ""BLUESV"Login", ""BLUESV"Your name is registered, would you like to login?", "OK", "");
PlayAudioStreamForPlayer(playerid,"http://dc359.4shared.com/img/1119809299/72f20ab1/dlink__2Fdownload_2FeN_5FBmfRc_3Ftsid_3D20130716-85639-7a85b6b0/preview.mp3");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0xFFFFFFFF," ");
SendClientMessage(playerid,0x0000ff44,"Connected to YOU:RPG.");
SendClientMessage(playerid,0x0000ff44,"YOU make the game!");
}
return 1;
}
CMD:register( playerid, params[ ] )
{
#pragma unused params
if ( GetPVarInt( playerid, "Logged" ) == 1 )
return SendClientMessage( playerid, -1, ""COLOR_RED"You are already registered and logged in.");
ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_PASSWORD, ""BLUESV"Registering", ""BLUESV"Please write your desired password.", "OK", "Cancel");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REG:
{
if ( response )
{
if ( sscanf( inputtext, "s", inputtext[ 0 ] || strlen( inputtext[ 0 ] ) == 0 ) )
return ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_PASSWORD, ""BLUESV"Password", ""COLOR_RED"Error!\n\
"BLUESV"Please write your desired password.\n",
"OK", "Cancel");
if ( strlen( inputtext[ 0 ] ) < 3 || strlen( inputtext[ 0 ] ) > 20 )
return ShowPlayerDialog( playerid, DIALOG_REG, DIALOG_STYLE_PASSWORD, ""BLUESV"Password", ""COLOR_RED"Error!\n\
"BLUESV"Please write your desired password.\n\
"COLOR_RED"#{FFFFFF}Min. 3 Char. Max. 20 Char.",
"OK", "Cancel");
new
PlayerFile[ 13 + MAX_PLAYER_NAME ],
pDate[ 8 + 15 ], //HH:MM:SS + DD.MM.YYYY = 18
pYear,
pMonth,
pDay,
pHour,
pMinute,
pSecond,
InfBox[ 512 ]
;
getdate(pYear, pMonth, pDay ),gettime(pHour, pMinute, pSecond );
format( PlayerFile , sizeof PlayerFile, "Accounts/%s.ini", Encode( pName( playerid ) ) );
format( pDate, sizeof pDate, "%d:%d:%d %d/%d/%d",pHour, pMinute, pSecond , pDay, pMonth, pYear );
format( InfBox, sizeof InfBox, ""BLUESV"You registered your account with success!\n\n\
{FFFFFF}Account: "REDSV"%s\n\
{FFFFFF}Password: "REDSV"%s\n\n\
"BLUESV"You received "REDSV"$200000 and Score 1 "BLUESV"for registering.\n\
"BLUESV"Would you like to continue your registration?", pName( playerid ), inputtext);
ShowPlayerDialog( playerid, DIALOG_CONTINUE, DIALOG_STYLE_MSGBOX, "Continue Registration", InfBox, "YES", "NO" );
new INI:PlayerAcc = INI_Open( PlayerFile );
INI_WriteString( PlayerAcc, "NAME", pName( playerid ) );
INI_WriteString( PlayerAcc, "PASSWORD", inputtext );
INI_WriteString( PlayerAcc, "REG_DATE", pDate );
INI_WriteString( PlayerAcc, "LAST_ON", "First connection" );
INI_WriteInt( PlayerAcc, "MONEY", 200000 );
INI_WriteInt( PlayerAcc, "SCORE", 1 );
INI_WriteInt( PlayerAcc, "COINS", 10 );
INI_WriteInt( PlayerAcc, "TEAM", 0 );
INI_WriteInt( PlayerAcc, "CLUB", 0 );
INI_WriteInt( PlayerAcc, "DRUGS", 0 );
INI_WriteInt( PlayerAcc, "MATS", 0 );
INI_WriteInt( PlayerAcc, "KILLS", 0 );
INI_WriteInt( PlayerAcc, "DEATHS", 0 );
INI_WriteInt( PlayerAcc, "WANTED", 0 );
INI_WriteInt( PlayerAcc, "JAILED", 0 );
INI_WriteInt( PlayerAcc, "JAILEDTIMES", 0 );
INI_WriteInt( PlayerAcc, "WARNS", 0 );
INI_WriteInt( PlayerAcc, "SPREE", 0 );
INI_WriteInt( PlayerAcc, "ASSASINATED", 0 );
INI_WriteInt( PlayerAcc, "SPAWNPLACE", 2 );
INI_WriteInt( PlayerAcc, "TJAILED", 0 );
INI_WriteInt( PlayerAcc, "BIZID", 0 );
INI_WriteInt( PlayerAcc, "VIP_LEVEL", 0 );
INI_WriteInt( PlayerAcc, "ADMINLEVEL", 0 );
INI_WriteInt( PlayerAcc, "ADMINTESTPOINTS", 0 );
INI_Close( PlayerAcc );
SetPVarString( playerid, "Date", pDate );
SetPVarInt( playerid, "Logged", 0 );
GivePlayerMoney( playerid, 0 );
SetPlayerScore( playerid, GetPlayerScore( playerid ) + 1 );
}
}
Read my post,im desperate.
The .ini file creates but there is nothing wrote there.I used prints and all prints show ,just the one after INI_Close is not showing.
Run your server.exe as an Admin. That should fix it.