GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Diablo62 le 21 Octobre 2009, 16:18:15
-
Bonjour tout le monde.
Voila, depuis un petit moment je parcours le forum afin de m'aider dans la création de mon Script et en cherchant, j'ai réussi à créer des choses par moi même (un système de contact pour démarrer/arrêter le véhicule, un système de HRP pour que les Admins puissent se mettre en HRP, un système de drive et encore pas mal d'autres choses).
Seulement voilà, je suis un peu bloqué dans ma démarche et c'est pourquoi je sollicite votre aide.
Donc mon problème c'est que je suis en train de faire un Script Rp avec Mécano et autres, seulement en laissant le système d'argent de base, les Pay'n Spray et les Transfender sont utilisables.
J'ai donc voulu créer un textdraw qui me permettrait de créer une nouvelle money sans utiliser la money du jeu au moins ceux-ci seraient bloqué.
J'ai bien réussi à mettre la fenêtre du Textdraw à l'endroit que je voulais, mais je n'arrive pas à faire en sorte que GetPlayerMoney et GivePlayerMoney détecte se qu'il y a à l'intérieur.
J'ai modifier la commande /money comme ceci afin de faire des Test:
if(strcmp(cmd, "/money", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /money [playerid/PartOfName] [money]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 4)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
ResetPlayerMoney(playa);
ConsumingMoney[playa] = 1;
//GivePlayerMoney(playa, money);
format(string,25,"$%d",money);
TextDrawSetString(Argent,string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " Vous n'etes pas autorisé à utiliser cette commande !");
}
}
return 1;
}
Dans le jeu, en tapant donc /money, j'ai bien de l'argent qui s'affiche, mais aucune possibilité d'acheter des Objets ou autres vu qu'il n'y a rien en argent de base.
Y a t-il donc une chose que je dois savoir afin de pouvoir continuer mon textdraw ?
Merci d'avance pour vos réponses ;)
-
je ne sais pas comment tu as proceder mais en gros tu peu faire comme ceci
forward MiseaNiveau()
dans le ongamemodeinit tu lance un timer SetTimer("MiseaNiveau",1000,1);
puis le public
public MiseaNiveau()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
ResetPlayerMoney(i);
GivePlayerMoneyt(i,tavariable);
}
}
}
j'espere avoir compris ton soucis enfaite ^^
-
Je ne sais pas si j'ai été clair pour mon problème et j'en suis désolé.
En faites, je ne veux pas utiliser l'argent du jeu afin de bloquer le Pay'N Spray et le Transfender, mais l'argent créer.
J'ai créé un textdraw pour l'argent mais je n'arrive pas à faire en sorte d'acheter quoi que se soit quand une valeur est à coté.
Le code que j'ai mis, c'est ce que j'ai fait afin de donner de l'argent sur le textdraw (sinon ça reste à 0) et afin de procéder à des Test.
Si je remet le /money de base et que je l'utilise, l'argent se met sur le textdraw et sur le jeu.
Je vais essayer avec ton Timer ;)
EDIT: Je viens de tester avec le timer et c'est pareil :s
-
dans ce cas la recreer tes propre fonction
stock GetArgent(playerid)
{
return tavariable;
}
stock GiveArgent(playerid,montant)
{
tavariable = tavariable+montant;
return 1;
}
stock SetArgent(playerid,montant)
{
tavriable=montant;
return 1;
}
stock ResetArgent(playerid)
{
tavraible = 0;
return 1;
}
-
Cette fois je risque de passer pour un nul ou un gros débutant :s
A quoi correspond une ligne stock ? Comment on fait pour les utiliser ? Il suffira que je remplace les GivePlayerMoney par GiveArgent pour que ça fonctionne ?
Quand tu dit tavariable, tu veux dire que pour moi ça correspond à (bien que je ne suis plus sur de PlayerInfo[playerid][pCash] ):
new string[256]
format(string,25,"$%d",PlayerInfo[playerid][pCash]);
TextDrawSetString(Argent,string);
Désolé pour ces questions, mais merci d'avance pour les réponses.
-
A quoi correspond une ligne stock ? Comment on fait pour les utiliser ? Il suffira que je remplace les GivePlayerMoney par GiveArgent pour que ça fonctionne ?
exactement sa :)
tavariable = PlayerInfo[playerid][pCash] ;)
-
Merci pour cette réponse. Je vais tester tout ça aujourd'hui et je vous dirais si j'ai réussi :)