GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ApocKalipsS le 29 Août 2009, 13:15:53
-
Bonjour,
Voici mon script :
new str[256];
format(str,256,"%s.ResidentEvil",nom(playerid));
if (dini_Exists(str))
{
new Money[MAX_PLAYERS];
Money[playerid] = GetPlayerMoney(playerid);
dini_Set(str,"Argent",Money[playerid]);
dini_Set(str,"Dealer",DealerArmes[playerid]);
}
Sur mon fichier, voilà ce que j'ai :
"Argent=Ò"
"Dealer="
Il me faudrait que à la place du Ò, j'ai par exemple 1234$, et à la place de rien à Dealer, j'ai un 0...
Voilà merci de vos réponses ;)
-
j'ai pas trop compris
-
Bah j'ai le script ci dessus dans OnPlayerDisconect.
Quand je tape /q, j'ai 1000 $ dans le jeu.
Donc il serait logique que j'ai dans mon fichier :
"Argent=1000".
Je problème c'est que dans mon fichier j'ai :
"Argent=Ò"
Donc voilà, quel est le problème ?
Ensuite j'ai une autre variable, DealerArmes qui est à 0.
Quand je me déconnecte, dans mon fichier scriptfiles j'ai :
"Dealer=" alors que je voudrais qu'il y est : "Dealer=0".
Voilà donc comment faire ?
PS : Je post aussi ici car j'ai une autre question.
Je voudrais que quand un joueur se connecte et qu'il nest pas un tirer (_) dans son pseudo, il soit kické.
J'ai fait ce script dans OnPlayerConnect :
public OnPlayerConnect(playerid)
{
new plname[MAX_PLAYER_NAME];
new namestring = strfind(plname, "_", true);
if(namestring == -1)
{
SendClientMessage(playerid, COLOR_YELLOW, "Votre nom n'est pas acceptable.");
SendClientMessage(playerid, COLOR_YELLOW, "Vous devez avoir un nom du type Prénom_Nom.");
Kick(playerid);
return 1;
}
Si le joueur n'a pas de tiret, il est kické, mais si il en a un, il est toude même kické...
Quel est le problème ?
-
le soucis pour l'argent c'est que sa vient du serveur beta donc il faut add une fonction qui save toute les 30 secondes me parrait pas mal
-
ou a la deconection ??? je fesait sa moi c'est pas bien (bug)?
-
la il y est en faite a la deconnection mais quand on a un ping bas j'ai remarquer sa
sa le fait pas avec un ping de 300 ^^
sa enregistre rien ^^ ou alors une commande qui save ... j'en dirais pas plus car une idee me vient :p
-
ok :happy m'enfin jamais eu de probléme moi :)
-
Salut,
ton problème vient du fais que tu indique à dini un nombre à écrire, or cette fonction ne prend que les string, donc tu verra le caractère ayant la valeur du montant d'argent
change de fonction, utilise plutôt dini_SetInt
++Sim++
-
Ok, merci beaucoup ! Et pour ça :
Je voudrais que quand un joueur se connecte et qu'il nest pas un tirer (_) dans son pseudo, il soit kické.
J'ai fait ce script dans OnPlayerConnect :
public OnPlayerConnect(playerid)
{
new plname[MAX_PLAYER_NAME];
new namestring = strfind(plname, "_", true);
if(namestring == -1)
{
SendClientMessage(playerid, COLOR_YELLOW, "Votre nom n'est pas acceptable.");
SendClientMessage(playerid, COLOR_YELLOW, "Vous devez avoir un nom du type Prénom_Nom.");
Kick(playerid);
return 1;
}
Si le joueur n'a pas de tiret, il est kické, mais si il en a un, il est tout de même kické...
Quel est le problème ?
Merci de vos réponses :)
-
exemple
Money[playerid] = dini_Get(str,"Argent");
-
J'ai déjà essayer, voilà l'erreur :
error 006: must be assigned to an array
-
pardon j'avais pas bien vu ce que tu avais ecrit sa m'apprendras le copier coller c'est pas bien
Money[playerid] = dini_Int(str,"Argent");
-
Ok, merci beaucoup ! Et pour ça :
Je voudrais que quand un joueur se connecte et qu'il nest pas un tirer (_) dans son pseudo, il soit kické.
J'ai fait ce script dans OnPlayerConnect :
public OnPlayerConnect(playerid)
{
new plname[MAX_PLAYER_NAME];
new namestring = strfind(plname, "_", true);
if(namestring == -1)
{
SendClientMessage(playerid, COLOR_YELLOW, "Votre nom n'est pas acceptable.");
SendClientMessage(playerid, COLOR_YELLOW, "Vous devez avoir un nom du type Prénom_Nom.");
Kick(playerid);
return 1;
}
Si le joueur n'a pas de tiret, il est kické, mais si il en a un, il est tout de même kické...
Quel est le problème ?
Merci de vos réponses :)
-
Salut,
ton problème vient du fais que tu indique à dini un nombre à écrire, or cette fonction ne prend que les string, donc tu verra le caractère ayant la valeur du montant d'argent
change de fonction, utilise plutôt dini_SetInt
++Sim++
Je te guerirais sim ;) (lol)