• 29 Mars 2024, 07:38:00


Auteur Sujet: Topic Gilux [Actuel : Editeur GUI/Commentaires N++/Paramètres commandes]  (Lu 6244 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Salut,
J'ai testé la GUI aujourd'hui, avec ce code dans le clientscript :

local GUItest = {};
GUItest.window <- GUIWindow();
GUItest.window.setText("Enregistrement");
GUItest.window.setSize(460.0, 170.0, false);
local screen = guiGetScreenSize();
GUItest.window.setPosition(screen[0]/2 - 460/2, screen[1]/2 - 170/2, false);
function onPlayerCommand(command)
{
    local cmd = split(command, " ");
    cmd[0] = cmd[0].tolower();
    if(cmd[0] == "/gui")
    {
        GUItest.window.setVisible(!GUItest.windowshown);
        GUItest.windowshown = !GUItest.windowshown;
        guiToggleCursor(true);
    }
}
addEvent("playerCommand", onPlayerCommand);

Voilà, et bien évidemment, lorsque je teste le code, rien ne s'affiche, ni sur l'écran ni dans la console. (J'ai bien ajouté le script au fichier xml de configuration.)
Je pensais à un confilt entre évènements serveur/client, mais je ne comprend pas comment régler ça si c'est le cas.
Merci de votre aide !
« Modifié: 30 Août 2011, 16:49:04 par Gilux »

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #1 le: 20 Juillet 2011, 04:00:07 »
Salut,

Ton problème n'est pas un conflit d'évènement, car les scripts clients et serveurs ne sont pas du tout reliés entre eux. (Comme l'indique son nom, les scripts client sont éxécutés sur le PC du joueur, et pas appelés sur le serveur)
Cependant, la commande onPlayerCommand n'est pas appelée sur le client, mais seulement sur le serveur.

Je te conseil donc de faire ceci dans ton script serveur :

function onPlayerCommand(playerid,command)
{
     if(cmd[0].tolower() == "/gui")
          triggerClientEvent(playerid, "showGUI");
}

et dans le script client :

local GUItest = {};
local screen = guiGetScreenSize();
GUItest.window <- GUIWindow();
GUItest.window.setText("Enregistrement");
GUItest.window.setSize(460.0, 170.0, false);
GUItest.window.setPosition(screen[0]/2 - 460/2, screen[1]/2 - 170/2, false); // je te conseil de faire directement tes calculs, remplacer 170/2 par 85 pour limiter les calculs à faire par le PC du client, qui n'est peut être pas très puissant.
GUItest.window.setVisible(false); // on la rend invisible au chargement du script
GUItest.windowshown <- false; // on oubli pas de définir cette variable
function showGUI() // Fonction appellée par addEvent
{
    GUItest.window.setVisible(!GUItest.windowshown);
    GUItest.windowshown = !GUItest.windowshown;
    guiToggleCursor(true);
}
addEvent("showGUI", showGUI); // Event appellé par le serveur quand le joueur tape /gui.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #2 le: 20 Juillet 2011, 11:09:04 »
Merci à toi, je testerai ça cet après midi  ;)
Par contre, le wiki indique bien que l'event est "partagé" en une partie serveur (playerCommand(playerid,command)) et une partie client (playerCommand(command)).
(http://wiki.iv-multiplayer.com/wiki/index.php?title=PlayerCommand)
Ce n'est plus à jour ?  :happy
++

EDIT : C'est bon, j'ai réussi et ça m'a permis de comprendre en même temps le fonctionnement des clientscripts, j'ai réussi à faire un petit script avec getCurrentStreetName.  :)
J'ai encore du mal à comprendre getLocalPlayer mais ça va venir :P
« Modifié: 20 Juillet 2011, 13:40:55 par Gilux »

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #3 le: 21 Juillet 2011, 10:46:06 »
getLocalPlayer te retourne tout simplement l'ID du joueur (playerid).

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #4 le: 29 Juillet 2011, 17:05:23 »
Merci de tes précisions. Je commence à doucement y arriver, que ce soit coté serveur (Sauvegarde de compte) ou client (GUI), mais je préfère faire un script 100% coté serveur pour le moment :D
++

Hors ligne Armans

  • *
  • Tueur en série
  • Messages: 173
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #5 le: 11 Août 2011, 01:11:04 »
Je sais pas pourquoi je comprend mieux le Squirrel que le pawn la sais tout simple mais dernière question ou je mais les dossier du serveur?Car clien sais simple sais clienscripte (fallais pas cherche loin) mais les dossier du serveur? et aussi dans setting?

« Modifié: 11 Août 2011, 01:19:36 par Samir|M'Boy'Z|Luccioni »



Fait un GM a partir de rien

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #6 le: 11 Août 2011, 09:58:41 »
M'enfin c'est mon topic là   ::)
Sinon, c'est l'avantage de IV:MP, les "scriptfiles" peuvent être placés n'importe où dans le dossier du serveur, il y a un dossier "files" mais rien ne t'empêche de les mettre autre part ;)
++

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #7 le: 11 Août 2011, 10:37:38 »
settings, c'est pas un dossier, settings.xml est un fichier, comme server.cfg sur SA:MP.
Et en quelque sorte le Squirrel est plus simple, c'est juste que le Pawn est vraiment un langage mal foutu, mais va faire un tour sur le forum de IV:MP, tout le monde va te répondre "pawn sucks", et c'est bien vrai, et je trouve que GUnitSoldier explique bien pourquoi ici : http://forum.iv-multiplayer.com/index.php/topic,3752.msg37604.html#msg37604

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #8 le: 11 Août 2011, 10:41:35 »
Oui, il explique bien, mais sa signature le décrédibilise...
Citer
You're strange. You think your server is best?
You're idiot.

