new SAWNOFF_SKILL[MAX_PLAYERS]; //(don't use this, implement it how you want it).
public OnPlayerConnect(playerid)
{
//load the skill variable and store it inside 'SAWNOFF_SKILL[playerid]'
}
//then if you want to increase his skill level by one you simply do;
SAWNOFF_SKILL[playerid]++;
SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, SAWNOFF_SKILL[playerid]);
//if you want to decrease his skill level you do;
SAWNOFF_SKILL[playerid]--;
SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, SAWNOFF_SKILL[playerid]);
//when you want to save it you just store SAWNOFF_SKILL[playerid] in the players file
Hi!
I do not really understand you, what to do under OnPlayerConnect? Also, I want that his Skilllevel increases +1 after every 5 minutes(if he is using it) |
new SawnoffShotgunSkill[MAX_PLAYERS];
SetTimer("OnSkillLevelUpdate",300000,1); //300k - it's 5 minutes
public OnPlayerConnect(playerid) { SawnoffShotgunSkill[playerid] = 0; //To clear skill level when new player connects //Load skill from file new PlayerFile[64]; format(PlayerFile, sizeof(PlayerFile),"%s.ini",GetName(playerid)); if(dini_Exists(PlayerFile)) { SawnoffShotgunSkill[playerid] = dini_Int(PlayerFile, "SawnoffShotgun"); } return 1; }
forward OnSkillLevelUpdate(); public OnSkillLevelUpdate() { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { SawnoffShotgunSkill[i]+=5; //Increase skill by 5 points SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,SawnoffShotgunSkill[i]); //Now save skill to file new PlayerFile[64]; format(PlayerFile, sizeof(PlayerFile),"%s.ini",GetName(i)); if(!dini_Exists(PlayerFile)) { dini_Create(PlayerFile); } dini_IntSet(PlayerFile, "SawnoffShotgun", SawnoffShotgunSkill[i]); } } return 1; }
stock GetName(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); return name; }
new PlayerFile[64];
format(PlayerFile, sizeof(PlayerFile),"%s.ini",GetName(i));
if(dini_Exists(PlayerFile))
{
dini_IntSet(PlayerFile, "SawnoffShotgun",SawnoffShotgunSkill[playerid]);
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
switch(dialogid) {
case DIALOG_REGISTER: {
if(!response) return Kick(playerid);
if(response) {
if(!strlen(inputtext)) return 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("Cash", 0);
INI_WriteInt("Admin", 0);
INI_WriteInt("FirstTime", 0);
INI_WriteInt("Skin", 0);
INI_WriteInt("Score", 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)) return 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");
}
GivePlayerMoney( playerid, INI_ReadInt( "Cash" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
gFirstTimeHasJoined[playerid] = INI_ReadInt("FirstTime");
gPlayerSkinForEver[playerid] = INI_ReadInt("Skin");
SetPlayerScore( playerid, INI_ReadInt( "Score" ) );
INI_Close();
}
}
}
}
return 1;
}
INI_WriteInt("Score", 0);
INI_WriteInt("SawnOffSkill", 0);
SetPlayerScore( playerid, INI_ReadInt( "Score" ) );
SetPlayerSkillLevel(playerid, INI_ReadInt("SawnOffSkill"));
D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(604) : error 017: undefined symbol "dini_Exists" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(606) : error 017: undefined symbol "dini_Int" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(621) : error 017: undefined symbol "i" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(622) : error 017: undefined symbol "dini_Exists" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(624) : error 017: undefined symbol "dini_IntSet" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(936) : warning 202: number of arguments does not match definition D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(982) : error 017: undefined symbol "playerid" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(987) : error 017: undefined symbol "dini_Exists" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(989) : error 017: undefined symbol "dini_Create" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(992) : error 017: undefined symbol "dini_IntSet" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 9 Errors.
new PlayerFile[64];
format(PlayerFile, sizeof(PlayerFile),"%s.ini",GetName(playerid));
if(dini_Exists(PlayerFile))
{
SawnoffShotgunSkill[playerid] = dini_Int(PlayerFile, "SawnoffShotgun");
}
GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
if(fexist(getINI(playerid))) ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""RED"This nickname is registered!",""WHITE"Type your password below to login.","Login","Quit");
else ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""RED"Hi! You are new here, you have to register your account!",""WHITE"Type your password below to register a new account.","Register","Quit");
return 1;
}
public OnPlayerDisconnect(playerid, reason) {
new PlayerFile[64];
format(PlayerFile, sizeof(PlayerFile),"%s.ini",GetName(i));
if(dini_Exists(PlayerFile))
{
dini_IntSet(PlayerFile, "SawnoffShotgun",SawnoffShotgunSkill[playerid]);
}
forward OnSkillLevelUpdate();
public OnSkillLevelUpdate()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SawnoffShotgunSkill[i]+=5; //Increase skill by 5 points
SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,SawnoffShotgunSkill[i]);
//Now save skill to file
new PlayerFile[64];
format(PlayerFile, sizeof(PlayerFile),"%s.ini",GetName(i));
if(!dini_Exists(PlayerFile))
{
dini_Create(PlayerFile);
}
dini_IntSet(PlayerFile, "SawnoffShotgun", SawnoffShotgunSkill[i]);
}
}
return 1;
}
Код:
D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(604) : error 017: undefined symbol "dini_Exists" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(606) : error 017: undefined symbol "dini_Int" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(621) : error 017: undefined symbol "i" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(622) : error 017: undefined symbol "dini_Exists" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(624) : error 017: undefined symbol "dini_IntSet" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(936) : warning 202: number of arguments does not match definition D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(982) : error 017: undefined symbol "playerid" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(987) : error 017: undefined symbol "dini_Exists" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(989) : error 017: undefined symbol "dini_Create" D:\Program Files\Rockstar Games\GTA San Andreas\eigener SAMP\gamemodes\deathmatch.pwn(992) : error 017: undefined symbol "dini_IntSet" Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 9 Errors. ![]() PHP код:
PHP код:
|
Omg, why didn't u understand? Everybody did!
I want: Every player has from beginning every weapon skill by 0! It will increase +1 EVERY 5 minutes he is using it! (only if he is using!) And the skill willl get saved in INI! |
Omg, why didn't u understand? Everybody did!
I want: Every player has from beginning every weapon skill by 0! It will increase +1 EVERY 5 minutes he is using it! (only if he is using!) And the skill willl get saved in INI! |
SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 0); //and others
SetTimer("OnSkillLevelUpdate",300000,1);