La totalité des scripts d'Amtenaël

Section Française de l'emulateur Dawn of light.

Moderators: Support Team, Other Language Team

Re: La totalité des scripts d'Amtenaël

Postby Kataract » Tue Oct 30, 2012 9:11 am

Merci pour l'aide ! :)

Du coup j'ai réussi à add les scripts sans ajouters les libs ^^
J'ai juste retiré les expressions dynamiques de Amtemobbrain.cs.

Donc merci beaucoup pour tes scripts Dre ! Ils sont juste énormes =)
Pour aller de l'avant, il faut prendre du recul
Car prendre du recul, c'est prendre de l'élan
Kataract
Server Representative
 
Posts: 116
Joined: Fri Jul 22, 2011 6:01 pm

Re: La totalité des scripts d'Amtenaël

Postby MrGz » Sun May 24, 2015 5:18 pm

Bonjour !

Etant donné mon ignorance absolue concernant le c#, je me demandais si une âme charitable pouvait éventuellement me partager son dossier GameServerScripts reprenant tout (ou partie) des scripts amténael, et ce compatible avec la dernière version de DOL ...

... je ne suis même pas certain qu'un simple copier/coller suivi d'une compilatiopn suffise à faire fonctionner le tout ?

Je sais aussi que faire fonctionner ces scripts représente pas mal de boulot, je serais donc fortement reconaissant :p


Au plaisir de vous lire, MrGz.
Co-Admin - Pandemonia - Serveur en construction
User avatar
MrGz
DOL Apprentice
 
Posts: 25
Joined: Sun Aug 25, 2013 11:16 am
Website: http://forum.pandemonia.fr/Forum/index.php
Location: France - Nord (59)

Re: La totalité des scripts d'Amtenaël

Postby Leodagan » Sun May 24, 2015 9:53 pm

hum,

un bon début serait de déjà reprendre ces scripts ou "rassembler" ce type de script et de vérifier si oui ou non ils compilent avec la dernière version...

Par la suite ça permettrait d'établir la list de ceux qui nécessite une intervention, ça permettrait peut être à des contributeurs de cibler où il faut intervenir !
User avatar
Leodagan
Developer
 
Posts: 1350
Joined: Tue May 01, 2012 9:30 am
Website: https://daoc.freyad.net
Location: Lyon

Re: La totalité des scripts d'Amtenaël

Postby espoir » Mon May 25, 2015 1:05 am

Bonsoir,

Ci-joint ma solution concernant les scripts amtenael pour la R3458. Je tiens à préciser que je ne suis pas codeur de formation.
Je pense qu'une personne plus compétente réussira a faire une manip "propre".
A vos yeux qui vont saigner de mes modifications, je vous demande pardon.

System :
- Windows (local) et Windowserver pour le dédié
- Version local test de notre serveur (MRGZ, Helimar & Espoir)
- Version 1.9.6 r3458
- DB 3458
- Objectif : Récupérer les scripts de mapping. Textnpc en priorité.

Première étape :
- Dans le dossier DOL [SVN], j'ai ajouté le dossier Amtescript - DOL\GameServerScripts
- Serverconfig.xml est absent du DOL [SVN] - Je l'ai ajouté dans - DOL\DOLConfig a côté de serverconfig_extraproperties.xml
- Serverconfig.xml provient de la r3061 que j'avais sur le PC.
- Modification selon les conseils de dre sur la page précédente :
Code: Select all
<ScriptAssemblies>DOLBase.dll,GameServer.dll,DOLDatabase.dll,System.dll,log4net.dll,System.Xml.dll,System.Web.dll,Microsoft.CSharp.dll</ScriptAssemblies>
- Reprise du fichier LootChangerGenerator.cs (amtescript) et modification selon les conseils d'Equos pour Tohrin en 2013.
----ajouter "using log4net;" pour le Ilog
----définir le logger au début de la classe "LootGeneratorBase" avec :
"private static readonly ILog log = LogManager.GetLogger(typeof(LootGeneratorBase));"
Pour terminer, j'ai supprimé les assemblyinfo.cs de la R3458. Je les ai remplacé par l'assemblyinfo du dossier DOL\GameServerScripts\AmteScripts\Properties
J'imagine que cela a fonctionner car cet assemblyinfo.cs charge d'autres fichiers/codes que celui de base de DOL (voir fichier).

