• 19 Avril 2024, 23:54:08


Auteur Sujet: Fenêtre + Image en Gui à la connexion  (Lu 2598 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Raptor2x

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
Fenêtre + Image en Gui à la connexion
« le: 27 Janvier 2013, 17:27:12 »
Bonjour à tous.

Il y a quelque jours je me suis décidé à me lancer dans le LUA, car les possibilités sont beaucoup plus grandes que sur SA-MP, je sais scripter en PAWN, un peu plus que les bases.

Je voudrai faire une fenêtre (comprenant du texte, un bouton et une image) qui s'affiche à la connexion du joueur, j'ai alors utiliser Guieditor, fais ma fenêtre et compagnie, puis j'ai pris le code gui.

Voici comment je m'y suis pris :

function WelcomeWindows()
    WW = guiCreateWindow(520, 164, 536, 154, "xBattlefield ", true)
    guiWindowSetSizable(WW, true)
    TextWW = guiCreateLabel(17, 34, 265, 77, "Bienvenue sur xBattlefield ! \nLe serveur est actuellement en développement.\n\nWelcome on xBattlefield !\nThe server is actually in development.", true, WW)
    xBattlefieldWW = guiCreateStaticImage(319, 57, 207, 44, "xBattlefield/images/bf3.png", true, WW)
    OkWW = guiCreateButton(450, 121, 66, 23, "Ok", true, WW)
end

function showWelcomeWindows()
guiSetVisible(WW, true)
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),

Ensuite, j'ai bien mis mon image bf3.png dans le dossier images de ma ressource, nommé ce script en gui.lua qui j'ai mi dans /client/ et ajouter

     <script src="client/gui.lua" type="client" />
     <file src="images/bf3.png"/>

Seulement, comme vous l'aurez deviné, ma fenêtre ne s'affiche pas à la connexion, j'ai farfouiller et tenté pas mal de solutions expliquées ici, mais pareil, je ne sais pas vraiment où est le problème, étant débutant..

Merci d'avance !
Bonne soirée.

EDIT : Problème résolu, merci quand même.

function WelcomeWindows()
WW = guiCreateWindow(520, 164, 536, 154, "xBattlefield ", false)
    guiWindowSetSizable(WW, false)
    TextWW = guiCreateLabel(17, 34, 265, 77, "Bienvenue sur xBattlefield ! \nLe serveur est actuellement en développement.\n\nWelcome on xBattlefield !\nThe server is actually in development.", false, WW)
    xBattlefieldWW = guiCreateStaticImage(319, 57, 207, 44, "images/bf3.png", false, WW)
    OkWW = guiCreateButton(450, 121, 66, 23, "Ok", false, WW)
    addEventHandler("onClientGUIClick", OkWW, closeWelcomeWindows, false)
    showCursor(true)
end
addEventHandler("onClientResourceStart", getRootElement(), WelcomeWindows)

function closeWelcomeWindows()
guiSetVisible(WW, false)
showCursor(false)
end
« Modifié: 27 Janvier 2013, 19:56:24 par Raptor2x »

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Fenêtre + Image en Gui à la connexion
« Réponse #1 le: 28 Janvier 2013, 02:20:07 »
Salut,
Ouai voilà j'allais t'expliquer pour le false du guiCreateWindow  :happy:

Tu utilises GuiEditor et c'est une bonne idée, mais un conseil, avant de générer le code, assure toi bien de mettre les widgets qui ont pour référence le screen (ici c'est ta fenêtre) en relatif en faisant un clic droit sur l'écran (mais pas sur un guiBidule) puis clic sur Rel/Abs Screen !
Pourquoi ? L'avantage que ce soit en relatif est que ton gui ne sera pas déformé ou mal placé selon la résolution d'écran du joueur. Je te propose de faire le test avec ton gui en essayant de changer la résolution de ton MTA et tu verras de quoi je veux parler  :P

Sur ce, je te souhaite la bienvenue sur MTA et bon codage !

Cordialement,

Citizen
The rEvolution is coming ...

Hors ligne Raptor2x

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
Re : Fenêtre + Image en Gui à la connexion
« Réponse #2 le: 28 Janvier 2013, 12:21:34 »
Salut et merci de ta réponse !
Là mes positions sont donc en absolute ? On repère des positions relatives des absolute car les relatifs sont entre 0 et 1, c'est ça?
Je savais déjà qu'il était préférable d'utiliser le relatif, mais j'avais encore un doute de comment les démarquer.
En tout cas merci à toi et de ton aide chaleureuse, ça donne vraiment envi de continuer et de progresser ;-)

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Fenêtre + Image en Gui à la connexion
« Réponse #3 le: 28 Janvier 2013, 17:17:06 »
Oui c'est tout à fait ça, les positions/tailles relatives sont exprimées en pourcentage (exemple pour 50%, c'est 0.5 ) et en absolut, ils sont exprimées en pixels.

Le dernier argument de ta fonction permet de spécifier si les nombres que t'as donné devaient être interpréter en tant qu'absolut ou relatif, en mettant en relatif (true) avec des nombres d'absolut, ta fenêtre c'est retrouvée 520 écrans sur la droite, 164 écrans en bas, et était large de 536 écrans et haut de 154 écrans  :happy:

Donc la solution était belle et bien de dire à la fonction que c'était de l'absolut.  :)

En tout cas ça fait toujours plaisir d'aider et de voir plus de français arriver sur MTA.
N'hésite surtout pas à venir poser tes questions ici, je me ferai un plaisir d'y répondre.

Cordialement,

Citizen

The rEvolution is coming ...

Hors ligne Raptor2x

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
Re : Fenêtre + Image en Gui à la connexion
« Réponse #4 le: 28 Janvier 2013, 17:19:50 »
D'accord j'ai tout compris, merci beaucoup à toi, si j'ai d'autres questions je n'hésiterai pas à les poser ici ! :bye: