L'API "Lua" d'ETPro.

Forum de discussion du mod ETSK

Modérateur : Modos

Burniole
Messages : 525
Enregistré le : 23 mars 2005

L'API "Lua" d'ETPro.

Message par Burniole » 08 mars 2006

Kennie, mon compère batave de GDO, m'a montré un truc hier: il existe une API d'ETPro permettant de coder tout un tas de choses sympathiques exécutées directement par le serveur et ça s'appelle Lua.

Entre autres joyeusetés qu'il est possible de créer avec ceci, à titre d'exemple sur le Wiki d'ETPro et afin de démontrer les capacités du bouzin, on peut trouver un bout de code mettant un place un "Anti Spawn Kill Bot", mais uniquement sur FuelDump pour l'instant:
Sur le Wiki d'ETPro, Hadr a écrit :Players are punished by removing health. Allies can go through axis spawn in the first map part.. but only while holding a knife. Lua's function et_ClientCommand(cno, cmd) can not be triggered by "+attack" command. So making a no-fire zone was done this way.
Ce que je traduirai en substance par:

Code : Tout sélectionner

Les joueurs sont pénalisés par perte de points de vie. Les Alliés peuvent traverser le spawn Axe en première partie de carte... mais seulement lorsqu'ils ont leur couteau à la main. La fonction Lua et_ClientCommand(cno, cmd) ne peut pas être déclenchée par la commande "+attack". Donc la mise en place d'une zone de non-feu a été réalisée de cette façon.
Le bout de code se pose sur le serveur et est exécuté par une commande. Ceci implique qu'il ne serait donc pas nécessaire de coder un nouveau Mod complet, mais que, pour le joueur lambda, seul un ETPro récent sera nécessaire (3.2.4 et supérieur). Tout sera transparent pour lui, le gros du boulot étant réalisé par le serveur ETPro.

Le codeur de l'exemple précise par ailleurs:
Sur le Wiki d'ETPro, Hadr a écrit :It currently only supports the Fuel Dump map. But adding more maps should not be hard. A useful tool for determining box/sphere coordinates is the Radiant map editor. Decompile the maps .bsp first using q3map2.
Dont une traduction peut être:

Code : Tout sélectionner

Il (le code) ne supporte que la carte FuelDump. Mais l'ajout de plus de cartes ne devrait pas être dur. Il existe un outil utile pour déteminer les boîtes/sphères de coordonnées qui est l'éditeur de cartes Radiant. Décompilez d'abord les cartes .bsp en utilisant q3map2.
Source: Wiki d'ETPro.


À noter qu'un serveur faisant tourner FuelDump 24/7 utilise ce genre de code pour décourager le spawnkilling, mais en accordant aux joueurs l'invincibilité dans leur spawn et en rendant spectateur tout joueur essayant de traverser une zone de spawn adverse.
Adresse IP du serveur ET:

Code : Tout sélectionner

shiven.net:27960
Plus d'infos à propos de leurs règles sur leur site: Shiven.net.
Nioune m'a tuer.

Avatar du membre
[Yep]Rhaaaa
Messages : 1071
Enregistré le : 06 avr. 2005
Localisation : 0ver the rainbow

Message par [Yep]Rhaaaa » 08 mars 2006

v56 ! Une lueur d'espoir renaît de ses cendres tel le phénix moyen dans l'arizona !

A tester !

Mais qui donc pourra coder pour les autres maps ?
Image
Certains on le skill, nous on a la classe !

Avatar du membre
roule
Messages : 389
Enregistré le : 14 nov. 2005
Localisation : dans la bande passante

Message par roule » 08 mars 2006

se serait..... comment dire, le bonheur une telle chose :shock: a moins que ce ne soit q'utopie ou science fiction :lol: mais c'est clair, le sk c'est tabou on en viendra tous a bout :wink:
Image
Image

Burniole
Messages : 525
Enregistré le : 23 mars 2005

Message par Burniole » 08 mars 2006

[Yep]Rhaaaa a écrit :Mais qui donc pourra coder pour les autres maps ?
À priori, il suffit de reprendre le code et de changer ce qui est spécifique à FuelDump, à savoir les zones de spawn et la détection du changement automatique de point de spawn.

