Jump to content

VIP Panel problème


Recommended Posts

Bonjour à tous,

Je viens actuellement de rencontré un soucis, avec le panel vip que j'ai repris sur la community, j'ai fait quelques modification dessus, mais le seul soucis, c'est que si l'ont tape /vip deux fois, le panel reste bloqué en plein milieu de l'ecran, et donc entraîne la reconnection (pour les joueurs), j'aimerai bien savoir comment je pourrai m'y prendre afin d'ouvrir le panel via un bindKey, puis le referme avec le bindKey.

Client:

function PanelVIP() 
        Ventana = guiCreateWindow(389, 179, 507, 366, "Premium of bW' Clan Tactics Training Server.", false) 
        guiWindowSetSizable(Ventana, false) 
        guiSetAlpha(Ventana, 1.00) 
  
        Info = guiCreateMemo(11, 27, 486, 92, "♦Premium Account♦\n ¤ Price: 3$/Lifetime", false, Ventana) 
        guiMemoSetReadOnly(Info, true) 
        Boton1 = guiCreateButton(17, 137, 101, 46, "Crossbow", false, Ventana) 
        guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
        Boton2 = guiCreateButton(201, 137, 101, 46, "Desert Eagle Gold", false, Ventana) 
        guiSetProperty(Boton2, "NormalTextColour", "FF05FC00") 
        Boton3 = guiCreateButton(386, 137, 101, 46, "PKM(25HP/Bullet)", false, Ventana) 
        guiSetProperty(Boton3, "NormalTextColour", "FF05FC00") 
        Boton4 = guiCreateButton(201, 259, 101, 46, "+200 HP", false, Ventana) 
        guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
        Boton5 = guiCreateButton(17, 259, 101, 46, "Shotgun Power(25HP/Bullet)", false, Ventana) 
        guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
        Skin = guiCreateButton(386, 259, 101, 46, "Skin Premium", false, Ventana) 
        guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
        Boton6 = guiCreateButton(17, 198, 101, 46, "USAS-12 Gold", false, Ventana) 
        guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
        cerrar = guiCreateButton(10, 341, 487, 15, "X", false, Ventana) 
        guiSetFont(cerrar, "default-bold-small") 
        guiSetProperty(cerrar, "NormalTextColour", "FFFF0000")  
  
        showCursor (true) 
         
        addEventHandler ("onClientGUIClick", Boton1, Pack1, false) 
        addEventHandler ("onClientGUIClick", Boton2, Pack2, false) 
        addEventHandler ("onClientGUIClick", Boton3, Pack3, false) 
        addEventHandler ("onClientGUIClick", Boton4, Heal, false) 
        addEventHandler ("onClientGUIClick", Boton5, Pack4, false) 
        addEventHandler ("onClientGUIClick", Skin, skinwe, false) 
        addEventHandler ("onClientGUIClick", Boton6, Pack5, false) 
        addEventHandler ("onClientGUIClick", cerrar, exit, false) 
  
