Some Problem [urgent] -
ZayanImran - 28.01.2013
ey guys i have 1 problem, i am using dini, i make some stocks like
stock SaveData(playerid)
stock LoadData(playerid)
and now i get some errors when i compile(i got this error when i put [SaveData(playerid);] under OnPlayerDisconnect)
wait i will show you what i did (if i am wrong please correct me)
i make a enum
Код:
enum Data
{
// stats----------------------------------------------------------
Pass[126],
Deaths,
Kills,
Money,
Score,
NameColor,
IsSpy,
AdminLevel,
VIPlevel,// from here-------------------------------------------------------
Bans,// punishents----------------------------------------------------------
Kicks,
Warns,
Jailed,
JailedSec,
Mute,
MuteSec,
Freeze,
FreezeSec,
RpKilled
};
new PlayerAcc[MAX_PLAYERS][Data]; // this is for the account info
new PlayerLogged[MAX_PLAYERS]; // see if the player is logged :d
and this is the stock to save data
Код:
stock SaveData(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(File,sizeof(File),"/Players/%s.txt",name);
if(dini_Exists(File))
{
dini_IntSet(File,"Deaths",PlayerAcc[playerid][Deaths]);
dini_IntSet(File,"Kills",PlayerAcc[playerid][Kills]);
dini_IntSet(File,"Money",GetPlayerMoney(playerid));
dini_IntSet(File,"Score",GetPlayerScore(playerid));
dini_IntSet(File,"NameColor",GetPlayerColor(playerid));
dini_IntSet(File,"IsSpy",PlayerAcc[playerid][IsSpy]);
dini_IntSet(File,"AdminLevel",PlayerAcc[playerid][AdminLevel]);
dini_IntSet(File,"VIPlevel",PlayerAcc[playerid][VIPlevel]);
dini_IntSet(File,"Bans",PlayerAcc[playerid][Bans]);
dini_IntSet(File,"Kicks",PlayerAcc[playerid][Kicks]);
dini_IntSet(File,"Warns",PlayerAcc[playerid][Warns]);
dini_IntSet(File,"Jailed",PlayerAcc[playerid][Jailed]);
dini_IntSet(File,"JailedSec",PlayerAcc[playerid][JailedSec]);
dini_IntSet(File,"Mute",PlayerAcc[playerid][Mute]);
dini_IntSet(File,"MuteSec",PlayerAcc[playerid][MuteSec]);
dini_IntSet(File,"Freeze",PlayerAcc[playerid][Freeze]);
dini_IntSet(File,"FreezeSec",PlayerAcc[playerid][FreezeSec]);
dini_IntSet(File,"RpKilled",PlayerAcc[playerid][RpKilled]);
}
return 1;
}
and this is for loading data
Код:
stock LoadData(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(File,sizeof(File),"/Players/%s.txt",name);
if(dini_Exists(File))
{
PlayerAcc[playerid][Deaths] = dini_Int(File,"Deaths");
PlayerAcc[playerid][Kills] = dini_Int(File,"Kills");
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,dini_Int(File,"Money"))
SetPlayerScore(playerid,0);
SetPlayerScore(playerid,dini_Int(File,"Score"));
SetPlayerColor(playerid,dini_Int(File,"NameColor"));
PlayerAcc[playerid][AdminLevel] = dini_Int(File,"AdminLevel");
PlayerAcc[playerid][VIPlevel] = dini_Int(File,"VIPlevel");
PlayerAcc[playerid][Bans] = dini_Int(File,"Bans");
PlayerAcc[playerid][Kicks] = dini_Int(File,"Kicks");
PlayerAcc[playerid][Warns] = dini_Int(File,"Warns");
PlayerAcc[playerid][Jailed] = dini_Int(File,"Jailed");
PlayerAcc[playerid][JailedSec] = dini_Int(File,"JailedSec");
PlayerAcc[playerid][Mute] = dini_Int(File,"Mute");
PlayerAcc[playerid][MuteSec] = dini_Int(File,"MuteSec");
PlayerAcc[playerid][Freeze] = dini_Int(File,"Freeze");
PlayerAcc[playerid][FreezeSec] = dini_Int(File,"FreezeSec");
PlayerAcc[playerid][RpKilled] = dini_Int(File,"RpKilled");
if(PlayerAcc[playerid][AdminLevel] > 0)
{
if(PlayerAcc[playerid][AdminLevel] == 1)
{
AdminRank = "Moderator";
PlayerAcc[playerid][OnDuty] = 0;
PlayerAcc[playerid][Playing] = 1;
PlayerAcc[playerid][Hidden] = 0;
}
else if(PlayerAcc[playerid][AdminLevel] == 2)
{
AdminRank = "Global Moderator";
PlayerAcc[playerid][OnDuty] = 0;
PlayerAcc[playerid][Playing] = 1;
PlayerAcc[playerid][Hidden] = 0;
}
else if(PlayerAcc[playerid][AdminLevel] == 3)
{
AdminRank = "In-Training-Administrator";
PlayerAcc[playerid][OnDuty] = 0;
PlayerAcc[playerid][Playing] = 1;
PlayerAcc[playerid][Hidden] = 0;
}
else if(PlayerAcc[playerid][AdminLevel] == 4)
{
AdminRank = "Administrator";
PlayerAcc[playerid][OnDuty] = 0;
PlayerAcc[playerid][Playing] = 1;
PlayerAcc[playerid][Hidden] = 0;
}
else if(PlayerAcc[playerid][AdminLevel] >= 5)
{
AdminRank = "Senior Administrator";
PlayerAcc[playerid][OnDuty] = 0;
PlayerAcc[playerid][Playing] = 1;
PlayerAcc[playerid][Hidden] = 0;
}
else if(PlayerAcc[playerid][AdminLevel] >= 6)
{
AdminRank = "Co-Owner";
PlayerAcc[playerid][OnDuty] = 0;
PlayerAcc[playerid][Playing] = 1;
PlayerAcc[playerid][Hidden] = 0;
}
else if(PlayerAcc[playerid][AdminLevel] >= 7)
{
AdminRank = "Owner";
PlayerAcc[playerid][OnDuty] = 0;
PlayerAcc[playerid][Playing] = 1;
PlayerAcc[playerid][Hidden] = 0;
}
else AdminRank = "None";
if(PlayerAcc[playerid][VIPlevel] > 0)
{
if(PlayerAcc[playerid][VIPlevel] == 1)
{
VIPType = "SILVER";
}
else if(PlayerAcc[playerid][VIPlevel] == 2)
{
VIPType = "GOLD";
}
else if(PlayerAcc[playerid][VIPlevel] >= 3)
{
VIPType = "DIAMOND";
}
}
else VIPType = "None";
PlayerLogged[playerid]; = 1;
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
new logstring[256];
new logstring2[256];
new logstring3[256];
format(logstring,sizeof(logstring),"{1A7AC4FF}Welcome! {FF8C00FF}%s. {FFFB00FF}You are logged in.",Name);
format(logstring2,sizeof(logstring2),"{FF0800FF}Admin Rank: {FF0000}%s {09FF00FF}| Admin Level: {FF0000}%d | {8000FFFF}Status: {FF0000}Playing",AdminRank,PlayerAcc[playerid][AdminLevel]);
format(logstring3,sizeof(logstring3),"{FFFFFF}VIP Rank: {1AFF00FF}%s {FFA600FF}| VIP Level: {FF00F7FF}%d",VIPType,PlayerAcc[playerid][VIPlevel]);
SendClientMessage(playerid,COLOR_GREEN,"{3A0EE8FF}________________________________________________________");
SendClientMessage(playerid,COLOR_GREEN,logstring);
if(PlayerAcc[playerid][AdminLevel] > 0)
{
SendClientMessage(playerid,COLOR_GREEN,logstring2);
}
if(PlayerAcc[playerid][VIPlevel] > 0)
{
SendClientMessage(playerid,COLOR_GREEN,logstring3);
}
SendClientMessage(playerid,COLOR_GREEN,"{3A0EE8FF}________________________________________________________");
}
return 1;
}
}
why i didnt get errors when
Код:
public OnPlayerConnect(playerid)
{
LoadData(playerid);
return 1;
}
I didnt get any errors up there when i add that ^^^
BTW, WHY I GOT ERRORS WHEN I PUT
Код:
public OnPlayerDisconnect(playerid, reason)
{
SaveData(playerid); // <<<<< THIS CODE
new Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, Name, sizeof(Name));
new LeaveMessage[256];
switch(reason)
{
case 0: format(LeaveMessage,sizeof(LeaveMessage), "*%s left the server! (Connection lost) *", Name);
case 1: format(LeaveMessage,sizeof(LeaveMessage), "*%sleft the server! (Quit) *", Name);
}
SendClientMessageToAll(COLOR_GREY, LeaveMessage);
return 1;
}
the errors
(732) : error 017: undefined symbol "PlayerAcc"
(732) : warning 215: expression has no effect
(732) : error 001: expected token: ";", but found "]"
(732) : error 029: invalid expression, assumed zero
(732) : fatal error 107: too many error messages on one line
THE LINE (732) IS NEAR [stock SaveData(playerid);])
In that 732 is
Код:
stock SaveData(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(File,sizeof(File),"/Players/%s.txt",name);
if(dini_Exists(File))
{
dini_IntSet(File,"Deaths",PlayerAcc[playerid][Deaths]); // <<<<< THIS LINE GIVE ME ERRORS (line 732)
dini_IntSet(File,"Kills",PlayerAcc[playerid][Kills]);
dini_IntSet(File,"Money",GetPlayerMoney(playerid));
dini_IntSet(File,"Score",GetPlayerScore(playerid));
dini_IntSet(File,"NameColor",GetPlayerColor(playerid));
dini_IntSet(File,"IsSpy",PlayerAcc[playerid][IsSpy]);
dini_IntSet(File,"AdminLevel",PlayerAcc[playerid][AdminLevel]);
dini_IntSet(File,"VIPlevel",PlayerAcc[playerid][VIPlevel]);
dini_IntSet(File,"Bans",PlayerAcc[playerid][Bans]);
dini_IntSet(File,"Kicks",PlayerAcc[playerid][Kicks]);
dini_IntSet(File,"Warns",PlayerAcc[playerid][Warns]);
dini_IntSet(File,"Jailed",PlayerAcc[playerid][Jailed]);
dini_IntSet(File,"JailedSec",PlayerAcc[playerid][JailedSec]);
dini_IntSet(File,"Mute",PlayerAcc[playerid][Mute]);
dini_IntSet(File,"MuteSec",PlayerAcc[playerid][MuteSec]);
dini_IntSet(File,"Freeze",PlayerAcc[playerid][Freeze]);
dini_IntSet(File,"FreezeSec",PlayerAcc[playerid][FreezeSec]);
dini_IntSet(File,"RpKilled",PlayerAcc[playerid][RpKilled]);
}
return 1;
}
----------------------------------------------------------------------------------------------------------------------
AttachObjectToVehicle WHY THE OBJECT DONT APPEAR D:
----------------------------------------------------------------------------------------------------------------------
Re: Some Problem [urgent] -
ZayanImran - 28.01.2013
ANYONEEEEEEE!!!
Re: Some Problem [urgent] -
Glad2BeHere - 28.01.2013
pawn Код:
File[64];
//u created random file...u made not defination for it add this and tell me
new file[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(File,sizeof(File),"Players/%s.txt",name);
Re: Some Problem [urgent] -
ZayanImran - 28.01.2013
PLZ HELP