GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: MrToinou le 30 Avril 2011, 00:36:18
-
Bonsoir a tous (Apres un petit bout de temps :D)
Donc voila je me suis lancé dans un RP (Nooon me tapez pas) apres avoir fait un GM DM je vous rassure :angelnot mais voila en tant que débutant dans se domaine j'ai quelque probleme sur certaine création de commandes et autres donc je crée se topic pour evitez d'en crée plusieurs pour rien.
Donc je commence avec mon premier probleme.
Apres avoir fait des modification sur la faction Bikers (J'utilise le GM de U2C) j'aimerai que les bikers ai la commande pour reparer les véhicules comme les mécanos (/reparer) donc j'ai ajouté PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader]== 14)
dans le script /reparer et quand je vais IG et je tape la commande en etant biker sa marque Vous n'ete pas mécano. donc je cherche l'erreur depuis un bon moment et je revient sur se fofo pour obtenir de l'aide.
Merci a tous & Bonne soirée.
PS: le script /reparer : http://pastebin.com/9yZT4rYY (http://pastebin.com/9yZT4rYY)
-
Je te redirige vers un tutoriel de Sim, les opérateurs.
http://www.gtaonline.fr/forums/index.php/topic,6175.0.html (http://www.gtaonline.fr/forums/index.php/topic,6175.0.html)
-
oulala ta pas de warn / erreur avec se scripte regarde le pastein comment il est lol
-
Pour le tuto j'ai un peu de mal a comprendre :closedeyes même Apres l'avoir lu plusieurs fois, tu peut pas me donner le truc car sa fait un peu plus de 2jours que j'ai cette chose a réglé et j'ai du mal avec les tuto donc si tu pourai m'expliquer avec tes mot a toi.
Et non j'ai pas de warn ni d'erreur et ces pas le sujet du topic merci de plus posté de HS.
-
Salut !
C'est parfaitement logique ce que ça te fait ^^
Regarde bien comment le code est formé au début, on trouve PlayerInfo[playerid][pJob] != 7, si cette condition est vérifiée alors on renverra un message au joueur comme quoi il n'est pas mécanicien. Cette condition est fausse ( a cause du "!=" ), ce qui signifie que tous les joueurs qui n'ont PAS le job numéro 7 recevront le message suivant "Vous n'êtes pas mécanicien!"
Exactement le même principe pour les factions ;)
-
Foo, c'est là que les opérateurs interviennes, les opérateurs || signifie OU, donc pour que la condition soit vérifié, il faut que, au minimum, une condition soit valide, je te conseil d'ailleurs d'aller également voir le tutoriel de Sim ;).
Ton explication serait correct si les opérateurs utilisés serait && qui signifie ET.
-
Salut a tous
Merci pour vos réponse, donc j'ai mis "&&" a la place de "| |" met maintenant tout le monde peut taper la commande /reparer, donc je sais vous allez me prendre pour un .. met j'ai regarder le tuto de Sim et j'ai fait sa
if(PlayerInfo[playerid][pJob] == 7 && PlayerInfo[playerid][pMember] == 14 && PlayerInfo[playerid][pLeader]== 14)
Voila.
-
Salut,
si tu veut un conseil pour ce genre de chose, pense par étape (et code le par étape au besoin).
Exemple:
Dans un premier lieu, le joueur doit avoir le boulot 7.
Si c'est le cas, il doit être de la team 14 (ce qui revient à dire estMembre ||(OU) estLeader et non pas avec le && (ET))
les conditions de ce genre sont plus faciles a écrire lorsque l'on sépare en sous conditions.
C'est le principe de "Diviser pour mieux régner".
Un principe de base en programmation, c'est le concept même des fonctions, des classes etc...
++Sim++
-
Je laisse sa de coté pour l'instant merci de vos réponses. ;)
J'ai un nouveau problème concernant les MoveObjects donc j'ai suivi le tuto de.. Eloctro je crois, mais quand je tape la commande '/ouvrirgrille' sa marque la phrases comme quoi la grille s'ouvre mais elle s'ouvre pas, Merci de m'aider.
new Gbiker;
Gbiker = CreateObject(980, 1652.9783,-2134.6001,13.5547,0, 0.0000, 0.0000);
public GateClose3()
{
MoveStreamObject(Gbiker, 1652.9783,-2134.6001,13.5547, 1.5);
return 1;
}
http://pastebin.com/LJgDtYM3 (http://pastebin.com/LJgDtYM3) Premiere partie
http://pastebin.com/Tm5sma73 (http://pastebin.com/Tm5sma73) Deuxieme partie
Voila.
-
UUP.
-
Si personne ne te réponds, c'est que personne n'as de réponse à ton problème .. ???
++
-
Si personne ne te réponds, c'est que personne n'as de réponse à ton problème .. ???
++
faux on a pas vu
dan sta commande il y a sa
MoveStreamObject(Gbiker,1652.9783,-2134.6001,13.5547, 1.5);
dans la fermeture il y a sa
MoveStreamObject(Gbiker,1652.9783,-2134.6001,13.5547, 1.5);
tu la declare comme sa
Gbiker = CreateObject(980, 1652.9783,-2134.6001,13.5547,0, 0.0000, 0.0000);
A quelle moment tu ouvre la grille pour moi et le script jamais ;)
-
Salut,
Bon.. comme d'habitude c'etait un truc bete et je le remarque jamais ... :snip
Merci cristab :)
Si d'autre problème je poste mais pour le moment sa ma l'air bon.
-
Rebonjour a tous.
Donc j'ai besoin d'une petite aide :cheers
J'aimerai désactiver l'affichage de l'argent (En bas des barre de santé) et les activé sur un textdraw? j'aimerai savoir comment on fait :-[
Merci de votre aide (encore une fois :) )
-
tu ne peu pas desactiver l'affichage de l'argent
-
Je me suis mal exprimer peut etre mais que les chiffres s'affiche pas par exemple (0000000100$) je veut seulement que les 100$ s'affiche que sur le textdraw et nom sur l'affichage en haut
-
dans ce cas la il faut te faire un systeme d'argent interne a ton GM c'est tres simple j'en avait fais un mais je l'ai perdu si j'ai un peu de temps je verrais a le refaire
-
Tu pourrai m'expliquer maintenant ou j'attend que tu fini pour que tu m'explique ?
-
ben il te faut un TD que tu actualise avec un variable enfin en gros c'est tres simple a faire quelque exemple
new Argent[MAX_PLAYERS];
a la connexion
Argent[playerid] = 0;
la fonction pour donner de l'argent
DonneArgent(playerid,montant)
{
Argent[playerid]= Argent[playerid] + montant;
}
pour voir combien j'ai d'argent
Combienargent(playerid)
{
return Argent[playerid];
}
retirer de l'argent
RetireArgent(playerid,montant)
{
Argent[playerid] = Argent[playerid] - montant;
}
en gros voila donc apres il te suffit d'actualiser ton TD pour afficher l'argent