GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Vestax le 19 Janvier 2012, 19:58:09

Titre: Problème pour choisir son job.
Posté par: Vestax le 19 Janvier 2012, 19:58:09
Bonsoir à tous & a toutes,

Voilà mon petit problème que je n'arrive pas a règler.. c'est tout bête mais bon, je bloque a ce sujet là.
J'utilise en ce moment ''SkillMenu'' mais j'aimerai mettre la fenetre en Style DIALOG_LIST.. mais je n'y arrive pas.. j'ai pourtant fait comme wikipedia, l'exemple.. Voila le petit bou de code.


SkillMenu = CreateMenu("~b~Job ~w~:",1,15,150,200);
    SetMenuColumnHeader(SkillMenu , 0, "~w~Choissisez votre job:");
    AddMenuItem(SkillMenu,0,"Violeur");
    AddMenuItem(SkillMenu,0,"Traficant de drogues");
    AddMenuItem(SkillMenu,0,"Traficant d'armes");
    AddMenuItem(SkillMenu,0,"Hitman");
    AddMenuItem(SkillMenu,0,"Car Jacker");
    AddMenuItem(SkillMenu,0,"Kidnappeur");
    AddMenuItem(SkillMenu,0,"Voleur");
    AddMenuItem(SkillMenu,0,"Terroriste");
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 19 Janvier 2012, 20:23:07
ShowPlayerDialog - SA-MP Wiki (http://wiki.sa-mp.com/wiki/ShowPlayerDialog)
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 19 Janvier 2012, 20:47:32
OMG, j'ai fait comme wikipedia j'ai dit ! Mais ça ne marche pas !


La fenetre apparait quand le joueur spawn.
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 19 Janvier 2012, 20:50:03
SkillMenu = CreateMenu("~b~Job ~w~:",1,15,150,200);
SetMenuColumnHeader(SkillMenu , 0, "~w~Choissisez votre job:");
AddMenuItem(SkillMenu,0,"Violeur");
AddMenuItem(SkillMenu,0,"Traficant de drogues");
AddMenuItem(SkillMenu,0,"Traficant d'armes");
AddMenuItem(SkillMenu,0,"Hitman");
AddMenuItem(SkillMenu,0,"Car Jacker");
AddMenuItem(SkillMenu,0,"Kidnappeur");
AddMenuItem(SkillMenu,0,"Voleur");
AddMenuItem(SkillMenu,0,"Terroriste");

Je ne vois pas la fonction ShowPlayerDialog, ou alors, je suis fou ?
Tu dis que ton code s'exécute quand un joueur spawn, si il est dans la fonction OnPlayerSpawn, c'est normal !

Sinon, ce n'est pas Wikipedia mais un wiki tout court ;).
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 19 Janvier 2012, 21:05:33
Il est dans OnGameModeInit().

Le problème est que quand je met ma ligne avec les jobs en style LIST. Le playerid est inconnu.. j'ai rajouté dans le OnGameModeInit (playerid) mais ça me met un warning sur la ligne, je compile etc.. le joueur spawn et pas de menu.
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 20 Janvier 2012, 07:24:07
C'est normal, l'évènement OnGameModInit ne compte aucun joueur connecté.
Rajouter des arguments ne changera rien, l'appel de la fonction reste le même.
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 20 Janvier 2012, 16:24:42
Je veux convertir un choix de job skillmenu en fenêtre styledialog list.
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 20 Janvier 2012, 17:42:19
Je reviens donc à mon premier message ...

ShowPlayerDialog - SA-MP Wiki (http://wiki.sa-mp.com/wiki/ShowPlayerDialog)
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 20 Janvier 2012, 21:39:29
Donc pour qu'il choisisse son job, je le place dans OnPlayerSpawn??
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 20 Janvier 2012, 21:44:25
Où est le rapport ici, je t'explique que pour créer un menu (comme tu le désire), tu devrais utilisé la fonction ShowPlayerDialog.

Dans ton cas, tu devrais l'utilisé plutôt dès que le joueur doit choisir son travail, ça serait logique.
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 20 Janvier 2012, 22:52:36
ShowPlayerDialog je l'es utilisé a la place de SkillMenu mais ça n'affiche rien !
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 12:42:48
Si seulement tu avais l'envie de chercher ...

[TUTO]ShowPlayerDialog (http://www.gtaonline.fr/forums/index.php?topic=10646.0)
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 14:28:26
Je sais faire une fenêtre de dialog, je crois que ta pas compris.. Simplement que la fênetre que j'ai fais en style list, Ne s'affiche pas pour choisir le job!

Double post
J'ai marqué ça :

new playerid;
   
    ShowPlayerDialog(playerid,SkillMenu,DIALOG_STYLE_LIST,"Choisis ton job.","{FFFFFF}Violeur
Trafiquant d'armes
Trafiquant de drogues
Hitman
Carjackeur
Kidnappeur
Terroriste","Ok","Quitter");





A la place de : SkillMenu = CreateMenu("~b~Job ~w~:",1,15,150,200);
    SetMenuColumnHeader(SkillMenu , 0, "~w~Choissisez votre job:");
    AddMenuItem(SkillMenu,0,"Violeur");
    AddMenuItem(SkillMenu,0,"Traficant de drogues");
    AddMenuItem(SkillMenu,0,"Traficant d'armes");
    AddMenuItem(SkillMenu,0,"Hitman");
    AddMenuItem(SkillMenu,0,"Car Jacker");
    AddMenuItem(SkillMenu,0,"Kidnappeur");
    AddMenuItem(SkillMenu,0,"Voleur");
    AddMenuItem(SkillMenu,0,"Terroriste");


Et voila l'erreur : C:UsersAntoineDesktoppawnopawnoOWEO.pwn(1704) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.



La fenêtre s'affiche pas.
(http://www.gtaonline.fr/forums/Themes/orange-lt119v2/images/warnwarn.gif) Les doubles post sont interdits, utilise la fonction "modifier"
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 14:37:13
Il faut que tu cherche l'évènement qui correspond à ce que tu veux.
Sans code, nous ne pouvons t'aider.
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 14:49:07
L'évenement? Developpe..
Titre: Re : Problème pour choisir son job.
Posté par: Xolokos le 21 Janvier 2012, 14:52:59
Dans OnPlayerSpawn c'est un evénement tout comme OnPlayerUpdate si tu veut qu'il choisisse son métier au spawn dans OnPlayerSpawn(playerid)...
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 14:58:50
Le SkillMenu apparait aussi quand le joueur spawn pourtant.. j'essaye dans OnPlayerSpawn.

Double post
public OnPlayerSpawn(playerid)
{



    ShowPlayerDialog(playerid,SkillMenu,DIALOG_STYLE_LIST,"Choisis ton job.","Violeur\nTrafiquant de drogues\nTrafiquant d'armes\nHitman\nCar Jacker\nKidnappeur\nVoleur\nTerroriste","Ok","Quitter");


Warning : C:\Users\Antoine\Desktop\pawno\pawno\OWEO.pwn(2690) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.



?????
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 15:03:04
Ton code est vraiment marrent, tu créer une variable pour l'utilisé sans lui affecter de valeur indicative.

La variable playerid devrait logiquement contenir l'indice du joueur mais ici contiendra toujours 0.
Pourquoi ? C'est toi qui l'a créer alors que c'est normalement l'appel d'une fonction qui te la donne.

Tu ne doit surement pas être dans un bon évènement, montre nous ton code complet (si il est totalement de toi ce que je doute vu cette fantaisie).
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 15:08:03
Je ne peux pas montrer mon code entier. Au pire ce n'est pas grave, je trouve ça bizzard alors que le SkillMenu marche... et pas le DIALOG_STYLE_LIST.

Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 15:15:47
Quelle est la déclaration et l'affectation de SkillMenu ?
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 15:22:01
Je débute.. je comprend pas ce que tu me dis ^^.

SkillMenu apparait pour que une TEAM !

Exemple new Menu:Current = GetPlayerMenu(playerid);
    if(Current == SkillMenu)
{
TogglePlayerControllable(playerid, 1);
switch(row)
{
case 0:
{
                ShowPlayerDialog(playerid,DIALOG_SKILLINFO,DIALOG_STYLE_MSGBOX,"{4169FF}VIOLEURS INFORMATIONS:","{FFFFFF}Commandes: Faites /cmds pour connaitre vos commandes.\n{FFFFFF}Job: Votre travail consiste à violer les joueurs et leur donner le SIDA.\n{FFFFFF}Respectez les règles du serveur avec le /regles","Ok","Retour");
GivePlayerWeapon(playerid,22,100);
    GivePlayerWeapon(playerid,4,1);
        gTeam[playerid] = TEAM_RAPIST;
        SetPlayerToTeamColour(playerid);
        CanChooseSkill[playerid] =0;
}

Je ne comprend pas pourquoi ça marche pas..
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 15:29:20
Tu mélange Menu et Dialog.
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 15:35:34
Donc?? Je fais comment pour mettre mon SkillMenu??
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 16:04:35
Si revient donc à un de mes messages précédents ...

[TUTO]ShowPlayerDialog (http://www.gtaonline.fr/forums/index.php?topic=10646.0)
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 16:12:33
C'est ce que j'ai fais regarde mes messages et mes warnings.
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 16:17:47
Tu as tout fait, sauf ce qu'il fallait, le copier/coller est la première cause de mort sur GTAOnline.fr, tu devrais faire attention.
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 16:38:11
En gros pas d'aide, pas d'explication?? Merci quand même. A lock.
Titre: Re : Problème pour choisir son job.
Posté par: Xartrick le 21 Janvier 2012, 16:43:06
Il y a de l'aide, il y a des explications.

Il y a juste une personne qui ne prend pas ces explications et cette aide.
Remet toi en question, tu ne fais strictement rien pour faire avancer ton sujet, tu te contente de dire que telle ou telle chose ne fonctionne pas.
Mais tu sais pourquoi ? Car tu ne comprend pas ce que tu fais.
Titre: Re : Problème pour choisir son job.
Posté par: Xolokos le 21 Janvier 2012, 17:32:38
Pour revenir au sujet montre ton code complet...
Quand on fait un dialog quand on clic sur une des options celà nous revoie a la Callback OnDialogReponse plusieurs tutoriels existe sur le forum.
Titre: Re : Problème pour choisir son job.
Posté par: Vestax le 21 Janvier 2012, 17:39:50
Je sais de quoi je parle, mais ce n'est pas grave, je passe mon chemin.