All servers the BEST, just because it's IVMP!!!
Not stupid SA-MP with fcking cartoon graphics and idiot physics.

Please, all SA-MP scripters fck off (i absolutely don't respect you) and stay down.

here is new age of new gaming in IVMP, SA-MP always was a kind of noob shit.


Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #9 le: 11 Août 2011, 11:47:04 »
Il dit juste qu'il déteste SA:MP, mais ses arguments sont vrai concernant le Pawn

Hors ligne Shawny

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #10 le: 20 Août 2011, 06:10:08 »
Pas nécessairement, quand certains comprennent le script pawn, ils savent ce qu'ils doivent toucher et ne pas toucher. Comme par exemple les ";" il éxiste plusieurs méthodes afin de savoir si tu en as oublié ou pas ou même encore, parfois quand tu ajoutes un script, il se peut que certaines variables soient déjà définies, il suffit de les retiré et d'en garder qu'une seule. Afin, c'est le script qui doit nous comprendre, mais c'est nous qui doit le comprendre et quand on le comprend aucun problème surgit.

Hors ligne ApocKalipsS

  • *
  • Gangster
  • **** | Une experience GTA IV hors du commun !
  • Messages: 1141
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #11 le: 20 Août 2011, 18:32:02 »
C'est pas au niveau des problèmes rencontrées ou les erreurs à la compilation, c'est au niveau des capacités, des fonctionnalités et des performances du langage.

Hors ligne Armans

  • *
  • Tueur en série
  • Messages: 173
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #12 le: 25 Août 2011, 05:12:47 »
Mais comme la si bien dit Shawny quand certains comprennent le script pawn, ils savent ce qu'ils doivent toucher et ne pas toucher.La performance vien quand ta compris se qui faut faire ou logique mais sais vrais que j'ai plus de plaisir a coder en Squirrel que en PAWNO.



Fait un GM a partir de rien

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #13 le: 25 Août 2011, 09:31:36 »
Il ne faut pas chercher Samir le Squirrel s’exécute plus rapidement que le pawn sans parler du fait que ce langage est un langage orienté objet donc bon que tu sache ce que tu touche ou pas le squirrel sera toujours (?) rapide que le pawn
« Modifié: 25 Août 2011, 09:43:46 par Ssk »



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Armans

  • *
  • Tueur en série
  • Messages: 173
    • Voir le profil
Re : Topic Gilux [Squirrel][Actuel : Problème GUI]
« Réponse #14 le: 26 Août 2011, 23:50:04 »
Je sais mais je suis plus alaise dans le Squirrel que dans PAWN ^^



Fait un GM a partir de rien