WorldEditor V1 VS V2 |
Comment récupérer WorldEditor 1 |
![]() |
Création d'objet dans WorlEditor 1 |
![]() |
![]() ![]() |
Contrairement à ce que beaucoup croient, vous pouvez créer les mêmes objets qu'avec la version 2. Seulement la présentation est différente. Dans dernière version, vous avez des onglets et pour chaque catégorie, un choix par liste déroulante du type. Dans la 1ère, tous les icônes de catégorie sont sur le même panneau. Exemple vous voulez la lampe à pétrole :
|
Quelques astuces pour WorldEditor |
![]() |
Menu de raccourcis |
![]() |
Création d'une Quête |
![]() |
{0001}{1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1}
{0002}{25 -200 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1}
qux y | x étant le numéro de la quête, et y l'état de la quête (voir tableau ci-dessous). |
0=Inconnue | 1=Mentionnée | 2=Acceptée | 3=Accomplie non rapportée | |
4=Finie | 5=Réalisée par un autre | 6=Bloquée |
Les scripts : les fichiers |
![]() |
{1}{phrase du PNJ si le joueur est un homme.}{phrase du PNJ si le joueur est une femme.}{}{}{}{}
{2}{Réponse du joueur si GF1003 = 1}{}{5}{gf1003 1}{0}{}
{3}{Réponse du joueur et met GF1004 = 1}{}{5}{}{0}{gf1004 1}
0. If Global Flag 2632 = 1Théoriquement, si c'est comme en programmation, un flag est a 0 ou à 1. Franchement je n'ai pas testé si on peut mettre autre chose.
THEN do nothing
ELSE goto line x
1. Global Flag 2655 = 1
Dlg :Repère Joueur (Arcanum\Modules\nom_module\semes\pcflags.mes)
{1}{phrase du PNJ si le joueur est un homme.}{phrase du PNJ si le joueur est une femme.}{}{}{}{}
{2}{Réponse du joueur si la variable globale 1003 = 10}{}{5}{gv1003 1}{0}{}
{3}{Réponse du joueur et met 5 dans la variable globale 4}{}{5}{}{0}{gv1004 5}
Scr :
0. Global Variable 1 = Global Variable 1 + 5
1. If Global Variable 1<= 5
THEN goto line x
ELSE do nothing
0. If PC Flag 0 of Triggerer = 1Variables joueur (Arcanum\Modules\nom_module\semes\pcvars.mes)
THEN do nothing
ELSE goto line x
1. PC Flag of Triggerer 2 =1
Scr: (Notice that the script requires identifying the relevant PC):
0. Pc Variable 1 of Triggerer = Pc Variable 1 of Triggerer + 5
1. If Pc Variable of Triggerer 1<= 5
THEN goto line x
ELSE do nothing
La création de script |
![]() |
0. dialog 1La ligne 0 : commencer le dialogue associé (fichier .dlg avec le même nom) à la ligne 1.
1. Return and SKIP default
Les scripts d'évènement |
![]() |
Ils sont liés à des objets (d'une simple trappe jusqu'à une carte) et à divers points d'attache.![]() On peut lier des scripts différents à chaque évènement. Dans l'exemple ci-contre, on a lié à l'évènement Examine, le script 100. Et un autre script est lié à celui de Dying. Les cases counter sont liés à l'objet (ou NPC). Ils peuvent être remplis au moment de l'attachement du script et utilisé dans le script. Le counter 0 étant tout simplement appelé dans les script par counter 0 etc. ... Les 32 flags (de 0 à 31, le 0 est à droite) devraient être (je n'ai pas encore essayé) les locals flags (ex : local flag 0). Ils ne sont, à priori, utilisables pour les test qu'en dialogue, mais peuvent êtres modifiés par un script. |
Name: Piége explosif, une seule fois Flags: Nonmagical trap, Auto-removing Lines: 3 0: script eye candy: play 55 on Triggerer 1: damage Triggerer for 20 points of type 3 damage 2: return and Run defaultCe script devra être attaché à un objet tel qu'un coffre. Il a un flag "trap", qui pourra être détecté par sort, compétence (détection de piège) ou autre, et enlevé de même. Le flag "remove" est fait pour que le piège ne se déclanche qu'une fois, et pour qu'il s'enlève automatiquement. Attention, si ce coffre est détruit par un joueur, le piège sera enlevé.
Les générateurs |
![]() |
Les noms internes |
![]() |
// Key ranges from 4600 - 4799
{4600}{Key}
{4601}{Passe des entrepôts}
// Know or Unknow DescriptionsLa différence de libellé avec le fichier gameoname.mes est volontaire, c'est pour qu'il n'y ai pas de confusion.
// Objets
{30001}{Commode}
{30002}{Buffet}
{30003}{Le passe des entrepôts}
{13}{Alors, avez-vous le passe des entrepôts ?}{}{}{}{}{}
{14}{Oui, bien sûr, le voici.}{}{1}{in4601 }{16}{in4601 ,qu1001 4}
Les réputations |
![]() |
Arcanum\modules\nom_du module\mes\gamereplog.mes | libellé qui apparaîtront dans le livre |
Arcanum\modules\nom_du module\rules\gamerep.mes | paramètres |
Liste des objets |
Les townMap |
![]() |
Les Rumeurs |
![]() |
Arcanum\modules\nom_module\mes\Game_rd_npc_f2f.mes Arcanum\modules\nom_module\mes\Game_rd_npc_f2m.mes Arcanum\modules\nom_module\mes\Game_rd_npc_m2f.mes Arcanum\modules\nom_module\mes\Game_rd_npc_m2m.mes Arcanum\modules\nom_module\mes\Game_rd_npc_m2m_dumb.mes"f2m" signifie d'une femme à un homme (femele to male) et "dumb" pour idiots.
{20400}{On dit qu'il n'y a pas meilleur connaisseur que Ristezze l'importateur en matière d'objets rares et exotiques.}La 1ère est celle dont le libellé apparaîtra sur le livre section rumeur. Pour qu'elle n'apparaisse pas, ne rien mettre entre les parenthèses prévues à cet effet.
{20401}{Il paraît que personne ne connaît mieux les objets exotiques que Ristezze l'importateur.}
{20402}{Dieu m'en ai témoin, personne ne connaît mieux les objets exotiques que Ristezze l'importateur.}
{20403}{Personne ne connaît mieux les objets exotiques que Ristezze l'importateur, monsieur le mage.}
....
+1 class_noble
+2 class_priest
+3 class_wizard
+4 class_technologist
+5 class_shopkeeper
+6 class_guard
+7 class_city_dweller
+8 class_villager
+9 class_beggar
+10 class_thief
+11 class_bandit
Les Dialogues |
![]() |
0 = arc | 1 = esquive | 2 = Corps à corps | 3 = lancer | 4 = discrétion | 5 = vol à la tire |
6 = attaque sournoise | 7 = détection piège | 8 = jeu | 9 = marchandage | 10 = soin | |
11 = persuasion | 12 = réparation | 13 = armes à feu | 14 = crochetage | 15 = piège |
Un petit mot sur DialogEditor |
Gestion des dialogues |
![]() |
... {6}{Voulez-vous troquer ou bien des renseignements ?}{}{}{}{}{} {7}{R: $0, 1001-1010}{}{1}{}{6}{} {8}{B:}{}{1}{}{6}{} {9}{Paysan, as-tu du travail ?}{}{1}{lc0 1,qu1003 0}{25}{} {10}{Paysan, j'ai ta pelle.}{}{1}{lc0 1,qu1003 2,in5801}{28}{} {11}{[suite]}{}{1}{}{13}{} {12}{E:}{}{1}{}{}{}...On a mis, au préalable, 1 dans le counter 0 du paysan (lorsqu'on lui a affecté le dialogue). Les lignes 9 et 10 n'apparaîtront qu'avec le paysan (le test est lc0 1). Les autres paramètres :
... {25}{Récupérez notre pelle s'il vous plait....}{}{}{}{}{} {26}{D'accord. Je vous la ramènerais.}{}{1}{}{6}{qu1003 2} {27}{J'ai autre chose qu'à courir après des pelles.}{}{1}{}{6}{qu1003 1,al-10 } {28}{C'est vrai, vous avez la pelle ?}{}{}{}{}{} {29}{Oui, tenez.}{}{1}{}{6}{in5801 ,qu1003 4,rp1003 } ...
Rappel des icônes |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() | ![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Les lits, Dormir |
![]() |
Return and skip defautIl existe un script standard, le 1893 qui le fait.
Restreindre l'utilisation d'un objet |
![]() |
{1}{Je ne suis pas assez fort pour ouvrir cette porte. Il faudrait avoir au moins 10 dans cette discipline.}{Je ne suis pas assez forte pour ouvrir cette porte. Il faudrait avoir au moins 10 dans cette discipline.}{}{}{}{}Le numéro de la ligne (1 ici) doit être la même que celle indiquée dans le script. Et le texte sert à mettre un message explicatif à l'intention du joueur.
0. stat 0 of Triggerer: store in Counter 3Ligne 0 :
1. IF 10 <= Counter 3
THEN return and RUN default
2. float line 1 above Triggerer
3. return and SKIP default
{1}{Je ne suis pas assez fort pour ouvrir cette porte. Il faudrait avoir au moins 10 dans cette discipline.}{Je ne suis pas assez forte pour ouvrir cette porte. Il faudrait avoir au moins 10 dans cette discipline.}{}{}{}{}
{2}{Je ne suis pas assez intelligent pour lire ce livre. Il faudrait avoir au moins 10 dans cette discipline.}{Je ne suis pas assez intelligente pour lire ce livre. Il faudrait avoir au moins 10 dans cette discipline.}{}{}{}{}
{3}{Je ne suis pas assez adroit pour ouvrir cette grille. Il faudrait avoir au moins 12 dans cette discipline.}{Je ne suis pas assez adroite pour ouvrir cette grille. Il faudrait avoir au moins 12 dans cette discipline.}{}{}{}{}
0. stat 0 of Triggerer: store in Counter 3Ici on se sert de counter 0 pour identifier l'objet, et de counter 2 pour mettre la valeur à tester.
1. IF Counter 0 == 1
THEN stat 4 of Triggerer: store in Counter 3
2. IF Counter 0 == 2
THEN stat 1 of Triggerer: store in Counter 3
3. counter 2 = 10
4. IF Counter 0 == 2
THEN counter 2 = 12
5. IF Counter 2 <= Counter 3
THEN return and RUN default
6. IF Counter 0 == 0
THEN float line 1 above Triggerer
7. IF Counter 0 == 1
THEN float line 2 above Triggerer
8. IF Counter 0 == 2
THEN float line 3 above Triggerer
9. return and SKIP default
Les options (Flags) des objets |
![]() |
Off | Cache l'objet au joueur (en vert dans l'éditeur). | Flat | Met l'objet à plat au sol, comme un tapis. |
See Through | voir à travers | Shoot Through | tirer à travers |
No Block | pas de blocking tile | Click Through | Objet inclicable |
Don’t Light | Enlève toutes les lumières affectés à l'objet et le rend éclairé. | Stoned | Donne à l'objet l'apparence de pierre (niveau de gris) |
Hit Points | constitution : Nb de points de vie de l'objet. | Dark Shadow | Met de l'ombre à la place de la lumière |
Indoor Ambient | Lumière de type intérieur | Outdoor Ambient | Lumière de type extérieur (varie selon le soleil) |
Aloof | Ce PNJ ne tiendra pas compte de la beauté ni de la race du joueur | Animal | PNJ est un animal. Il ne pourra ouvrir les portes ni lancer de sorts. |
Busted | éclaté : pour les fenêtres, portes et contenant, sont ouverts, sans serrures. | Can Use Box | L'objet peut être utilisé avec l'icône main (dans l'inventaire) |
Fence | Receleur : le personnage peut acheter des objets volés (marqués Stolen) | Hand Count Fixed | rend obligatoire les flags : objet à un main ou à deux mains |
Hexed | Rend l'objet maudit | Identified | Rend l'objet déjà identifié |
Marks Townmap | Cet objet sera inclus dans la TownMap | Mute | Muet : rend le PNJ muet ou pas |
Liste des numéros de stat |
![]() |
0 force | 1 dextérité | 2 constitution | 3 beauté | 4 intelligence | |
5 perception | 6 volonté | 7 charisme | 8 carry weight | 9 damage bonus | |
10 ac adjustment | 11 speed | 12 heal rate | 13 poison recovery rate | 14 reaction modifier | |
15 max followers | 16 magic tech aptitude | 17 level | 18 experience points | 19 alignement | |
20 fate points | 21 unspent points | 22 magic points | 23 tech points | 24 poison level | |
25 age | 26 gender(0=female; 1=male) | 27 race (0 human, 1 dwarf, 2 elf, 3 half elf, 4 gnome, 5 halfling, 6 half orc, 7 half ogre, 8 dark elf, 9 ogre, 10 orc) |
Les (Obj) possibles |
![]() |
Any Container in Vicinity | N'importe container dans le voisinage |
Any Follower (single player) | N'importe qui dans le groupe |
Any Item in Vicinity | N'importe objet dans le voisinage |
Any Portal in Vicinity | N'importe Portail dans le voisinage |
Any Scenery in Vicinity | N'importe décors dans le voisinage |
Anyone in Group (PC and NPC, single player) | N'importe qui dans le groupe du déclencheur, lui compris |
Anyone in Party (PC only, multiplayer) | N'importe qui de l'équipe du déclencheur, lui compris |
Anyone in Team (PC and NPC, multiplayer) | N'importe qui dans le groupe du déclencheur, lui compris |
Anyone in Vicinity | N'importe qui dans le voisinage |
Attachee | L'objet, le script est attaché à ? (can be NULL for scripts on tiles) |
Current Looped Object | L'objet en cours (associé avec l'instruction FOR) |
Every Container in Vicinity | Tous les décors du voisinage |
Every Follower (single player) | Tous les compagnons du déclencheur |
Every Item in Vicinity | Tous objet dans le voisinage |
Every Portal in Vicinity | Tous porte, portail... dans le voisinage |
Every Scenery in Vicinity | Tous décors dans le voisinage |
Everyone in Group (PC and NPC, single player) | Tous le groupe |
Everyone in Party (PC only, multiplayer) | Toutes l'équipe |
Everyone in Team (PC and NPC, multiplayer) | Toutes le groupe et l'équipe |
Everyone in Vicinity | Tous le monde dans le voisinage |
Extra Object | l'objet (supplémentaire ?) mentionné dans le script en cours d'exécution. |
Local Object | the local object indexed by the associated number |
Player | Le joueur (joueur concerné en multijoueur) |
Triggerer | Celui qui déclanche le script |
Placez votre Start Location |
![]() |
type de dommage |
![]() |
Type de dommage : | 0 normal | 1 poison | 2 électrique | 3 feu | 4 fatigue |
Mon module |
![]() |
fichier | répertoire |
gamelevel.mes | ..\arcanum\data\rules |
gamelevelname.mes | ..\arcanum\data\mes |
InventSource.mes | ..\arcanum\data\rules |
InventSourceBuy.mes | ..\arcanum\data\rules |
addon01.dat | ..\arcanum\data\modules |