GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Hatomalis le 28 Février 2011, 14:56:16

Titre: [RESOLUE][AIDE] Les buisnnes ne connaissent qu'à moitié mon nom !
Posté par: Hatomalis le 28 Février 2011, 14:56:16
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 !
Titre: Re : [AIDE] Les buisnnes ne connaissent qu'à moitié mon nom !
Posté par: Fox_Mulder le 28 Février 2011, 17:28:16
Salut,

A vu d'oeil le problème vient de

playerbiz[playerid] = dini_Int(udb_encode(playername), "Proprio du buisnnes     ");
essaies comme ceci

playerbiz[playerid] = dini_Int(udb_encode(playername), "Propriodubuisnnes");
Titre: Re : [AIDE] Les buisnnes ne connaissent qu'à moitié mon nom !
Posté par: cristab le 28 Février 2011, 17:48:59
il y a une chose qui me gene pas mal aussi

format(cttmp, sizeof(cttmp), "%s","BIZ1");
ownername = dini_Get(cttmp,"owner");

le mieux serais
ownername = dini_Get("BIZ1","owner");
donc le format inutile meme sa m'etonne qu'il ne retourne aucune erreure
Titre: Re : [AIDE] Les buisnnes ne connaissent qu'à moitié mon nom !
Posté par: Kox le 28 Février 2011, 19:24:57
il n'y a pas q'un biz donc c'est pas sa
Titre: Re : [AIDE] Les buisnnes ne connaissent qu'à moitié mon nom !
Posté par: Ssk le 28 Février 2011, 19:45:12
Les codes faisant plus de 20 lignes sont à mettre dans le pastebin de GTAOnline.fr (http://pastebin.gtaonline.fr/pastebin.php)
Titre: Re : [AIDE] Les buisnnes ne connaissent qu'à moitié mon nom !
Posté par: Hatomalis le 28 Février 2011, 20:09:19
Fox_Mulder: Pour le système de compte j'ai mit des espaces similaire, et sa marche très bien donc c'est pas sa.
Cristab: Benco pense la même chose donc je vais pas le re-écrire x)

EDIT: Le problème est régler. J'avais oublier de définir " server " à l'aide du fichier setting.ini.

Merci à tous !