end 
-------------------------------------------------------------------------- 
function Pack1 () 
showCursor (true) 
triggerServerEvent ( "Paquete1", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack2() 
showCursor (true) 
triggerServerEvent ( "Paquete2", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack3() 
showCursor (true) 
triggerServerEvent ( "Paquete3", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack4() 
showCursor (true) 
triggerServerEvent ( "Paquete4", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Heal() 
showCursor (true) 
triggerServerEvent ( "HealthVIP", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function skinwe() 
showCursor (true) 
triggerServerEvent ( "SkinFuncional", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack5() 
showCursor (true) 
triggerServerEvent ( "Paquete5", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function exit() 
showCursor (false) 
guiSetVisible (Ventana, not guiGetVisible ( Ventana ) ) 
end 
-------------------------------------------------------------------------- 
  
addEvent( "GUIVIP", true ) 
addEventHandler( "GUIVIP", getRootElement(), PanelVIP ) 

Edited by Guest
Link to comment
  • Moderators

Bonsoir RoRo76,

Ton problème est que tu n'as pas séparer l'action de créer le panel vip (les guiCreate...) de l'action d'afficher le panel.

Il faut les séparer pour avoir un meilleur contrôle:

  • Créer le panel - Fonction à part
  • Afficher le panel - Fonction panelVIP()
  • Cacher le panel - Fonction exit()

Tu noteras l'utilisation du verbe cacher plutôt que détruire (le panel) car c'est plus rapide de le créer une seule fois à la connexion puis de le montrer et le cacher plutôt que de le créer puis le détruire à chaque fois (On peut en effet détruire le panel afin qu'il ne prenne plus de place en mémoire via un destroyElement sur ta window).

Voilà donc la solution à ton problème en séparant la création et l'affichage:

client (je n'ai remit que les fonctions que j'ai modifiées, garde bien le reste):

function createPanelVIP() 
    Ventana = guiCreateWindow(389, 179, 507, 366, "Premium of bW' Clan Tactics Training Server.", false) 
    guiWindowSetSizable(Ventana, false) 
    guiSetAlpha(Ventana, 1.00) 
  
    Info = guiCreateMemo(11, 27, 486, 92, "♦Premium Account♦\n ¤ Price: 3$/Lifetime", false, Ventana) 
    guiMemoSetReadOnly(Info, true) 
    Boton1 = guiCreateButton(17, 137, 101, 46, "Crossbow", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Boton2 = guiCreateButton(201, 137, 101, 46, "Desert Eagle Gold", false, Ventana) 
    guiSetProperty(Boton2, "NormalTextColour", "FF05FC00") 
    Boton3 = guiCreateButton(386, 137, 101, 46, "PKM(25HP/Bullet)", false, Ventana) 
    guiSetProperty(Boton3, "NormalTextColour", "FF05FC00") 
    Boton4 = guiCreateButton(201, 259, 101, 46, "+200 HP", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Boton5 = guiCreateButton(17, 259, 101, 46, "Shotgun Power(25HP/Bullet)", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Skin = guiCreateButton(386, 259, 101, 46, "Skin Premium", false, Ventana) 
    guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
    Boton6 = guiCreateButton(17, 198, 101, 46, "USAS-12 Gold", false, Ventana) 
    guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
    cerrar = guiCreateButton(10, 341, 487, 15, "X", false, Ventana) 
    guiSetFont(cerrar, "default-bold-small") 
    guiSetProperty(cerrar, "NormalTextColour", "FFFF0000") 
    
    addEventHandler ("onClientGUIClick", Boton1, Pack1, false) 
    addEventHandler ("onClientGUIClick", Boton2, Pack2, false) 
    addEventHandler ("onClientGUIClick", Boton3, Pack3, false) 
    addEventHandler ("onClientGUIClick", Boton4, Heal, false) 
    addEventHandler ("onClientGUIClick", Boton5, Pack4, false) 
    addEventHandler ("onClientGUIClick", Skin, skinwe, false) 
    addEventHandler ("onClientGUIClick", Boton6, Pack5, false) 
    addEventHandler ("onClientGUIClick", cerrar, exit, false) 
  
    guiSetVisible(Ventana, false) -- on le cache, prêt à être affiché quand on voudra 
end 
addEventHandler("onClientResourceStart", resourceRoot, createPanelVIP) -- on crée au démarrage 
  
function PanelVIP() 
    showCursor (true) 
    guiSetVisible (Ventana, false) -- On affiche le panel 
end 
addEvent( "GUIVIP", true ) 
addEventHandler("GUIVIP", root, PanelVIP) 
  
function exit() 
    showCursor (false) 
    guiSetVisible (Ventana, false) -- On veut réellement cacher le panel 
end 

Ton problème sera résolu avec ça.

Cordialement,

Citizen

Link to comment

Je te remercie beaucoup, car j'ai essayé de cherché cette solution avec le wiki, mais les parti était en anglais et j'ai eu du mal a comprendre.

Après avoir testé, le cursor apparait bien, mais la fenêtre (gui) n'apparaît pas,

Debugscript:

1471918228-error.png

Je ne comprend pas d'ou peut venir ce warning là, donc l'empêchement d'ouverture de la fenêtre..

client:

function PanelVIP() 
        Ventana = guiCreateWindow(389, 179, 507, 366, "Premium of bW' Clan Tactics Training Server.", false) 
        guiWindowSetSizable(Ventana, false) 
        guiSetAlpha(Ventana, 1.00) 
  
        Info = guiCreateMemo(11, 27, 486, 92, "♦Premium Account♦\n ¤ Price: 3$/Lifetime", false, Ventana) 
        guiMemoSetReadOnly(Info, true) 
        Boton1 = guiCreateButton(17, 137, 101, 46, "Crossbow", false, Ventana) 
        guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
        Boton2 = guiCreateButton(201, 137, 101, 46, "Desert Eagle Gold", false, Ventana) 
        guiSetProperty(Boton2, "NormalTextColour", "FF05FC00") 
        Boton3 = guiCreateButton(386, 137, 101, 46, "PKM(25HP/Bullet)", false, Ventana) 
        guiSetProperty(Boton3, "NormalTextColour", "FF05FC00") 
        Boton4 = guiCreateButton(201, 259, 101, 46, "+200 HP", false, Ventana) 
        guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
        Boton5 = guiCreateButton(17, 259, 101, 46, "Shotgun Power(25HP/Bullet)", false, Ventana) 
        guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
        Skin = guiCreateButton(386, 259, 101, 46, "Skin Premium", false, Ventana) 
        guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
        Boton6 = guiCreateButton(17, 198, 101, 46, "USAS-12 Gold", false, Ventana) 
        guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
        cerrar = guiCreateButton(10, 341, 487, 15, "X", false, Ventana) 
        guiSetFont(cerrar, "default-bold-small") 
        guiSetProperty(cerrar, "NormalTextColour", "FFFF0000")  
  
        showCursor (true) 
        guiSetVisible(Ventana, false) -- on le cache, prêt à être affiché quand on voudra 
         
        addEventHandler ("onClientGUIClick", Boton1, Pack1, false) 
        addEventHandler ("onClientGUIClick", Boton2, Pack2, false) 
        addEventHandler ("onClientGUIClick", Boton3, Pack3, false) 
        addEventHandler ("onClientGUIClick", Boton4, Heal, false) 
        addEventHandler ("onClientGUIClick", Boton5, Pack4, false) 
        addEventHandler ("onClientGUIClick", Skin, skinwe, false) 
        addEventHandler ("onClientGUIClick", Boton6, Pack5, false) 
        addEventHandler ("onClientGUIClick", cerrar, exit, false) 
        addEventHandler("onClientResourceStart", resourceRoot, createPanelVIP) -- on crée au démarrage 
end 
  
-------------------------------------------------------------------------- 
function Pack1 () 
showCursor (true) 
triggerServerEvent ( "Paquete1", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack2() 
showCursor (true) 
triggerServerEvent ( "Paquete2", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack3() 
showCursor (true) 
triggerServerEvent ( "Paquete3", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack4() 
showCursor (true) 
triggerServerEvent ( "Paquete4", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Heal() 
showCursor (true) 
triggerServerEvent ( "HealthVIP", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function skinwe() 
showCursor (true) 
triggerServerEvent ( "SkinFuncional", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack5() 
showCursor (true) 
triggerServerEvent ( "Paquete5", getLocalPlayer() ) 
end 
--------------------------------------------------------------------------  
function PanelVIP() 
    showCursor (true) 
    guiSetVisible (Ventana, false) 
end 
addEvent( "GUIVIP", true ) 
addEventHandler("GUIVIP", root, PanelVIP) 
-------------------------------------------------------------------------- 
function exit() 
    showCursor (false) 
    guiSetVisible (Ventana, false) -- On veut réellement cacher le panel 
end 
addEvent( "GUIVIP", true ) 

Link to comment
  • Moderators

Récapitulons:

1 - Je te t'ai passé une version corrigée (et expliquée) de ton code client que tu n'avais plus qu'à copier coller

2 - Tu en copies une partie seulement en cassant le code corrigé

3 - Tu viens me demander de corriger à nouveau le code.

Je vois pas comment on va pouvoir s'en sortir si tu fonctionne comme ça :/

A part te recoller la même correction, je ne peux rien faire d'autre.

Reprends le code de mon post précédent.

Link to comment
  • Moderators

Voilà ce que tu aurais dû avoir en copiant collant ma correction:

function createPanelVIP() 
    Ventana = guiCreateWindow(389, 179, 507, 366, "Premium of bW' Clan Tactics Training Server.", false) 
    guiWindowSetSizable(Ventana, false) 
    guiSetAlpha(Ventana, 1.00) 
  
    Info = guiCreateMemo(11, 27, 486, 92, "♦Premium Account♦\n ¤ Price: 3$/Lifetime", false, Ventana) 
    guiMemoSetReadOnly(Info, true) 
    Boton1 = guiCreateButton(17, 137, 101, 46, "Crossbow", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Boton2 = guiCreateButton(201, 137, 101, 46, "Desert Eagle Gold", false, Ventana) 
    guiSetProperty(Boton2, "NormalTextColour", "FF05FC00") 
    Boton3 = guiCreateButton(386, 137, 101, 46, "PKM(25HP/Bullet)", false, Ventana) 
    guiSetProperty(Boton3, "NormalTextColour", "FF05FC00") 
    Boton4 = guiCreateButton(201, 259, 101, 46, "+200 HP", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Boton5 = guiCreateButton(17, 259, 101, 46, "Shotgun Power(25HP/Bullet)", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Skin = guiCreateButton(386, 259, 101, 46, "Skin Premium", false, Ventana) 
    guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
    Boton6 = guiCreateButton(17, 198, 101, 46, "USAS-12 Gold", false, Ventana) 
    guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
    cerrar = guiCreateButton(10, 341, 487, 15, "X", false, Ventana) 
    guiSetFont(cerrar, "default-bold-small") 
    guiSetProperty(cerrar, "NormalTextColour", "FFFF0000") 
    
    addEventHandler ("onClientGUIClick", Boton1, Pack1, false) 
    addEventHandler ("onClientGUIClick", Boton2, Pack2, false) 
    addEventHandler ("onClientGUIClick", Boton3, Pack3, false) 
    addEventHandler ("onClientGUIClick", Boton4, Heal, false) 
    addEventHandler ("onClientGUIClick", Boton5, Pack4, false) 
    addEventHandler ("onClientGUIClick", Skin, skinwe, false) 
    addEventHandler ("onClientGUIClick", Boton6, Pack5, false) 
    addEventHandler ("onClientGUIClick", cerrar, exit, false) 
  
    guiSetVisible(Ventana, false) -- on le cache, prêt à être affiché quand on voudra 
end 
addEventHandler("onClientResourceStart", resourceRoot, createPanelVIP) -- on crée au démarrage 
  
-------------------------------------------------------------------------- 
function Pack1 () 
    showCursor (true) 
    triggerServerEvent ( "Paquete1", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack2() 
    showCursor (true) 
    triggerServerEvent ( "Paquete2", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack3() 
    showCursor (true) 
    triggerServerEvent ( "Paquete3", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack4() 
    showCursor (true) 
    triggerServerEvent ( "Paquete4", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Heal() 
    showCursor (true) 
    triggerServerEvent ( "HealthVIP", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function skinwe() 
    showCursor (true) 
    triggerServerEvent ( "SkinFuncional", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
function Pack5() 
    showCursor (true) 
    triggerServerEvent ( "Paquete5", getLocalPlayer() ) 
end 
-------------------------------------------------------------------------- 
  
function PanelVIP() 
    showCursor (true) 
    guiSetVisible (Ventana, true) 
end 
addEvent( "GUIVIP", true ) 
addEventHandler("GUIVIP", root, PanelVIP) 
  
-------------------------------------------------------------------------- 
function exit() 
    showCursor (false) 
    guiSetVisible (Ventana, false) -- On veut réellement cacher le panel 
end 
addEvent( "GUIVIP", true ) 
  

(Je viens également de corriger le false qui aurait dû être à true ligne 78)

C'est la version complète de ton fichier, comme ça tu pourras pas faire d'erreur de copier/coller !

(Ta liste de warnings indiquait que les fonctions Pack1, Pack2, Pack3, Pack4, Pack5, skinwe, et Heal n'existe pas au moment du addEventHandler, ne les auraient tu pas supprimés en copiant collant mon code ? ...)

Link to comment
Bonsoir RoRo76,

Ton problème est que tu n'as pas séparer l'action de créer le panel vip (les guiCreate...) de l'action d'afficher le panel.

Il faut les séparer pour avoir un meilleur contrôle:

  • Créer le panel - Fonction à part
  • Afficher le panel - Fonction panelVIP()
  • Cacher le panel - Fonction exit()

Tu noteras l'utilisation du verbe cacher plutôt que détruire (le panel) car c'est plus rapide de le créer une seule fois à la connexion puis de le montrer et le cacher plutôt que de le créer puis le détruire à chaque fois (On peut en effet détruire le panel afin qu'il ne prenne plus de place en mémoire via un destroyElement sur ta window).

Voilà donc la solution à ton problème en séparant la création et l'affichage:

client (je n'ai remit que les fonctions que j'ai modifiées, garde bien le reste):

function createPanelVIP() 
    Ventana = guiCreateWindow(389, 179, 507, 366, "Premium of bW' Clan Tactics Training Server.", false) 
    guiWindowSetSizable(Ventana, false) 
    guiSetAlpha(Ventana, 1.00) 
  
    Info = guiCreateMemo(11, 27, 486, 92, "♦Premium Account♦\n ¤ Price: 3$/Lifetime", false, Ventana) 
    guiMemoSetReadOnly(Info, true) 
    Boton1 = guiCreateButton(17, 137, 101, 46, "Crossbow", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Boton2 = guiCreateButton(201, 137, 101, 46, "Desert Eagle Gold", false, Ventana) 
    guiSetProperty(Boton2, "NormalTextColour", "FF05FC00") 
    Boton3 = guiCreateButton(386, 137, 101, 46, "PKM(25HP/Bullet)", false, Ventana) 
    guiSetProperty(Boton3, "NormalTextColour", "FF05FC00") 
    Boton4 = guiCreateButton(201, 259, 101, 46, "+200 HP", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Boton5 = guiCreateButton(17, 259, 101, 46, "Shotgun Power(25HP/Bullet)", false, Ventana) 
    guiSetProperty(Boton1, "NormalTextColour", "FF05FC00") 
    Skin = guiCreateButton(386, 259, 101, 46, "Skin Premium", false, Ventana) 
    guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
    Boton6 = guiCreateButton(17, 198, 101, 46, "USAS-12 Gold", false, Ventana) 
    guiSetProperty(Skin, "NormalTextColour", "FFFEE900") 
    cerrar = guiCreateButton(10, 341, 487, 15, "X", false, Ventana) 
    guiSetFont(cerrar, "default-bold-small") 
    guiSetProperty(cerrar, "NormalTextColour", "FFFF0000") 
    
    addEventHandler ("onClientGUIClick", Boton1, Pack1, false) 
    addEventHandler ("onClientGUIClick", Boton2, Pack2, false) 
    addEventHandler ("onClientGUIClick", Boton3, Pack3, false) 
    addEventHandler ("onClientGUIClick", Boton4, Heal, false) 
    addEventHandler ("onClientGUIClick", Boton5, Pack4, false) 
    addEventHandler ("onClientGUIClick", Skin, skinwe, false) 
    addEventHandler ("onClientGUIClick", Boton6, Pack5, false) 
    addEventHandler ("onClientGUIClick", cerrar, exit, false) 
  
    guiSetVisible(Ventana, false) -- on le cache, prêt à être affiché quand on voudra 
end 
addEventHandler("onClientResourceStart", resourceRoot, createPanelVIP) -- on crée au démarrage 
  
function PanelVIP() 
    showCursor (true) 
    guiSetVisible (Ventana, false) -- On affiche le panel 
end 
addEvent( "GUIVIP", true ) 
addEventHandler("GUIVIP", root, PanelVIP) 
  
function exit() 
    showCursor (false) 
    guiSetVisible (Ventana, false) -- On veut réellement cacher le panel 
end 

Ton problème sera résolu avec ça.

Cordialement,

Citizen

Ton message d'avant, avec la première correction, je me suis dit, c'est bizarre, il n'y a pas Pack 1 2 3 etc.. donc j'ai voulu les rajouté en mettant ta correction c'est pour celà dans la correction donc j'ai découpé ta correction j'ai essayé d'assemblé le code en faite.

Merci beaucoup de ton aide, ton fonctionne correctement. :)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...