Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=8e8d5ad8aca231834c80f66ccdf58169Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

PJP Discussion
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre -> GUI Helper
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2006
Sujets: 49

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 24/10/08 22:29    Sujet du message: PJP Discussion Citer

Au vu des nombreuses demandes que j'ai eu de différents hacks de WE, il m'aurait fallu créer un langage bien plus puissant que le vJass.
J'ai eu une idée: il existe déjà des langages très puissants capables de générer d'autres langages; pourquoi ne pas générer du Jass en PHP ?

PHP est un langage très puissant crée par un français qui a surtout été conçut pour la génération HTML. Néanmoins la facilité avec laquelle on manipule le texte fait que l'on, sa puissance, ses nombreuses librairies font qu'on l'utilise de plus en plus pour d'autres usages.

J'ai donc codé un préprocesseur qui parse le code PHP de la carte (ou du script).

Certes cela fait un peu bizarre de voir du code PHP dans du Jass, mais le résultat est là.


Pour le teste que j'ai effectué:
Code d'entré
Code:
<?
$b = true;
?>

globals

   constant boolean TRUE = true

endglobals


function main takes nothing returns nothing

   <? if ($b): ?>
      local unit u
   <? else: ?>
      local integer i
   <? endif; ?>

   <? echo 'local '.(($b) ? 'string' : 'real').' myVar'; ?>

endfunction


Code de sortie
Code:

globals

   constant boolean TRUE = true

endglobals


function main takes nothing returns nothing

         local unit u
   
   local string myVar
endfunction


Il faudrait voir pour la syntaxe PHP à utiliser avec.

Avant de vous fournir la première version de l'application il faut que je teste avec Grimoire. Si l'enthousiasme est au rendez-vous je maintiendrai une distribution et fournirais des frameworks et extentions PHP.

PS: Au début je l'ais nommé jPhp, mais vu que PHP veut dire "PHP: Hypertext Preprocessor", je l'ais donc renommer en PJP ("PHP: Jass Preprocessor")
_________________


Dernière édition par Ayane le 27/10/08 22:44; édité 3 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4765
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 25/10/08 06:34    Sujet du message: Citer

Tout simplement génial comme idée ! Surprised
Super, tu as mon soutiens (en tant que testeur hein ! Razz) !

PS : je sais pas ce que tu avais mais j'ai édité ton post, c'était bourré de fautes Surprised (peut-être dû à l'heure à laquelle tu as postée Razz).

_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2006
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 25/10/08 08:12    Sujet du message: Citer

Il faudrait surtout des idées d'utilisations, j'en ais quelques unes (mais je l'ais coder sans en avoir vraiment).

@Rommstein60: Désolé j'étais crevée, je devais me dépêcher, et on me demandait de partout.
NB: J'avais eu l'idée vers midi et je l'ais codé le soir.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 25/10/08 08:19    Sujet du message: Citer

Concrètement c'est censé apporter quoi de plus ?
Ne codant pas en php j'ai du mal à voir l'intérêt.

Je comprends l'exemple que tu as donné mais si $b est une constant alors faut vraiment en avoir besoin (avis personnel).
_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 25/10/08 08:28; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 SnowWolf
Anomalie floodiforme


Inscrit le: 06 Nov 2007
Messages: 1617
Sujets: 62
Spécialité en worldedit: Pourquoi pas ?
Médailles: 1 (En savoir plus...)
Auteur de la bannière (Quantité : 1)

MessagePosté le: 25/10/08 08:28    Sujet du message: Citer

Super idée Smile

Citation:
Concrètement c'est censé apporter quoi de plus ?
Ne codant pas en php j'ai du mal à voir l'intérêt.


Peut-être plus de fonctions ...
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 25/10/08 08:36    Sujet du message: Citer

C'est censé apporter plus de modularité (facilité d'édition) dans le code ?
Possibilité d'inliner des fonctions ?
Des Define ?
De la vraie POO ?

PS : Ca n'a plus rien à voir avec GUI HELPER, tu testes l'enthousiasme et éventuellement tu créés un nouveau forum dédié ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Cobrand
Floodeur prématuré


Inscrit le: 06 Juin 2008
Messages: 634
Sujets: 38
Spécialité en worldedit: Manger des pommes à la sauce Jass.


MessagePosté le: 25/10/08 10:46    Sujet du message: Citer

Très bonne idée même si j'y connais rien en PhP, ca pourrait être pas mal.

Ayane a écrit:
@Rommstein60: Désolé j'étais crevée, je devais me dépêcher, et on me demandait de partout.

J'ai enfiiiiiiiiiiiiiiiiiiin la preuve que que tout le monde attendait ! Razz
Ok je sors Arrow []
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4765
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 25/10/08 11:06    Sujet du message: Citer

Cobrand a écrit:
J'ai enfiiiiiiiiiiiiiiiiiiin la preuve que que tout le monde attendait ! Razz
Ok je sors Arrow []

Quelle preuve, tout le monde sait qu'Ayane est un bot Rolling Eyes (y'a des bots masculins et des féminins, sisi ! Et même qu'Ayane c'est le plus intelligent des bots ! Very Happy).