Génération du code... et ça fonctionne pas... ce n'est pas une surprise ;)
Image

Seconde étape :
Amteutile.cs m'a posé un premier problème. A la lecture des fonctions, je n'ai pas trouvé cette dernière prioritaire pour mes besoins.
Modification du script et génération d'une nouvelle solution.
Code: Select all
using DOL.GS; using DOL.GS.PacketHandler; using DOL.Database; using System.Collections.Generic; using DOL.GS.Scripts; using DOL.Events; using System; namespace DOL.GS { public static class AmteUtils { /// <summary>C'est le serveur test ?</summary> public static bool IsTestServer { get { return GameServer.Instance.Configuration.ServerNameShort == "AMTETEST"; } } /// <summary>C'est le serveur de prod ?</summary> public static bool IsLiveServer { get { return GameServer.Instance.Configuration.ServerNameShort == "AMTENAEL"; } } /// <summary> /// Efface le contenu de la popup IG /// </summary> /// <param name="player"></param> public static void SendClearPopupWindow(GamePlayer player) { GameObject obj = player.TargetObject; player.Out.SendChangeTarget(player); player.Out.SendMessage("", eChatType.CT_System, eChatLoc.CL_PopupWindow); player.Out.SendChangeTarget(obj); } } }
Ci-joint le code après suppression du code génant.

Troisième étape :
Après génération d'une nouvelle solution - apparition de nouvelles erreurs.
http://hpics.li/6519ab4
http://hpics.li/215a775

J'ai constaté que l'erreur la plus récurrente était a propos de Microsoft.CSharp.runtimebinder.binder.
Après lecture de plusieurs fichier, j'ai fais une recherche sur les .DLL manquants.
J'ai remarqué l'absence de : Microsoft.CSharp.dll dans le dossier DOL [SVN]
Afin de faire une solution propre, j'ai essayé plusieurs sous-dossiers de DOL [SVN] pour générer une solution automatique propre.
Ce fut un echec, le .dll ne s'est jamais importé dans le dossier DOL/Debug
Un .dll étant une librairie, je me suis contenté de déposer Microsoft.CSharp.dll dans DOL\debug\lib, miracle :

Image

Quatrième étape :
Après lecture de Compile.CS, je n'ai pas compris l'utilité du script.
Je l'ai simplement supprimé... (apprenti sorcier)

J'ai lancé le serveur et là.... ça marche ! YATA !

Image

Image
Screen du serveur test avec l'option textnpc d'amtenael.

Je vous laisse le soin si intéret de proposer une solution propre.
Maintenant que ma solution tourne en locale, je dois l'éprouver sur le live.
Merci encore a Dre & Equos pour cette production.

Edit : Implantation sur live dedibox - Check
Co-Admin - Pandemonia - Serveur en construction
User avatar
espoir
DOL Apprentice
 
Posts: 41
Joined: Sat Mar 01, 2014 1:35 pm

Re: La totalité des scripts d'Amtenaël

Postby MrGz » Mon May 25, 2015 8:40 am

Merci à vous deux pour votre intervention rapide, et GG à monsieur espoir !
Co-Admin - Pandemonia - Serveur en construction
User avatar
MrGz
DOL Apprentice
 
Posts: 25
Joined: Sun Aug 25, 2013 11:16 am
Website: http://forum.pandemonia.fr/Forum/index.php
Location: France - Nord (59)

Re: La totalité des scripts d'Amtenaël

Postby Graveen » Tue May 26, 2015 12:12 am

Merci Espoir pour ce fix.

Avec le core actuel, tu as les AmbientBehaviour qui remplacent les TextNpc (ainsi que les DataQuests pour la gestion de l'interact). C'est en natif dans le code, je ne sais pas si tu les as évalué.
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: La totalité des scripts d'Amtenaël

Postby Eudes » Tue May 26, 2015 4:51 am

Bonjour :)

Il y a quelques différences entre le MAB et le TextNpc, assez importantes. Les fonctionnalités des deux sont assez complémentaires plus que redondantes. Le TextNpc permet des lectures en cascades (via un clic sur une expression), permet de cibler des PJ (races, nom, guilde, etc.) et d'en exclure de la discussion (race, guilde, etc.) ce que le MAB ne permet pas. Il permet aussi d'ajouter une emote comme le MAB et de déclencher un SPELL. Il se décline aussi très simplement en échangeur d'items.

C'est un vrai couteau Suisse :)
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: La totalité des scripts d'Amtenaël

Postby Graveen » Tue May 26, 2015 6:29 am

Ok :)

Il faut que j'ouvre un sujet sur les extensions les plus utiles, qui ne sont pas dans le core, si leur licence le permet, ca peut être intéressant d'en ajouter dans GSS.
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: La totalité des scripts d'Amtenaël

Postby Eudes » Tue May 26, 2015 7:20 am

La licence oui et la compatibilité aussi car souvent c'est des développements spécifiques en marge de la structure de DOL.

Le script de Coffre d'Amtenael est très pratique pour disposer d'objets pouvant drop des items. Et il tourne parfaitement avec DOL, ce qui n'est pas le cas de tous les autres scripts.

Britannia a d'ailleurs élargi les capacités de ce coffre avec la possibilité de faire pop des mobs en plus des items (un gobelin nain caché dans un coffre c'est toujours amusant) mais il ne semble pas compatible DOL car il fait appel à d'autres scripts customs. Il devrait être possible de l'adapter.
Eudes
DOL Freak
 
