Code : Tout sélectionner
/*-----------------------------------------------------------------------------------*
* MACRO GW_CRE_STATS_RANDOM : Création aléatoire des caractéristiques des créatures *
*-----------------------------------------------------------------------------------*/
DEFINE_PATCH_FUNCTION ~GW_CRE_STATS_RANDOM~
RET GW_str_random
GW_str_ex_random
GW_dex_random
GW_int_random
GW_wis_random
GW_con_random
GW_chr_random
BEGIN
SET GW_str_random = 0
SET GW_str_ex_random = RANDOM (1 100)
SET GW_dex_random = 0
SET GW_int_random = 0
SET GW_wis_random = 0
SET GW_con_random = 0
SET GW_chr_random = 0
PATCH_FOR_EACH random_stat IN ~GW_str_random~ ~GW_dex_random~ ~GW_con_random~ ~GW_int_random~ ~GW_wis_random~ ~GW_chr_random~ BEGIN
FOR (i = 0; i < 3; i += 1) BEGIN
SET EVALUATE_BUFFER ~%random_stat%~ += RANDOM (1 6) // 3 x 6 = 18 !
END
END
// exceptional strength (only for warriors with 18 strength)
PATCH_IF (%GW_str_random% != 18) BEGIN
SET GW_str_ex_random = 0
END ELSE BEGIN
PATCH_IF (("%GW_class_lib%" STRING_CONTAINS_REGEXP "FIGHTER" != 0) && ("%GW_class_lib%" STRING_CONTAINS_REGEXP "RANGER" != 0)
&& ("%GW_class_lib%" STRING_CONTAINS_REGEXP "PALADIN" != 0)) BEGIN
SET GW_str_ex_random = 0
END
END
PATCH_PRINT ~CONTROLE RANDOM STATS : random_str = %GW_str_random% - random_str_ex = %GW_str_ex_random% - random_dex = %GW_dex_random% - random_con = %GW_con_random% - random_int = %GW_int_random% - random_wis = %GW_wis_random% - random_chr = %GW_chr_random%~
// LPF GW_CRE_STATS_ADJUST INT_VAR GW_str_random GW_str_ex_random GW_dex_random GW_int_random GW_wis_random GW_con_random GW_chr RET GW_str_ajust GW_str_ex_ajust GW_dex_ajust GW_int_ajust GW_wis_ajust GW_con_ajust GW_chr_ajust END // adjust statistics to match class and racial minimums, maximums and modifiers
END
Par exemple :
CONTROLE RANDOM : random_str = 10 - random_str_ex = 0 - random_dex = 14 - random_con = 11 - random_int = 11 - random_wis = 6 - random_chr = 12
Après avoir trituré la doc WeiDU, j'ai fini par trouver une solution en ajoutant ces lignes jaunes dans la fonction :
Code : Tout sélectionner
DEFINE_PATCH_FUNCTION ~GW_CRE_STATS_RANDOM~
RET GW_str_random
GW_str_ex_random
GW_dex_random
GW_int_random
GW_wis_random
GW_con_random
GW_chr_random
BEGIN
[color="#FFFF00"] INNER_ACTION BEGIN
RANDOM_SEED null // Initialize random numbers
END[/color]
SET GW_str_random = 0
...
Alors si quelqu'un a une explication, je suis preneur.