Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

DEFINE_PATCH_FUNCTION foiré

Regroupe tous les sujets sur les commandes, les fonctions, les routines, les modifications des fichiers systèmes (ids, 2da...)...
Répondre
Avatar du membre
deratiseur
Golem de fer
Messages : 3583
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne

DEFINE_PATCH_FUNCTION foiré

.

Message par deratiseur »

j'essaie de créer un DEFINE_PATCH_FUNCTION pour simplifier une instruction répétée 120 fois :

Code : Tout sélectionner

DEFINE_PATCH_FUNCTION PX_INTERPLAN_SORTS STR_VAR parchemin = ~~
	BEGIN
	COPY_EXISTING ~pxagenob.sto~	~override~  ADD_STORE_ITEM %parchemin% LAST #1 #0 #0 ~IDENTIFIED~ #5
	END
Pour l'appeler comme ça : LPF PX_INTERPLAN_SORTS INT_VAR parchemin = pxf2ex2a END



Sauf que weidu bloque systématiquement sur le DEFINE_PATCH_FUNCTION :

[DERATS_MAGASIN_2/SETUP-DERATS_MAGASIN_2.TP2] PARSE ERROR at line 1941 column 8-20
Near Text: COPY_EXISTING
GLR parse error

Pourquoi ? Une fonction ne peut pas être une COPY ?
Modifié en dernier par deratiseur le mar. 29 oct. 2024, 09:30, modifié 1 fois.
Je n’oublie pas qui a mis le feu aux poudres.

A part ça, mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Selphira
Adepte de Grondemarteau
Blême
Messages : 900
Enregistré le : dim. 25 juil. 2004, 21:28
Contact :
Statut : En ligne
.

Message par Selphira »

COPY est une instruction de type ACTION, et tu tentes de la lancer dans un contexte de PATCH.

Je connais 2 solutions :

Englober ton COPY_EXISTING dans une instruction INNER_ACTION

Code : Tout sélectionner

INNER_ACTION BEGIN
   COPY_EXISTING ~pxagenob.sto~	~override~  ADD_STORE_ITEM %parchemin% LAST #1 #0 #0 ~IDENTIFIED~ #5
END
Créer une méthode DIMORPHIC

Code : Tout sélectionner

DEFINE_DIMORPHIC_FUNCTIONPX_INTERPLAN_SORTS STR_VAR parchemin = ~~
BEGIN
	COPY_EXISTING ~pxagenob.sto~	~override~  ADD_STORE_ITEM %parchemin% LAST #1 #0 #0 ~IDENTIFIED~ #5
END
Avatar du membre
deratiseur
Golem de fer
Messages : 3583
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

OK, avec

Code : Tout sélectionner

DEFINE_DIMORPHIC_FUNCTION PX_INTERPLAN_SORTS STR_VAR parchemin = ~~
ça se compile.

Mais l'instruction

Code : Tout sélectionner

LPF PX_INTERPLAN_SORTS INT_VAR parchemin = pxf2ex2a END
Refuse de fonctionner, bloque sur "ERROR: cannot convert pxf2ex2a or %pxf2ex2a% to an integer"

j'ai essayé en ajoutant/enlevant des % et des ~ mais je n'y arrive pas. Comment ai-je pu programmer des mods en étant autant bidon avec Weidu, ça me dépasse....
Je n’oublie pas qui a mis le feu aux poudres.

A part ça, mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Selphira
Adepte de Grondemarteau
Blême
Messages : 900
Enregistré le : dim. 25 juil. 2004, 21:28
Contact :
Statut : En ligne
.

Message par Selphira »

C'est normal, dans la définition de la fonction tu utilises STR_VAR tandis qu'à l'appel tu utilises INT_VAR, remplace le par STR_VAR et ça devrait aller.
Avatar du membre
deratiseur
Golem de fer
Messages : 3583
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

Ok, ça marche. Je te remercie. Que ferais sans toi ? (et sans JohnBob, FreddyGwendo, Zranoff et d'autres.... je suis dépendant des autres :( )
Je n’oublie pas qui a mis le feu aux poudres.

A part ça, mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Avatar du membre
deratiseur
Golem de fer
Messages : 3583
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

Heu non, en fait ça s'installe mais c'est complètement foiré. Tous les entrées dans le magasin ont comme nom d'objet PARCHEMI et le paramètre "timer" calé à 78 (ça doit être le patchage pour le N manquant^^). Où est-ce que ça foire ?
Testé, ça ne marche pas mieux en remplaçant
LPF PX_INTERPLAN_SORTS INT_VAR parchemin = pxf2ex2a END
par
LPF PX_INTERPLAN_SORTS INT_VAR parchemin = %pxf2ex2a% END
Modifié en dernier par deratiseur le mar. 29 oct. 2024, 11:39, modifié 1 fois.
Je n’oublie pas qui a mis le feu aux poudres.

A part ça, mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Avatar du membre
deratiseur
Golem de fer
Messages : 3583
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

Bon, oubliez ça, j'ai fais autrement (comme d'habitude). Sujet clot. merci encore Selphira.
Je n’oublie pas qui a mis le feu aux poudres.

A part ça, mes mods sont tous sur Mediafire et Github
Et leurs descriptions sont ici.
Répondre

Retourner vers « Programmation WeiDU »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité