Oui, j'ai oublié des endif après les if. J'suis allé trop vite

J'ai terminé de remplir le script (principalement du copier coller de bloc).
Je l'uploaderais après l'avoir rempli de commentaire et aéré un peu. A mon retour de belgique et de promenade


Le problème, c'est que j'ai lu que le AND & OR n'existait pas dans le geck (il me semble,). Ou alors, je n'en ai jamais vu. J'ai vu ça que dans la section opérateur, et ce sont les symbôle && et ||. Pas de NOT ni de XOR:Si tu veux tester plusieurs choses pour une seule instruction, utilise les AND et OR.
Même le script original, il utilise des if plutôt que des AND :Although the NOT and XOR logical operators are not available, you can still achieve the same output by using "A == 0" in the place of "NOT A" and "(A||B)-(A&&B)" in the place of "A XOR B".
Code : Tout sélectionner
Begin OnActivate
if IsActionRef player == 1
; display message box of possible weapons
set HasItems to 0
if GetHasNote SchematicsBottlecapMineNote == 1 || GetHasNote SchematicsDartGunNote == 1 || GetHasNote SchematicsDeathclawGauntletNote == 1
set HasItems to 1
endif
if GetHasNote SchematicsNukaCocktailNote == 1 || GetHasNote SchematicsRailwayRifleNote == 1 || GetHasNote SchematicsRockitLauncherNote == 1 || GetHasNote SchematicsShishkebabNote == 1
set HasItems to 1
endif
if GetHasNote SchematicsBottlecapMineNote10 == 1 || GetHasNote SchematicsDartGunNote10 == 1 || GetHasNote SchematicsDeathclawGauntletNote10 == 1
set HasItems to 1
endif
if GetHasNote SchematicsNukaCocktailNote10 == 1 || GetHasNote SchematicsRailwayRifleNote10 == 1 || GetHasNote SchematicsRockitLauncherNote10 == 1 || GetHasNote SchematicsShishkebabNote10 == 1
set HasItems to 1
endif
if GetHasNote SchematicsBottlecapMineNote20 == 1 || GetHasNote SchematicsDartGunNote20 == 1 || GetHasNote SchematicsDeathclawGauntletNote20 == 1 || GetHasNote SchematicsRockitLauncherNote30 == 1
set HasItems to 1
endif
if GetHasNote SchematicsNukaCocktailNote20 == 1 || GetHasNote SchematicsRailwayRifleNote20 == 1 || GetHasNote SchematicsRockitLauncherNote20 == 1 || GetHasNote SchematicsShishkebabNote20 == 1
set HasItems to 1
endif
if HasItems == 1
ShowMessage SchematicsWorkbenchMsg
else
ShowMessage SchematicsWorkbenchNoneMsg
endif
endif
End
Personellement, j'aurais mis tout les "if GetHasNote" sur une seule ligne. J'espère que c'est pas limité à 4 conditions (j'ai un objet ou deux qui ont besoin de 6 objets pour être fabriqués, dc 6 variables). Sûrement pour que ça soit plus agréable à lire.
Enfin, voilà, je crois avoir saisi comment il fallait procéder. Pour le moment, je n'en suis qu'à modifier un script existant. J'ose pas encore penser à taper un script de rien. J'ferais les tutoriels pour beginners plus tard.
Pour les appels de script, oui, j'avais pensé à ça, appeler un script par "bouton"/catégorie d'objet à construire. Parce que le script terminé avec le minimum de commentaire pèse déja 72Kb. En effet, ce sera plus facile pour rajouter des armes à fabriquer. J'vais aller voir sur F3N, ils doivent déja savoir comment faire.
Si j'ai besoin d'aide ou des questions, tu peux être sür que je reviendrais içi même pour demander. J'ai aucun scrupule de ce coté là!
