Bonjour en voulant faire une mise à jour du système d'Entreprise j'ai rencontre un problème voici les codes :
public AcheterBiz(playerid)
{
new BizID=GetPlayerInBiz(playerid);
if(BizID!=INVALID_BIZ_ID)
{
if(BizVariable[BizID][Create]==1)
{
if(AccountInfo[playerid][aLeaderBizness]!=0)//sinon Déja entreprise
{
if(BizVariable[BizID][Occupe]==0)
{
if(GetPlayerMoney(playerid) >= BizVariable[BizID][PrixBiz])
{
if(!IsPlayerIsMemberInBiz(playerid,0)) ExitPlayerMemberInBiz(playerid,AccountInfo[playerid][aMembreBizness]);
new string[128];
GivePlayerMoney(playerid,-BizVariable[BizID][PrixBiz]);
format(string ,128, "[ACHAT]Tu as acheté l'Entreprise \"%s\" pour %d$.", BizVariable[BizID][bName], BizVariable[BizID][PrixBiz]);
SendClientMessage(playerid, 0xF97804FF, string);
AccountInfo[playerid][aLeaderBizness]=BizID;
GetPlayerName(playerid,BizVariable[BizID][Proprio],64);
BizVariable[BizID][Occupe]=1;
print("EX1");
UpdateBizStructure(BizID);
IsCanSaveBiz();
}
}
}
}
}
return 1;
}
et
public IsCanSaveBiz()
{
new Tick=GetTickCount();
if((Tick-ServerTickSave[1]) >= SAVE_INFO_RATE)
{
ServerTickSave[1]=Tick;
SaveBiz();
print("EX 2");
return 1;
}
return 1;
}
Donc regarder bien les print .
La logique voudrais que EX 1 passe avant EX 2 et bah nan dans ma console j'obtient EX 2 et après EX 1 et ça m’empêche de save les infos modifier .
A savoir que IsCanSaveBiz() n'est nul part que dans cette fonction donc peux pas y avoir d'erreur de ma part .
Esse que quelqu'un pourrais m'aider à comprendre ce problème même si je pense que je vais devoir utiliser un timer .