Ayane tu pourrais expliquer ce que cela apportera comme gros avantages ?

_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 25/10/08 11:44    Sujet du message: Citer

Rommstein60 se pose la question de l'utilité du projet après être enthousiaste.
Et pour Cobrand c'est pas vraiment mieux.
Et finalement SnowWolf non plus Razz
_________________
Le violet, c'est moche.


Dernière édition par Troll-Brain le 26/10/08 09:31; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Keitaro_Ura
Floodozaurus


Inscrit le: 21 Aoû 2007
Messages: 2073
Sujets: 38
Spécialité en worldedit: Oui
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #2 (Quantité : 1)

MessagePosté le: 25/10/08 11:51    Sujet du message: Citer

Moi jvois pas trop l'utilité sachant que coder normalement suffit, nan ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 25/10/08 11:53    Sujet du message: Citer

Keitaro_Ura a écrit:
Moi jvois pas trop l'utilité sachant que coder normalement suffit, nan ?

Faut voir ce que prévoit de faire Ayane, le vJass par ex, même si au final ca reste du jass facilite énormément le codage.
Mais si tu ne vois pas l'intérêt du vJass je ne pense pas que tu verras un intérêt à ce projet.

@Ayane :
Je ne sais pas si c'est possible mais si tu pouvais créer un wait ne continuant pas son décompte quand le jeu est en pause aussi précis qu'un compteur tu serais mon idole.
Evidemment sans devoir attacher "manuellement" des données.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2006
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 25/10/08 12:26    Sujet du message: Citer

Pour l'exemple $b n'est pas une constante mais une variable.

Pour l'intérêt théorique: JassHelper est un préprocesseur Jass, PJP en est aussi un préprocesseur Jass, mais c'est également un préprocesseur vJass.

Quelles différences par rapport à JassHelper (mis à part que l'on puisse générer du vJass) ?
Premièrement PJP a comme inconvénient actuel de moins bien s'intégrer au script que vJass et de difficilement modifier ce qu'il y a en dehors des balises PHP.
Cela en fait aussi un avantage car grâce à cela on peut écrire comme on le souhaite le script.
PHP est bien plus puissant avec ses structures de contrôles et ses fonctions, puisque l'on peut même faire de la réflection (variables dynamiques, ...).
Bien que ses fonctions natives sont très fournient, c'est un langage qui dispose de beaucoup de librairies qui va de l'accès à toutes les bases de données connues, de la gestion de sockets, des archives (zip, ...), de cryptage, de fichiers xml, génération d'images, ...

Pour les utilisations c'est à vous de les trouver, je pense que dans un premier temps ce sera surtout pour de gros projets avec des données externes (ou même interne) comme récupérer le prix de vente d'une unité, ...
Cela peut aussi être pratique si l'on maintient un site web avec des données de la carte (avec la librairie FTP on peut même envoyer automatiquement la carte...)



Pour l'utiliser avec grimoire il faut que vous ajoutiez l'exécution dans la fonction compilemap_path, quelque chose de ce genre:
Code:
toolresult = wehack.runprocess2("pjp\\pjp.exe \"" .. mappath .. "\"")

Et de préférence avant JassHelper.
_________________


Dernière édition par Ayane le 27/10/08 21:49; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2006
Sujets: 49

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 25/10/08 14:06    Sujet du message: Citer

Je viens de tester avec Grimoire et cela fonctionne très bien.
Gui:
Trigger:
First Test
Collapse Evénements
Temps - Elapsed game time is 0.00 seconds
Conditions
Collapse Actions
Custom script:   set udg_text = "<? echo md5('All Hail PJP!'); ?>"
Partie - Display to (All players) the text: text

Ce qui affiche: fefed82b1b1b61cf61134028cfe43aaf
Cela pourrait être intéressant d'ajouter des commandes GUI.

Gui:
Trigger:
Partie - Display to (All players) the text: <? echo md5('All Ha...

Affiche le code PHP à cause de l'éditeur qui met le texte dans le fichier wts.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 louisdespi
Floodeur prématuré


Inscrit le: 21 Oct 2007
Messages: 437
Sujets: 70



MessagePosté le: 25/10/08 14:22    Sujet du message: Citer

Moi, je faisait du php, je comprend bien ton code...Mais pas les avantage Sad
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 25/10/08 16:24    Sujet du message: Citer

@ Ayane : Je vois, statistiquement y'a donc très peu de chance que je l'utiliserais.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre -> GUI Helper Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com