GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: LePtitClown le 10 Juin 2012, 16:15:21
-
Slt
Est il possible de changer le nom d'un fichier dini directement dans le jeu tout en gardant les variables qu'il contient
Merci d'avance
A+ ;)
-
Regarde du coté de DINI_fcopytextfile(oldname[],newname[]);, ca risque de t'interesser ;)
-
ça a l'air de correspondre, merci. Plus qu'à décrypter tout ça
Résultat des comptes, tout n'est pas copié. Je m'explique, il y a juste le nom des variables qui est copié mais en aucun cas leur contenu. Voici mon code:
dcmd_asetname(playerid,params[])
{
if(leveladmin[playerid] >1 || IsPlayerAdmin(playerid))
{
if(dini_Exists(CompteJoueur(playerid)))
{
new pid,idx, tmp[256], tmpp[256];
tmpp = strtok(params, idx);
if (!strlen(tmpp))
{
SendClientMessage(playerid, COLOR_ADMINCMD, "USAGE: /asetname [playerid] [nouveau pseudo pour compte]");
return 1;
}
pid = strval(tmpp);
if (!(IsPlayerConnected(pid)))
{
SendClientMessage(playerid, COLOR_ADMINCMD, "Ce joueur n'est pas connecté!");
return 1;
}
if(PI[pid][car] != -1)
{
ERRORMSG("Vous ne pouvez pas renommer ce joueur car il a un véhicule (risque de bug)");
}
new ancienpseudo[MAX_PLAYER_NAME];
GetPlayerName(pid,ancienpseudo,sizeof(ancienpseudo));
new str3[MAX_PLAYER_NAME+20];//avant c'était +5
format(str3,sizeof(str3),"%s.data",ancienpseudo);
tmp = strtok(params, idx);
SetPlayerName(pid,tmp);
new nouveaupseudo[MAX_PLAYER_NAME];
GetPlayerName(pid,nouveaupseudo,sizeof(nouveaupseudo));
GetPlayerName(pid, initialname[pid], 100);
new str4[MAX_PLAYER_NAME+20];
format(str4,sizeof(str4),"%s.data",nouveaupseudo);
DINI_fcopytextfile(str3,str4);
login(pid);
format(string2, sizeof(string2), "[ADMIN] On a changé le pseudo lié à ton compte en %s. Tu devras donc déormais utilisé ce pseudo pour ton compte ", nouveaupseudo);
SendClientMessage(pid,COLOR_INFO, string2);
}
}
else
{
SystemMsg(playerid,"Vous n'avez pas le niveau requis pour utiliser cette commande");//rajoutertest
}
return 1;
}
-
bizard je n'ai jamais eu ce soucis
-
Le fait que tu n'es jamais eu ce soucis m'a fait réfléchir. J'ai donc regardé ce que j'avais de différent.
Voici la bête noire: login(pid);
Cette fonction stock qui me permet normalement de loguer les différentes variables du compte. Comme elle n'est pas vraiment utile à cette endroit vu qu'il s'agit juste d'un changement de pseudo, je l'ai viré et ça marche nickel:
Un grand merci à vous deux :)
A+ ;)