Salut à tous !
J'ai encore un problème à cause du système de buisnnes du SFTDM Reloaded 2.0.
Cette fois-ci, c'est du coté de la lecture des fichiers que sa coince.
Le problème c'est que je m'achète un buisnnes, tranquille sans problème, mais quand je vais sur le CP pour voir si il est a moi, sa m'écrit que le buisnnes est toujours à vendre, donc je suis partit voir les fichiers, et tout est bon, tout correspond. J'ai même essayé de le vendre et sa a fonctionné ! Donc résultat de mon problème, je peut ni faire /getprofit ni /gotobiz, se qui est assez embêtant pour se genre de système x)
Voici mon /buybiz :
CMD:buybiz(playerid, params[])
{
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
format(cttmp,sizeof(cttmp),"BIZ%d",biznum[playerid]);
ownername = dini_Get(cttmp,"owner");
playerbiz[playerid] = dini_Int(udb_encode(playername), "Proprio du buisnnes ");
bizid[playerid] = dini_Int(cttmp,"idnumber");
if(logged[playerid] == 0)return Message_Erreur("ERREUR: Tu doit être connecté avant de pouvoir t'acheter un buisness !");
if(propactive[playerid] == 0)return Message_Erreur("ERREUR: Tu doit être sur le CP d'un buisnnes avant de pouvoir l'acheté !");
if(IsPlayerInAnyVehicle(playerid) == 1)return Message_Erreur("ERREUR: Tu doit être à pied pour faire cette commande !");
if(strcmp(ownername,playername,false) == 0)return Message_Erreur("ERREUR:Se buisness est déjà a toi !");
if(playerbiz[playerid] > 0)return Message_Erreur("ERREUR: Tu peut avoir qu'un seul buisnnes !");
if(strcmp(ownername,server,false) == 0)
{
if(Argent[playerid] >= propcost[playerid])
{
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
dini_IntSet(udb_encode(playername), "teleid", playerCheckpoint[playerid]);
dini_Set(cttmp,"owner", playername);
dini_IntSet(udb_encode(playername), "Proprio du buisnnes ", bizid[playerid]);
dini_IntSet(cttmp, "bought", 1);
GivePlayerMoney(playerid, -propcost[playerid]);
allowprofit[playerid] = 1;
profit[playerid] = dini_Int(cttmp,"profit");
format(propmess, sizeof(propmess), "Tu vient d'acheter se buisness pour $%d. Il te rapporte $%d toutes les 5 minutes.", propcost[playerid],profit[playerid]);
Message_Validation(propmess);
Message_Information("INFORMATION: Tu peut rammasser les sous gagner en faisant /getprofit !");
Message_Information("INFORMATION: Ton buisness continura a te rapporter des sous meme quand tu est Hors-ligne !");
return 1;
}
if(Argent[playerid] < propcost[playerid])return Message_Erreur("ERREUR: Tu n'a pas assez d'argent pour t'acheté se buisnnes!");
}
else
{
format(propmess, sizeof(propmess), "ERREUR: Ce buisnnes appartient à %s, il ne peut pas être acheté !",ownername);
Message_Erreur(propmess);
}
return 1;
}
Ainsi que:
public OnPlayerEnterCheckpoint(playerid)
switch(getCheckpointType(playerid))
{
case BIZ1:
{
if(propactive[playerid] == 0)
{
biznum[playerid] = 1;
format(cttmp, sizeof(cttmp), "%s","BIZ1");
ownername = dini_Get(cttmp,"owner");
GetPlayerName(playerid, playernameh, MAX_PLAYER_NAME);
propcost[playerid] = dini_Int(cttmp,"propcost");
propowned[playerid] = dini_Int(cttmp,"bought");
profit[playerid] = dini_Int(cttmp,"profit");
propactive[playerid] = 1;
if(strcmp(ownername,server,false) == 0)
{
format(propmess,sizeof(propmess),"INFORMATION: Ce buisnnes peut être acheter pour $%d en tapant /buybiz. Ce buisnnes gagnes $%d toutes les 5 minutes", propcost[playerid],profit[playerid]);
buyable[playerid] = 1;
allowprofit[playerid] = 0;
Message_Information(propmess);
return 1;
}
if(strcmp(ownername,playernameh,false) == 0)
{
format(propmess,sizeof(propmess),"Bienvenue a ton buisnnes, %s. Tape /getprofit pour ramasser l'argent gagné !", ownername);
buyable[playerid] = 0;
allowprofit[playerid] = 1;
Message_Validation(propmess);
return 1;
}
else
{
format(propmess,sizeof(propmess),"Ce buisnnes appartient à %s, donc c'est impossible de l'acheter !", ownername);
buyable[playerid] = 0;
allowprofit[playerid] = 0;
Message_Erreur(propmess);
return 1;
}
}
}
Donc voilà, merci d'avance à tous !