Account system doesn't create :((
#1

I created my server and when I register after those I login, I choose the age, gender, and origin, and when I want to go to .../scriptfiles/users/%s.ini I do not get anything. I do not appear "Key=%s".
How can i fix that?
Reply
#2

Well, there could be a lot of ways, check a few of them if you didnt type:
I use YSI for register/login system so I got this line:
Quote:

INI_WriteInt(file,"Gender",0);

It saves integer inside of a User file. That was an example of waht could it be since I dont know what do you use for register/login system.
2. Second thing that could be is maybe you didnt use PlayerInfo enum. Example:
When you type /login(or when you typed what you wanted in a dialog), in script it must be a line that saves the information in script:
example : PlayerInfo[playerid][Gender] = 1( or Male).
3. Third thing could be maybe you didnt make OnPlayerDisconnect so it saves your information before you log. Example:
Quote:

INI_Int("Gender",PlayerInfo[playerid][Gender]);

That wouldnt save on next login.
Or fourth thing is maybe you didnt make a public function to load user's account.

Check all of those four options if they are there or if they are working properly.

There are more reasons probably, specialy if you use RP script. I mentioned the head ones. You didnt gave us enough informations so we could know. I am just guessing what's wrong.
Reply
#3

You have to provide us some code before we can help you. If we can't see what's causing the error, we can't fix it.
Reply
#4

I don't use Ini or something like that
See my script:
PHP код:
/*

    Pawno Edited by 
        Scripter Gabii/Scripter Bizza
*/

#include <a_samp>

#define TAG[SRC]           "{FFBF00}"
#define COL_EASY           "{FFF1AF}"
#define COL_WHITE          "{FFFFFF}"
#define COL_BLACK          "{0E0101}"
#define COL_GREY           "{C3C3C3}"
#define COL_GREEN          "{6EF83C}"
#define COL_RED            "{F81414}"
#define COL_YELLOW         "{F3FF02}"
#define COL_ORANGE         "{FFAF00}"
#define COL_LIME           "{B7FF00}"
#define COL_CYAN           "{00FFEE}"
#define COL_LIGHTBLUE      "{00C0FF}"
#define COL_BLUE           "{0049FF}"
#define COL_MAGENTA        "{F300FF}"
#define COL_VIOLET         "{B700FF}"
#define COL_PINK           "{FF00EA}"
#define COL_MARONE         "{A90202}"
#define COL_CMD            "{B8FF02}"
#define COL_PARAM          "{3FCD02}"
#define COL_SERVER         "{AFE7FF}"

#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_1BLUE 0x0080FFFF
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_RED1 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_1GREEN 0x6BD700FF
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF

main()
{
    print(
"\n========================================");
    print(
" | Pawno Edited by                                      |");
    print(
" |          Scripteri Gabii/Scripter Bizza               |");
    print(
" |                Enjoy :D                  |");
    print(
"=========================================\n");
}

enum pInfo
{
    
pKey[128],
    
pTut,
    
pSex,
    
pAge,
    
pOrigin,
    
pChar,
};
new 
PlayerInfo[MAX_PLAYERS][pInfo];

new 
gPlayerAccount[MAX_PLAYERS];
new 
RegistrationStep[MAX_PLAYERS];
new 
gPlayerLogged[MAX_PLAYERS];
new 
gPlayerLogTries[MAX_PLAYERS];
new 
gOoc[MAX_PLAYERS];
new 
gNews[MAX_PLAYERS];
new 
gFam[MAX_PLAYERS];
new 
TutTime[MAX_PLAYERS];
new 
MedicBill[MAX_PLAYERS];

forward OnPlayerRegister(playeridpassword[]);
forward OnPlayerLogin(playerid,password[]);
forward split(const strsrc[], strdest[][], delimiter);
forward ini_GetKey(line[]);
forward ini_GetValue(line[]);
forward SetPlayerSpawn(playerid);
forward ClearChatbox(playeridlines);
forward SetPlayerUnjail();

public 
OnGameModeInit()
{
    
SetGameModeText("Blank Script");
    
AddPlayerClass(01958.37831343.157215.3746269.1425000000);
    return 
1;
}

public 
OnGameModeExit()
{
    return 
1;
}

public 
OnPlayerRequestClass(playeridclassid)
{
    
PlayerPlaySound(playerid11000.00.00.0);
    if(
RegistrationStep[playerid] == && gPlayerLogged[playerid] != 1)
    {
        if (
gPlayerAccount[playerid] != 0)
        {
            new 
loginstring[256];
            new 
loginname[64];
            
GetPlayerName(playerid,loginname,sizeof(loginname));
            
format(loginstring,sizeof(loginstring),"{ffffff}Salut {00bfff}%s{ffffff}, bine ai venit pe {ff0000}saveG RPG{ffffff}. Acest nick este reservat pe server!\n\nLogeaza-te in casuta de mai jos!",loginname);
            
ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login saveG",loginstring,"Login",""); //
        
}
        else
        {
            
gPlayerAccount[playerid] = 0;
             new 
regstring[256];
            new 
regname[64];
            
GetPlayerName(playerid,regname,sizeof(regname));
            
format(regstring,sizeof(regstring),"{ffffff}Salut {00bfff}%s{ffffff}, bine ai venit pe {ff0000}saveG RPG{ffffff}. Acest nick nu este rezervat pe server!\n\nInregistreaza-te in casuta de mai jos!",regname);
            
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register saveG",regstring,"Register","");
        }
    }
    
SetPlayerPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraPos(playerid1958.37831343.157215.3746);
    
SetPlayerCameraLookAt(playerid1958.37831343.157215.3746);
    return 
1;
}