Posts: 561
Joined: Wed Dec 05, 2007 12:27 am

Re: La totalité des scripts d'Amtenaël

Postby espoir » Tue May 26, 2015 8:43 am

Merci Espoir pour ce fix.

Avec le core actuel, tu as les AmbientBehaviour qui remplacent les TextNpc (ainsi que les DataQuests pour la gestion de l'interact). C'est en natif dans le code, je ne sais pas si tu les as évalué.
Pour te répondre en toute franchise, je pense avoir agit par habitude de l'utilisation de cette commande depuis Armandia (2013). Ce soir, je vais tester les deux commandes que tu proposes (AmbientBehaviour & Dataquests).

Au niveau des scripts amtenael, le /nightmob est pratique ainsi que les /area (création bindstone) /banque /fret ou teleporter.
Je maitrise beaucoup moins les commandes liés au GVG / RVR qui me semblent interessantes mais risquées. Du fond de ma mémoire, il me semble avoir entendu parlé de crash liés à la définition de zone GVG sur une map (a confirmer par les experts de la commande). Je testerai prochainement les commandes RVR pour définir un téléporteur+map comme nous avions a l'époque sur Amtenael. A voir si le script est déjà intégré ou non.

Le coffre gobelin doit être sympa. Mais c'est plus le coffre de guilde qui me fait frémir en ce moment. L'intégration au core serait super sympa, mais il me semble que tous les scripts sont en français pour amtescript vs anglais pour le core ?
Co-Admin - Pandemonia - Serveur en construction
User avatar
espoir
DOL Apprentice
 
Posts: 41
Joined: Sat Mar 01, 2014 1:35 pm

Re: La totalité des scripts d'Amtenaël

Postby Graveen » Tue May 26, 2015 2:27 pm

J'ouvre un post en anglais, merci si tu peux me faire un topo de ce que fait chaque script, le nom ne me dit plus trop grnd chose ;)

http://www.dolserver.net/posting.php?mode=post&f=5

+++
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France

Re: La totalité des scripts d'Amtenaël

Postby espoir » Tue May 26, 2015 10:19 pm

J'ouvre un post en anglais, merci si tu peux me faire un topo de ce que fait chaque script, le nom ne me dit plus trop grnd chose ;)

http://www.dolserver.net/posting.php?mode=post&f=5

+++
Bonsoir,

A l'unité cela va être compliqué car plusieurs scripts sont liés.
Par exemple le RVR, le GVG ou la prison sont définis par plusieurs .cs
Je peux parler de généralité mais je suis pas sure de savoir définir le brain+dossiers associés.
Parcontre je connais une partie des commandes IG.

Une préférence pour la présentation des données ?
Co-Admin - Pandemonia - Serveur en construction
User avatar
espoir
DOL Apprentice
 
Posts: 41
Joined: Sat Mar 01, 2014 1:35 pm

Re: La totalité des scripts d'Amtenaël

Postby Leodagan » Wed May 27, 2015 7:18 am

Il faut "packager" les scripts si possible :)