Pour ce faire, il faut savoir dans un premier temps décompiler une carte, puis savoir s'y repérer dans Radiant dans un deuxième temps, et enfin pas être un manche dans le dernier temps. :D

En d'autres termes, ça doit pas être trop compliqué pour quelqu'un qui s'y connait, et, selon mon expression consacrée chère à notre Uchronic national: "ce n'est qu'une question de temps et de volonté". 8)


Tout d'abord, je pense qu'il serait de bon ton d'aller traîner un peu sur le serveur dont j'ai donné l'adresse IP, afin de tester une mise en application pratique de cette solution.

Ensuite, le plus épineux n'est pas à mon avis le codage à proprement parler, mais la définition des zones de spawn à protéger et quelle protection y appliquer. Ceci nécessite des discussions, concertations et autres concessions qui peuvent prendre bien plus de temps qu'une "simple" écriture de code... :roll:
Modifié en dernier par Burniole le 08 mars 2006, modifié 3 fois.
Nioune m'a tuer.

alexis67
Messages : 426
Enregistré le : 04 août 2005
Contact :

Message par alexis67 » 08 mars 2006

trop bien ce truck !!

suffit de faire pour toutes les maps et puis ce sera génial !

Avatar du membre
[Yep]Rhaaaa
Messages : 1071
Enregistré le : 06 avr. 2005
Localisation : 0ver the rainbow

Message par [Yep]Rhaaaa » 08 mars 2006

Oui la Burne, la question est aussi épineuse que tu es poilu.

Mais comme dit si bien notre frère Uchronic : ce n'est jamais qu'une question de temps et de volonté !

(MODE LOURD : ON) Hein, UCHRONIC ! 8)

Quoiqu'en matière de décompilation (mais non ma burne pas d'épilation) et de pas trop taré (quoique cela dépende du point de vue), je connais une banane tueuse qui pourrait aussi s'y interresser 8)
Image
Certains on le skill, nous on a la classe !

Avatar du membre
[Yep]Uchronic
Messages : 2194
Enregistré le : 04 août 2004
Localisation : -U-
Contact :

Message par [Yep]Uchronic » 08 mars 2006

Très très intéressant.

Pour ma part, les zones réputées SK sur ParisBastille sont très facilement déterminables. Il y a des repères visuels très utiles. Pour ceux que ça intéresse ça se passe sur http://www.parisbastille.free.fr

Pour les autres maps, je pense qu'on devrait pouvoir se décider assez rapidement tout de même, sauf certains cas litigieux.

En tout cas, je serai vraiment curieux de voir ce que ça donne en vrai. J'irai faire un tour ce soir sur le serveur.

As-tu une idée de la teneur de ce "code" ? Coordonnées d'un brush imaginaire servant de spawn box ?
Essayons de mettre nos scripteurs sur le coup. :g187:


EDIT : la phrase n'est pas de moi, mais j'adore cette citation. :D
Image
Ouiiich !
[/Yep]

Burniole
Messages : 525
Enregistré le : 23 mars 2005

Message par Burniole » 08 mars 2006

Dans mon précédent post, il y a écrit :selon mon expression consacrée chère à notre Uchronic national: "ce n'est qu'une question de temps et de volonté".
:roll: :huuuu: :lol:
-U- a écrit :la phrase n'est pas de moi, mais j'adore cette citation.
© La Burne™ :bis:
-U- a écrit :Pour les autres maps, je pense qu'on devrait pouvoir se décider assez rapidement tout de même, sauf certains cas litigieux.
Je ne l'aurais pas mieux exprimé... :lolol:
-U- a écrit :J'irai faire un tour ce soir sur le serveur.
Tu me fais sonner et on rameute du YeP présent pour s'organiser une expédition punitive. :atable:
-U- a écrit :As-tu une idée de la teneur de ce "code" ? Coordonnées d'un brush imaginaire servant de spawn box ?
Il suffit de jeter un oeil sur la source que j'ai indiquée sur mon premier post afin de voir le code étalé dans toute sa splendeur, tel un Shazam languissant sur le sable tanné par le soleil de Saberpeak. :coool:
Je viens d'y jeter un coup d'oeil, et c'est bien plus lisible et compréhensible qu'un script de carte.
-U- a écrit :Essayons de mettre nos scripteurs sur le coup. :mini2:
Même si j'ai what mille projets en route et autant de coups de mains à filer par ci, par là, j'admets que la chose m'intéresse, sinon je ne l'aurais pas postée ici-même, donc si y faut participer, je suis là! :gaaarde:
Nioune m'a tuer.