public 
OnPlayerConnect(playerid)
{
    new 
string[MAX_PLAYER_NAME];
    
gPlayerAccount[playerid] = 0;
    
gPlayerLogged[playerid] = 0;
    
gPlayerLogTries[playerid] = 0;
    
RegistrationStep[playerid] = 0;
    
PlayerInfo[playerid][pTut] = 0;
    
gOoc[playerid] = 0;
    
gNews[playerid] = 0;
    
gFam[playerid] = 0;
    
TutTime[playerid] = 0;
    
MedicBill[playerid] = 0;
    if(
fexist(string))
    {
        
gPlayerAccount[playerid] = 1;
        
SendClientMessage(playeridCOLOR_WHITE,"{30a030}[saveG]: {ffffff}Bine ai venit pe server, asteapta se incarca...");
    }
    else
    {
        
gPlayerAccount[playerid] = 0;
        
SendClientMessage(playeridCOLOR_WHITE,"{30a030}[saveG]: {ffffff}Bine ai venit pe server, asteapta se incarca...");
    }
    return 
1;
}

public 
OnPlayerDisconnect(playeridreason)
{
    return 
1;
}

public 
OnPlayerSpawn(playerid)
{
    
SetPlayerSpawn(playerid);
    return 
1;
}

public 
SetPlayerSpawn(playerid)
{
    if(
IsPlayerConnected(playerid))
    {
        if(
PlayerInfo[playerid][pTut] == 0)
        {
            
gOoc[playerid] = 1gNews[playerid] = 1gFam[playerid] = 1;
            
TogglePlayerControllable(playerid0);
            
RegistrationStep[playerid] = 1;
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_WHITE"{30a030}[saveG]: {ffffff}Bine ai venit pe {ff0000}saveG.ro: RPG Server [0.3D] (BETA){ffffff}.");
            
SendClientMessage(playeridCOLOR_GREEN"");
            
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
            
SendClientMessage(playeridCOLOR_WHITE"{30a030}[saveG]: {ffffff}Ce sex ai? [{ffd700}Masculin {ffffff}sau {ffd700}Feminin{ffffff}]?");
            
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
            
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
        }
    }
    return 
1;
}

public 
OnPlayerLogin(playerid,password[])
{
    new 
string2[256];
    new 
playername2[MAX_PLAYER_NAME];
    new 
playernamesplit[3][MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayername2sizeof(playername2));
    
split(playername2playernamesplit'_');
    
format(string2sizeof(string2), "users/%s.ini"playername2);
    new 
FileUserFile fopen(string2io_read);
    if ( 
UserFile )
    {
        new 
PassData[256];
        new 
keytmp[256], valtmp[256];
        
freadUserFile PassData sizeofPassData ) );
        
keytmp ini_GetKeyPassData );
        if( 
strcmpkeytmp "Key" true ) == )
        {
            
valtmp ini_GetValuePassData );
            
strmid(PlayerInfo[playerid][pKey], valtmp0strlen(valtmp)-1255);
        }
        if(
strcmp(PlayerInfo[playerid][pKey],passwordtrue ) == )
        {
                new 
key[256], val[256];
                new 
Data[256];
                while ( 
freadUserFile Data sizeofData ) ) )
                {
                    
key ini_GetKeyData );
                    if( 
strcmpkey "Tutorial" true ) == ) { val ini_GetValueData ); PlayerInfo[playerid][pTut] = strvalval ); }
                    if( 
strcmpkey "Sexul" true ) == ) { val ini_GetValueData ); PlayerInfo[playerid][pSex] = strvalval ); }
                    if( 
strcmpkey "Varsta" true ) == ) { val ini_GetValueData ); PlayerInfo[playerid][pAge] = strvalval ); }
                    if( 
strcmpkey "Origine" true ) == ) { val ini_GetValueData ); PlayerInfo[playerid][pOrigin] = strvalval ); }
                    if( 
strcmpkey "Char" true ) == ) { val ini_GetValueData ); PlayerInfo[playerid][pChar] = strvalval ); }
                    
/*if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }
                    if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdmin] = strval( val ); }
                    if( strcmp( key , "HelperLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pHelper] = strval( val ); }
                    if( strcmp( key , "DonateRank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDonateRank] = strval( val ); }
                    if( strcmp( key , "UpgradePoints" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][gPupgrade] = strval( val ); }*/
                
}
                
