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é...

Ce code me rend fou

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 : 3697
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne

Ce code me rend fou

.

Message par deratiseur »

J'en ai fais, des code pour patcher tous les effets d'un sort, ou des codes pour patcher toutes les habilités d'un sort. il y en a dans le dukp, dans l'interplan, dans todd, bref, j'en ai usé et abusé. Mais celui là ne veux rien savoir.

je voudrais passer le sort "Immobilisation des morts-vivants" en innate. Pour un sort avec une seule habilité, c'est facile :

Code : Tout sélectionner

WRITE_BYTE 0x1c 4	WRITE_BYTE 0x74 4 	WRITE_BYTE 0x84 1
Mais celui là à plusieurs habilités, ça devient donc :

Code : Tout sélectionner

WRITE_BYTE 0x1c 4	
READ_LONG 0x64 abilities_off
READ_SHORT 0x68 num_abilities
FOR (i = 0; i < num_abilities; i += 1) BEGIN			// pour chaque habileté
	WRITE_BYTE (abilities_off + 0xc0*i + 0x2) 4
	WRITE_BYTE (abilities_off + 0xc0*i + 0x12) 1
END
Où ai je trouvé le 0xc0 -> différence (en hexadécimal) entre le dernier offset de la deuxième habilité 2 et le dernier offset de la première habilité.
Où ai je trouvé 0x2 et 0x12 -> sur l'IEDSP, format des sorts, et aussi dans la formule "offset désiré -72". (double confirmation)
Sauf que ça marche pas. Ça me rend fou.
Modifié en dernier par deratiseur le dim. 12 nov. 2023, 09:28, modifié 3 fois.
Le standard téléphonique est en rade : l'atelier du Deratiseur ne répondra plus à aucune demande personnalisée.
Bosse sur : Interplan v9, Derat's Kri'Binn, Todd : KOPP2.

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

Message par Selphira »

Je ne sais pas si cela va fonctionner, le code n'est pas testé, mais voici ce que je te propose.
Le but est d'utiliser la fonction native de Weidu pour naviguer dans les en-têtes du sort.

Code : Tout sélectionner

WRITE_BYTE 0x1c 4
GET_OFFSET_ARRAY headerOffsets SPL_V10_HEADERS
PHP_EACH headerOffsets AS _ => headerOffset BEGIN
    WRITE_BYTE (headerOffset + 0x2) 4
    WRITE_BYTE (headerOffset + 0x12) 1
END
Avatar du membre
deratiseur
Golem de fer
Messages : 3697
Enregistré le : mer. 05 déc. 2007, 18:35
Localisation : Gap, Hautes alpes
Statut : Hors ligne
.

Message par deratiseur »

Cool, ça marche :) Merci beaucoup
Et comme ça ne cible pas d'autre offset que l’icône et le temps d'incantation, je peux en plus l'uiliser sans crainte que le sort soit changé entre oBG2 et BG2EE. Super pratique, merci beaucoup :)
Le standard téléphonique est en rade : l'atelier du Deratiseur ne répondra plus à aucune demande personnalisée.
Bosse sur : Interplan v9, Derat's Kri'Binn, Todd : KOPP2.

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é