Par exemple les placer dans un sous-dossier thématique ("Prison" pour la prison etc) puis y ajouter toutes les dépendances...

S'il y a des commandes on pourrait les placer dans : Prison/commands, s'il y a des Area spécifique ou des objets : Prison/gameobjects etc etc

Enfin ça vaut même pour les script qui sont pas prévu pour rejoindre le "Core GSS", en tout cas c'est comme ça que je rassemble les scripts utilisés sur Freyad et distribués pour le plaisir de l'open source :)

exemple : https://github.com/dol-leodagan/DOLFrey ... yadHelpers
User avatar
Leodagan
Developer
 
Posts: 1350
Joined: Tue May 01, 2012 9:30 am
Website: https://daoc.freyad.net
Location: Lyon

Re: La totalité des scripts d'Amtenaël

Postby espoir » Wed May 27, 2015 10:55 am

Il faut "packager" les scripts si possible :)

Par exemple les placer dans un sous-dossier thématique ("Prison" pour la prison etc) puis y ajouter toutes les dépendances...

S'il y a des commandes on pourrait les placer dans : Prison/commands, s'il y a des Area spécifique ou des objets : Prison/gameobjects etc etc

Enfin ça vaut même pour les script qui sont pas prévu pour rejoindre le "Core GSS", en tout cas c'est comme ça que je rassemble les scripts utilisés sur Freyad et distribués pour le plaisir de l'open source :)

exemple : https://github.com/dol-leodagan/DOLFrey ... yadHelpers
Bonjour,

J'ai compris l'idée. Parcontre cela va prendre du temps à tout packager.
Sans oublier qu'il faudra tester indépendament les solutions les unes des autres.

Cette semaine, je vais être short côté timeline pour faire le tout (mariage d'une amie ce week-end).
Je vais voir pour traiter au fur et à mesure quelques scripts dans la semaine.

Bonne journée
Co-Admin - Pandemonia - Serveur en construction
User avatar
espoir
DOL Apprentice
 
Posts: 41
Joined: Sat Mar 01, 2014 1:35 pm

Re: La totalité des scripts d'Amtenaël

Postby Graveen » Wed May 27, 2015 9:46 pm

Salut,

Je ne pense pas que les scripts trés personnalisés comme la prison soient la cible de ma demande.

En effet ce sont des mécanismes bien particuliers qui ne vont pas dans le core, je cible plutôt des trucs génériques comme /ngg ou /textnpc (mais même dans ce dernier cas, je pense qu'il est plus pertinent que j'améliore AmbientBehaviour et Dataquest pour proposer un système plus flexible, à voir).

Voili, voilu ! ;)
Image
* pm me to contribute in Dawn of Light: code, database *
User avatar
Graveen
Project Leader
 
Posts: 12660
Joined: Fri Oct 19, 2007 9:22 pm
Location: France


Return to “%s” Français

Who is online

Users browsing this forum: No registered users and 1 guest