fclose(UserFile);
        }
        else
        {
            new 
loginstring[128];
            new 
loginname[64];
            
GetPlayerName(playerid,loginname,sizeof(loginname));
            
format(loginstring,sizeof(loginstring),"{ffffff}Ne pare rau, dar aceasta parola este gresita, mai ai doua incercari!\n\n{ff0000}Introdu parola corecta in casuta de mai jos!",loginname);
            
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Password saveG",loginstring,"Login","");
            
fclose(UserFile);
            
gPlayerLogTries[playerid] += 1;
            if(
gPlayerLogTries[playerid] == 4)
            {
                
Ban(playerid);
            }
            return 
1;
        }
        
gPlayerLogged[playerid] = 1;
        
SpawnPlayer(playerid);
    }
    return 
1;
}

public 
OnPlayerDeath(playeridkilleridreason)
{
    return 
1;
}

public 
OnVehicleSpawn(vehicleid)
{
    return 
1;
}

public 
OnVehicleDeath(vehicleidkillerid)
{
    return 
1;
}

public 
OnPlayerText(playeridtext[])
{
    new 
giver[MAX_PLAYER_NAME];
    new 
sendername[MAX_PLAYER_NAME];
    new 
giveplayer[MAX_PLAYER_NAME];
    new 
tmp[256];
    new 
string[256];
    new 
giveplayerid;
    if(
RegistrationStep[playerid] > 0)
    {
        if(
RegistrationStep[playerid] == 1)
        {
            new 
idx;
            
tmp strtok(textidx);
            if((
strcmp("masculin"tmptruestrlen(tmp)) == 0) && (strlen(tmp) == strlen("Masculin")))
            {
                
GetPlayerName(playeridsendernamesizeof(sendername));
                
PlayerInfo[playerid][pSex] = 1;
                
RegistrationStep[playerid] = 2;
                
SetPlayerSkin(playerid18);
                
PlayerInfo[playerid][pChar] = 18;
                
ClearChatbox(playerid10);
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                
format(stringsizeof(string), "» Ok %s, esti Barbat."sendername);
                
SendClientMessage(playeridCOLOR_WHITEstring);
                
SendClientMessage(playeridCOLOR_1BLUE"{30a030}[saveG]: {ffffff}Ce varsta ai? [{ffd700}zz{ffffff}/{ffd700}ll{ffffff}/{ffd700}aa{ffffff}]?");
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                return 
0;
            }
            else if((
strcmp("feminin"tmptruestrlen(tmp)) == 0) && (strlen(tmp) == strlen("Feminin")))
            {
                
GetPlayerName(playeridsendernamesizeof(sendername));
                
PlayerInfo[playerid][pSex] = 2;
                
RegistrationStep[playerid] = 2;
                
SetPlayerSkin(playerid41);
                
PlayerInfo[playerid][pChar] = 41;
                
ClearChatbox(playerid10);
                
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                
format(stringsizeof(string), "» Ok %s, esti Femeie."sendername);
                
SendClientMessage(playeridCOLOR_WHITEstring);
                
SendClientMessage(playeridCOLOR_1BLUE"{30a030}[saveG]: {ffffff}Ce varsta ai? [{ffd700}zz{ffffff}/{ffd700}ll{ffffff}/{ffd700}aa{ffffff}]?");
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                return 
0;
            }
            else
            {
                
ClearChatbox(playerid10);
                
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                
SendClientMessage(playeridCOLOR_1BLUE"{30a030}[saveG]: {ffffff}Ce sex ai? [{ffd700}Masculin {ffffff}sau {ffd700}Feminin{ffffff}]?");
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
            }
            return 
0;
        }
        else if(
RegistrationStep[playerid] == 2)
        {
            new 
yearmonth,day;
            
getdate(yearmonthday);
            new 
DateInfo[3][20];
            
split(textDateInfo'/');
            if(
year strvalEx(DateInfo[2]) > 100 || strvalEx(DateInfo[2]) < || strvalEx(DateInfo[2]) >= year)
            {
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                
SendClientMessage(playeridCOLOR_1BLUE"{30a030}[saveG]: {ffffff}Ce varsta ai? [{ffd700}zz{ffffff}/{ffd700}ll{ffffff}/{ffd700}aa{ffffff}]?");
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                return 
0;
            }
            new 
check year strvalEx(DateInfo[2]);
            if(
check == year)
            {
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                
SendClientMessage(playeridCOLOR_1BLUE"{30a030}[saveG]: {ffffff}Ce varsta ai? [{ffd700}zz{ffffff}/{ffd700}ll{ffffff}/{ffd700}aa{ffffff}]?");
                
SendClientMessage(playeridCOLOR_GREEN"_____________________________________________");
                
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                return 
0;
            }
            if(
strvalEx(DateInfo[1]) > month)
            {
                
check -= 1;
            }
            else if(
strvalEx(DateInfo[1]) == month && strvalEx(DateInfo[0]) > day)
            {
                
check -= 1;
            }
            
ClearChatbox(playerid10);
            
PlayerInfo[playerid][pOrigin] = 1;
            
PlayerInfo[playerid][pAge] = check;
            
GetPlayerName(playeridsendernamesizeof(sendername));
            
format(stringsizeof(string), "» Ok %s, ai %d anii."sendernamePlayerInfo[playerid][pAge]);
            
SendClientMessage(playeridCOLOR_WHITEstring);
            
ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
            
TutTime[playerid] = 1;
            
RegistrationStep[playerid] = 0;
            
SendClientMessage(playeridCOLOR_1GREEN"{30a030}[saveG]: {ffffff}Acuma iti vom prezenta un Tutorial legat de Server.");
            return 
0;
        }
        return 
0;
    }
    return 
1;
}