Avatar du membre
[Yep]Uchronic
Messages : 2194
Enregistré le : 04 août 2004
Localisation : -U-
Contact :

Message par [Yep]Uchronic » 08 mars 2006

Gnoun vient de fouiller dans les poches de Miss Lua et a trouvé ça : http://wolfwiki.anime.net/index.php/User:Infty

Pleine de ressources cette Lua...
On va essayer de mettre ces 2 trucs en place le plus rapidement possible. (oulala, pas facile) Mais bon, avec du temps et de la volonté...
Image
Ouiiich !
[/Yep]

Burniole
Messages : 525
Enregistré le : 23 mars 2005

Message par Burniole » 08 mars 2006

Sacré pickpocket, ce Gnoun! :D

Ayant lu le script Lua du /kill, il peut être mis en place tel quel sur le serveur dès à présent, avec cependant une traduction en français du message envoyé. Je propose:

Code : Tout sélectionner

Jacques a dit: "Pas de /kil sur YF4!"
8)

Effectivement, les possibilités sont très larges: quand Kennie m'a montré ce truc, il était en train de coder un bouzin pour kicker un joueur en étant sur le serveur par l'intermédiaire d'une commande à laquelle il passe seulement une partie du pseudo. :P
Nioune m'a tuer.

Avatar du membre
[Yep]SolarQuest
Messages : 879
Enregistré le : 07 déc. 2004
Localisation : Somewhere between here and nowhere

Message par [Yep]SolarQuest » 08 mars 2006

Ayant lu le script Lua du /kill, il peut être mis en place tel quel sur le serveur dès à présent, avec cependant une traduction en français du message envoyé. Je propose:
càd ? moi qui suis un grand spécialiste je me demande bien comment mettre ce scipt justement... Ca se met dans un fichier config ? server.cfg ? Rien à voir ?

Burniole
Messages : 525
Enregistré le : 23 mars 2005

Message par Burniole » 08 mars 2006

Rien à voir, mais presque. :mrgreen:

D'après ce que j'ai compris, le script en question se pose sur le serveur, dans le dossier etpro ou un sous-dossier, puis est appelé par une commande, à exécuter par rcon ou à insérer dans le fichier de config du serveur.

Ensuite, tout est géré par le serveur et le joueur n'a besoin que d'ETPro, et des cartes, bien sûr.
Nioune m'a tuer.

Avatar du membre
[Yep]SolarQuest
Messages : 879
Enregistré le : 07 déc. 2004
Localisation : Somewhere between here and nowhere

Message par [Yep]SolarQuest » 08 mars 2006

wohaaaaa j'ai en tout cas compris que c'est pas demain la veille que je vais y arriver :lol:

Avatar du membre
[Yep]Uchronic
Messages : 2194
Enregistré le : 04 août 2004
Localisation : -U-
Contact :

Message par [Yep]Uchronic » 08 mars 2006

Donc, selon les nouvelles du front testiculaire récupérées par poney ircpress :

Il faudrait donc créer un fichier .lua (exemple file.lua).
Et l'activer soit à la main par /rcon set lua_modules "file.lua"
ou rajouter dans le cfg du serveur : set lua_modules "file.lua"

Je répète bêtement et cela mérite d'être testé avant d'être approuvé.
Mais enfin, ça avance bien.
Image
Ouiiich !
[/Yep]

Avatar du membre
roule
Messages : 389
Enregistré le : 14 nov. 2005
Localisation : dans la bande passante

Message par roule » 08 mars 2006

et sauf vot' respect mon adjudant , que faudrait il mettre dans ce fameux fichier lua ? :oops:
nan parsque le anti /kill je le veux :twisted: :lol:
Image
Image

Répondre