public 
OnPlayerCommandText(playeridcmdtext[])
{
    new 
string[256];
    new 
playermoney;
    new 
sendername[MAX_PLAYER_NAME];
    new 
giveplayer[MAX_PLAYER_NAME];
    new 
playername[MAX_PLAYER_NAME];
    new 
cmd[256];
    new 
tmp[256];
    new 
giveplayerid;
    new 
moneys;
    new 
idx;
    
cmd strtok(cmdtextidx);

//============================================================================//
    
if(strcmp(cmd"/ahelp"true) == )
    {
        return 
1;
    }
    else
    {
        new 
Str[256];
        
format(Str,256,"{F81414}EROARE{FFFFFF}: {FFFFFF}Comanda {6EF83C}%s {FFFFFF}nu exista{F81414}!",cmdtext);
        
SendClientMessage(playerid,0xFFFFFFAA,Str);
        return 
1;
    }
}

public 
OnPlayerEnterVehicle(playeridvehicleidispassenger)
{
    return 
1;
}

public 
OnPlayerRegister(playeridpassword[])
{
    if(
IsPlayerConnected(playerid))
    {
            new 
string3[64];
            new 
playername3[MAX_PLAYER_NAME];
            
GetPlayerName(playeridplayername3sizeof(playername3));
            
format(string3sizeof(string3), "users/%s.ini"playername3);
            new 
FilehFile fopen(string3io_write);
            if (
hFile)
            {
                
strmid(PlayerInfo[playerid][pKey], password0strlen(password), 255);
                new var[
32];
                
format(var, 32"Key=%s\n"PlayerInfo[playerid][pKey]);fwrite(hFile, var);
                
format(var, 32"Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
                
format(var, 32"Sexul=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var);
                
format(var, 32"Varsta=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var);
                
format(var, 32"Origine=%d\n",PlayerInfo[playerid][pOrigin]);fwrite(hFile, var);
                
format(var, 32"Char=%d\n",PlayerInfo[playerid][pChar]);fwrite(hFile, var);
                
fclose(hFile);
                new 
loginstring[256];
                new 
loginname[64];
                
GetPlayerName(playerid,loginname,sizeof(loginname));
                
format(loginstring,sizeof(loginstring),"{ffffff}Salut {00bfff}%s{ffffff}, bine ai venit pe {ff0000}saveG RPG{ffffff}. Acest nick este reservat pe server!\n\nLogeaza-te in casuta de mai jos!",loginname);
                
ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login saveG",loginstring,"Login","");
            }
    }
    return 
1;
}

public 
OnPlayerExitVehicle(playeridvehicleid)
{
    return 
1;
}

public 
OnPlayerStateChange(playeridnewstateoldstate)
{
    return 
1;
}

public 
OnPlayerEnterCheckpoint(playerid)
{
    return 
1;
}

public 
OnPlayerLeaveCheckpoint(playerid)
{
    return 
1;
}

public 
OnPlayerEnterRaceCheckpoint(playerid)
{
    return 
1;
}

public 
ClearChatbox(playeridlines)
{
    if (
IsPlayerConnected(playerid))
    {
        for(new 
i=0i<linesi++)
        {
            
SendClientMessage(playeridCOLOR_GREY" ");
        }
    }
    return 
1;
}

public 
SetPlayerUnjail()
{
    new 
plname[MAX_PLAYER_NAME];
    new 
string[256];
    for(new 
0MAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
TutTime[i] >= 1)
            {
                
TutTime[i] += 1;
                if(
TutTime[i] == 3)
                {
                    
ClearChatbox(i10);
                    
TogglePlayerControllable(i0);
                    
ApplyAnimation(i,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                    
GameTextForPlayer(i"~y~Bun venit"50003);
                    
PlayerPlaySound(i10970.00.00.0);
                    
SendClientMessage(iCOLOR_LIGHTBLUE"     Tutorial: Bun venit");
                    
SendClientMessage(iCOLOR_GREEN"");
                    
SendClientMessage(i0xFFD700FF"» Bine ai venit pe server-ul {ff0000}saveG.ro: RPG Server [0.3D] (BETA){ffd700}.");
                    
SendClientMessage(i0xFFD700FF"» Acesta este un server RolePlay, si dorim sa se respecte regulamentul.");
                    
SendClientMessage(i0xFFD700FF"» Pentru inceput iti vom explica anumite lucruri legate de server.");
                    
SendClientMessage(i0xFFD700FF"» Acum iti vom prezenta server-ul, urmariti cu atentie acest tutorial.");
                }
                else if(
TutTime[i] == 14)
                {
                    
ClearChatbox(i10);
                    
SendClientMessage(iCOLOR_LIGHTBLUE"     Tutorial: Level");
                }
                else if(
TutTime[i] == 16)
                {
                    
SendClientMessage(iCOLOR_GREEN"");
                    
ApplyAnimation(i,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                    
GameTextForPlayer(i"~y~Level"50003);
                    
PlayerPlaySound(i10970.00.00.0);
                    
SendClientMessage(i0xFFD700FF"» Pentru a face level pe server ai nevoie de RespectPoints.");
                    
SendClientMessage(i0xFFD700FF"» La fiecare PayDay obti un RespectPoint.");
                    
SendClientMessage(i0xFFD700FF"» Un PayDay il poti obtine la fiecare ora jucata pe server.");
                    
SendClientMessage(i0xFFD700FF"» Pentru a vizualiza detalii despre account-ul tau tasteaza {ff0000}/stats{ffd700}.");
                    
SendClientMessage(i0xFFD700FF"» Cand aveti RespectPoint-ul necesar tastati {ff0000}/buylevel {ffd700}pentru a trece la level-ul urmator.");
                }
                else if(
TutTime[i] == 30)
                {
                    
ClearChatbox(i10);
                    
SendClientMessage(iCOLOR_LIGHTBLUE"     Tutorial: Joburi");
                }
                else if(
TutTime[i] == 32)
                {
                    
SendClientMessage(iCOLOR_GREEN"");
                    
ApplyAnimation(i,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                    
GameTextForPlayer(i"~y~Joburi"50003);
                    
PlayerPlaySound(i10970.00.00.0);
                    
SendClientMessage(i0xFFD700FF"» Pe server-ul nostru poti detine doua joburi (Job Principal si Job Secundar).");
                    
SendClientMessage(i0xFFD700FF"» Pentru Job-ul Principal (Exemplu: News Reporter), trebuie sa postezi pe {ff0000}www.saveG.ro{ffd700}.");
                    
SendClientMessage(i0xFFD700FF"» Pentru Job-ul Secundar (Exemplu: Car Jacker), il poti lua din joc.");
                }
                else if(
TutTime[i] == 50)
                {
                    
ClearChatbox(i10);
                    
SendClientMessage(iCOLOR_LIGHTBLUE"     Tutorial: Joburile sunt urmatoarele:");
                }
                else if(
TutTime[i] == 54)
                {
                    
SendClientMessage(iCOLOR_GREEN"");
                    
ApplyAnimation(i,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                    
PlayerPlaySound(i10970.00.00.0);
                    
GameTextForPlayer(i"~y~Joburile sunt urmatoarele:"50003);
                    
SendClientMessage(iCOLOR_LIGHTBLUE"   » Joburi Principale");
                    
SendClientMessage(i0xFFD700FF"» Police Departament, F.B.I Agency, National Guard, Medics and Fireman, La Cosa Nostra, Yakuza, Hitman Agency,");
                    
SendClientMessage(i0xFFD700FF"» News Reporter, School Instructors, Bloods Gang, Crips Gang, Nortenos Gang si Surenos Gang.");
                    
SendClientMessage(iCOLOR_LIGHTBLUE"   » Joburi Secundare");
                    
SendClientMessage(i0xFFD700FF"» Car Jacker, Drugs Dealer, Arms Dealer, Lawyer, Detective, Bus Drive, Car Mechanic, Car Dealer,");
                    
SendClientMessage(i0xFFD700FF"» BodyGuard, PaperBoy si Whore.");
                }
                else if(
TutTime[i] == 74)
                {
                    
ClearChatbox(i10);
                    
SendClientMessage(iCOLOR_LIGHTBLUE"     Tutorial: Regulament");
                }
                else if(
TutTime[i] == 76)
                {
                    
SendClientMessage(iCOLOR_GREEN"");
                    
ApplyAnimation(i,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                    
GameTextForPlayer(i"~y~Regulament"50003);
                    
PlayerPlaySound(i10970.00.00.0);
                    
SendClientMessage(i0xFFD700FF"» Pe server-ul {ff0000}saveG {ffd700}nu aveti voie sa folositi Coduri.");
                    
SendClientMessage(i0xFFD700FF"» Pe server-ul {ff0000}saveG {ffd700}nu aveti voie sa folositi Nick-uri obsecene.");
                    
SendClientMessage(i0xFFD700FF"» Pe server-ul {ff0000}saveG {ffd700}nu aveti voie sa faceti Bug Abuse.");
                    
SendClientMessage(i0xFFD700FF"» Pe server-ul {ff0000}saveG {ffd700}nu aveti voie sa faceti Reclama.");
                    
SendClientMessage(i0xFFD700FF"» Pe server-ul {ff0000}saveG {ffd700}nu aveti voie sa aveti Cont Clona.");
                }
                else if(
TutTime[i] == 96)
                {
                    
ClearChatbox(i10);
                    
SendClientMessage(iCOLOR_LIGHTBLUE"     Tutorial: Sfarsit");
                }
                else if(
TutTime[i] == 98)
                {
                    
SendClientMessage(iCOLOR_GREEN"");
                    
ApplyAnimation(i,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
                    
GameTextForPlayer(i"~y~Sfarsit"50003);
                    
PlayerPlaySound(i10970.00.00.0);
                    
SendClientMessage(i0xFFD700FF"» Cam atata am avut de spus despre server, restul descoperiti voi.");
                    
SendClientMessage(i0xFFD700FF"» Va rugam respecati regulamentul, regulamentul general il gasiti pe {ff0000}www.saveG.ro{ffd700}.");
                    
SendClientMessage(i0xFFD700FF"» Pentru orice problema accesati forum-ul nostru {ff0000}www.saveG.ro{ffd700}.");
                    
SendClientMessage(i0xFFD700FF"» Echipa saveG va ureaza distractie placuta, si nu uitati este DOAR UN JOC.");
                    
SendClientMessage(iCOLOR_GREEN"» Du-te la Checkpoint-ul marcat cu Rosu pe harta pentru a da Scoala de Soferi.");
                    
SetPlayerCheckpoint(i,325.7980,-1514.4612,36.0325,5.0);
                }
                else if(
TutTime[i] == 115)
                {
                    
TutTime[i] = 0PlayerInfo[i][pTut] = 1;
                    
gOoc[i] = 0gNews[i] = 0gFam[i] = 0;
                    
TogglePlayerControllable(i1);
                    
MedicBill[i] = 0;
                    
SetPlayerSpawn(i);
                    
SpawnPlayer(i);
                    
ClearChatbox(i10);
                    
//PlayerInfo[i][pMuted] = 0;
                
}
            }
        }
    }
}

public 
OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 
1;
}

public 
OnRconCommand(cmd[])
{
    return 
1;
}

public 
OnPlayerRequestSpawn(playerid)
{
    return 
1;
}

public 
OnObjectMoved(objectid)
{
    return 
1;
}

public 
OnPlayerObjectMoved(playeridobjectid)
{
    return 
1;
}

public 
OnPlayerPickUpPickup(playeridpickupid)
{
    return 
1;
}

public 
split(const strsrc[], strdest[][], delimiter)
{
    new 
ili;
    new 
aNum;
    new 
len;
    while(
<= strlen(strsrc))
    {
        if(
strsrc[i]==delimiter || i==strlen(strsrc))
        {
            
len strmid(strdest[aNum], strsrclii128);
            
strdest[aNum][len] = 0;
            
li i+1;
            
aNum++;
        }
        
i++;
    }
    return 
1;
}

public 
OnVehicleMod(playeridvehicleidcomponentid)
{
    return 
1;
}

public 
OnVehiclePaintjob(playeridvehicleidpaintjobid)
{
    return 
1;
}

public 
OnVehicleRespray(playeridvehicleidcolor1color2)
{
    return 
1;
}

public 
OnPlayerSelectedMenuRow(playeridrow)
{
    return 
1;
}

public 
OnPlayerExitedMenu(playerid)
{
    return 
1;
}

public 
OnPlayerInteriorChange(playeridnewinterioridoldinteriorid)
{
    return 
1;
}

public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    return 
1;
}

public 
OnRconLoginAttempt(ip[], password[], success)
{
    return 
1;
}

public 
OnPlayerUpdate(playerid)
{
    if(
IsPlayerConnected(playerid))
    {
        if(
gPlayerLogged[playerid])
        {
            new 
string3[32];
            new 
playername3[MAX_PLAYER_NAME];
            
GetPlayerName(playeridplayername3sizeof(playername3));
            
format(string3sizeof(string3), "users/%s.ini"playername3);
            new 
FilehFile fopen(string3io_write);
            if (
hFile)
            {
                new var[
32];
                
format(var, 32"Key=%s\n"PlayerInfo[playerid][pKey]);fwrite(hFile, var);
                
format(var, 32"Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
            }
        }
    }
    return 
1;
}

public 
OnPlayerStreamIn(playeridforplayerid)
{
    return 
1;
}

public 
OnPlayerStreamOut(playeridforplayerid)
{
    return 
1;
}

public 
OnVehicleStreamIn(vehicleidforplayerid)
{
    return 
1;
}

public 
OnVehicleStreamOut(vehicleidforplayerid)
{
    return 
1;
}

public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
sendername[MAX_PLAYER_NAME];
    new 
string[128];
    if(
response)
    {
        if(
dialogid == 12346 || dialogid == 12347)
        {
            if(
strlen(inputtext))
            {
                new 
tmppass[64];
                
strmid(tmppassinputtext0strlen(inputtext), 255);
                
OnPlayerLogin(playerid,tmppass);
            }
            else
            {
                new 
loginstring[128];
                new 
loginname[64];
                
GetPlayerName(playerid,loginname,sizeof(loginname));
                
format(loginstring,sizeof(loginstring),"{ffffff}Parola gresita.\n{ff0000}Intodu parola corecta mai jos:",loginname);
                
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",loginstring,"Login","Logout");
                
gPlayerLogTries[playerid] += 1;
                if(
gPlayerLogTries[playerid] == 4) { Ban(playerid); }
            }
        }
        if(
dialogid == 12345)
        {
            if(
strlen(inputtext))
            {
                
GetPlayerName(playeridsendernamesizeof(sendername));
                
format(stringsizeof(string), "users/%s.ini"sendername);
                new 
FilehFile fopen(stringio_read);
                if (
hFile)
                {
                    
SendClientMessage(playeridCOLOR_YELLOW"{30a030}[saveG]: {ffd700}Acest Account este deja utilizat, va rugam sa va alegeti alt nick.");
                    
fclose(hFile);
                    return 
1;
                }
                new 
tmppass[64];
                
strmid(tmppassinputtext0strlen(inputtext), 255);
                
OnPlayerRegister(playerid,tmppass);
            }
            else
            {
                 new 
regstring[128];
                new 
regname[64];
                
GetPlayerName(playerid,regname,sizeof(regname));
                
format(regstring,sizeof(regstring),"{ffffff}Bine ai venit {00bfff}%s\n{ffffff}Nu esti Inrgistrat.\nInregistreaza-te mai jos:",regname);
                
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Register",regstring,"Register","Logout");
            }
        }
    }
    return 
1;
}

public 
OnPlayerClickPlayer(playeridclickedplayeridsource)
{
    return 
1;
}

strtok(const stringstrtok[], &index)
{
    new 
length strlen(stringstrtok);
    while ((
index length) && (stringstrtok[index] <= ' '))
    {
        
index++;
    }
    new 
offset indexresult[20];
    while ((
index length) && (stringstrtok[index] > ' ') && ((index offset) < (sizeof(result) - 1)))
    {
        
result[index offset] = stringstrtok[index];
        
index++;
    }
    
result[index offset] = EOS;
    return 
result;
}

stock dini_Exists(filename[])
{
    return 
fexist(filename);
}

stock dini_Remove(filename[])
{
    return 
fremove(filename);
}

stock dini_Create(filename[])
{
    if (
fexist(filename)) return false;
    new 
File:fhnd;
    
fhnd=fopen(filename,io_write);
    if (
fhnd)
    {
        
fclose(fhnd);
        return 
true;
    }
    return 
false;
}

stock dini_Set(filename[],key[],value[])
{
    new 
key_length strlen(key);
    new 
value_length strlen(value);
    if (
key_length==|| key_length+value_length+2>DINI_MAX_STRING) return false;
    new 
File:fohndFile:fwhnd;
    new 
tmpres[DINI_MAX_STRING];
    new 
bool:wasset=false;
    
format(tmpres,sizeof(tmpres),"%s.part",filename);
    
fremove(tmpres);
    
fohnd=fopen(filename,io_read);
    if (!
fohnd) return false;
    
fwhnd=fopen(tmpres,io_write);
    if (!
fwhnd)
    {
        
fclose(fohnd);
        return 
false;
    }
    while (
fread(fohnd,tmpres))
    {
        if (
            !
wasset
            
&& tmpres[key_length]=='='
            
&& !strcmp(tmpreskeytruekey_length)
        )
        {
                
format(tmpres,sizeof(tmpres),"%s=%s",key,value);
                
wasset=true;
        }
        else
        {
            
DINI_StripNewLine(tmpres);
        }
        
fwrite(fwhnd,tmpres);
        
fwrite(fwhnd,"\r\n");
    }
    if (!
wasset)
    {
        
format(tmpres,sizeof(tmpres),"%s=%s",key,value);
        
fwrite(fwhnd,tmpres);
        
fwrite(fwhnd,"\r\n");
    }
    
fclose(fohnd);
    
fclose(fwhnd);
    
format(tmpres,sizeof(tmpres),"%s.part",filename);
    if (
DINI_fcopytextfile(tmpres,filename))
    {
        return 
fremove(tmpres);
    }
    return 
false;
}

stock dini_IntSet(filename[],key[],value)
{
   new 
valuestring[DINI_MAX_STRING];
   
format(valuestring,DINI_MAX_STRING,"%d",value);
   return 
dini_Set(filename,key,valuestring);
}

stock dini_Int(filename[],key[])
{
   return 
strval(dini_Get(filename,key));
}

stock dini_FloatSet(filename[],key[],Float:value)
{
   new 
valuestring[DINI_MAX_STRING];
   
format(valuestring,DINI_MAX_STRING,"%f",value);
   return 
dini_Set(filename,key,valuestring);
}

stock Float:dini_Float(filename[],key[])
{
   return 
floatstr(dini_Get(filename,key));
}

stock dini_Bool(filename[],key[])
{
   return 
strval(dini_Get(filename,key));
}

stock dini_BoolSet(filename[],key[],value)
{
    if (
value)
    {
        return 
dini_Set(filename,key,"1");
    }
    return 
dini_Set(filename,key,"0");
}

stock dini_Unset(filename[],key[])
{
    new 
key_length strlen(key);
    if (
key_length==|| key_length+2>DINI_MAX_STRING) return false;
    new 
File:fohndFile:fwhnd;
    new 
tmpres[DINI_MAX_STRING];
    
format(tmpres,DINI_MAX_STRING,"%s.part",filename);
    
fremove(tmpres);
    
fohnd=fopen(filename,io_read);
    if (!
fohnd) return false;
    
fwhnd=fopen(tmpres,io_write);
    if (!
fwhnd)
    {
        
fclose(fohnd);
        return 
false;
    }

    while (
fread(fohnd,tmpres))
    {
        if (
            
tmpres[key_length]=='='
            
&& !strcmp(tmpreskeytruekey_length)
        )
        {
        }
        else
        {
            
DINI_StripNewLine(tmpres);
            
fwrite(fwhnd,tmpres);
            
fwrite(fwhnd,"\r\n");
        }
    }
    
fclose(fohnd);
    
fclose(fwhnd);
    
format(tmpres,DINI_MAX_STRING,"%s.part",filename);
    if (
DINI_fcopytextfile(tmpres,filename))
    {
        return 
fremove(tmpres);
    }
    return 
false;
}

stock dini_Get(filename[],key[])
{
    new 
tmpres[DINI_MAX_STRING];
    new 
key_length strlen(key);
    if (
key_length==|| key_length+2>DINI_MAX_STRING) return tmpres;
    new 
File:fohnd;
    
fohnd=fopen(filename,io_read);
    if (!
fohnd) return tmpres;
    while (
fread(fohnd,tmpres))
    {
        if (
            
tmpres[key_length]=='='
            
&& !strcmp(tmpreskeytruekey_length)
        )
        {
            
DINI_StripNewLine(tmpres);
            
strmid(tmprestmpreskey_length 1strlen(tmpres), DINI_MAX_STRING);
            
fclose(fohnd);
            return 
tmpres;
        }
    }
    
fclose(fohnd);
    return 
tmpres;
}

stock dini_Isset(filename[],key[])
{
    new 
key_length strlen(key);
    if (
key_length==|| key_length+2>DINI_MAX_STRING) return false;
    new 
File:fohnd;
    
fohnd=fopen(filename,io_read);
    if (!
fohnd) return false;
    new 
tmpres[DINI_MAX_STRING];
    while (
fread(fohnd,tmpres))
    {
        if (
                
tmpres[key_length]=='='
            
&&  !strcmp(tmpreskeytruekey_length)
        )
        {
            
fclose(fohnd);
            return 
true;
        }
    }
    
fclose(fohnd);
    return 
false;
}

stock DINI_StripNewLine(string[])
{
    new 
len strlen(string);
    if (
string[0]==0) return ;
    if ((
string[len 1] == '\n') || (string[len 1] == '\r'))
    {
        
string[len 1] = 0;
        if (
string[0]==0) return ;
        if ((
string[len 2] == '\n') || (string[len 2] == '\r')) string[len 2] = 0;
    }
}

stock DINI_fcopytextfile(oldname[],newname[])
{
    new 
File:ohnd,File:nhnd;
    if (!
fexist(oldname)) return false;
    
ohnd=fopen(oldname,io_read);
    if (!
ohnd) return false;
    
nhnd=fopen(newname,io_write);
    if (!
nhnd)
    {
        
fclose(ohnd);
        return 
false;
    }
    new 
tmpres[DINI_MAX_STRING];
    while (
fread(ohnd,tmpres))
    {
        
DINI_StripNewLine(tmpres);
        
format(tmpres,sizeof(tmpres),"%s\r\n",tmpres);
        
fwrite(nhnd,tmpres);
    }
    
fclose(ohnd);
    
fclose(nhnd);
    return 
true;
}

stock ini_GetKey(line[])
{
    new 
keyRes[256];
    
keyRes[0] = 0;
    if ( 
strfindline "=" true ) == -) return keyRes;
    
strmidkeyRes line strfindline "=" true ) , sizeofkeyRes) );
    return 
keyRes;
}

stock ini_GetValue(line[])
{
    new 
valRes[256];
    
valRes[0]=0;
    if ( 
strfindline "=" true ) == -) return valRes;
    
strmidvalRes line strfindline "=" true )+strlenline ) , sizeofvalRes ) );
    return 
valRes;
}

stock strvalEx( const string[] )
{
   if( 
strlen( string ) >= 50 ) return 0;
   return 
strval(string);

Reply
#5

You're missing OnPlayerDisconnect. Thats why
Reply
#6

Yeah?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)