Page 1 sur 1

[SCRIPT] Comment déposer au sol un objet tenu en main ?

Posté : jeu. 23 juil. 2015, 22:29
par Cocrane
Dans le cadre d'une prise d'otages, je voulais que le Charname puisse déposer l'arme à la main au sol. Le nom de l'arme étant inconnue. ;)

Je n'ai pas vu d'action permettant d'identifier l'arme à la main pour pouvoir ensuite la déposer au sol.

Action possible?

Posté : ven. 24 juil. 2015, 00:06
par Freddy_Gwendo
As-tu essayé ceci via un sort :
Spell Effect: Drop Weapons in Panic [264]

Applies the drop weapons effect to the targetted creature(s), in the style specified by the 'Type' field.
This effect causes the targetted creature(s) to drop a piece of equipment.
It won't affect items marked as 'critical'

Known values for 'Type' are:
0 Drop random equipment
1 Drop only weapons (won't drop the left-hand weapon).

Posté : lun. 27 juil. 2015, 22:33
par Cocrane
Merci pour le tuyau.

j'"ai donc crée un nouveau sort et ajouté dans SPELL.IDS.

Puis je lance:

forcespell("LE_4","PUT_ITEM_FLOOR")


Ca fonctionne impec sauf que le personnage ciblé incante. Je n'ai pas trouvé le moyen de couper l'incantation et de produire l'effet aussitôt.


Cocrane

Posté : lun. 27 juil. 2015, 23:16
par Freddy_Gwendo
Dans la mesure du possible, évite de toucher au fichier SPELL.IDS.

Tu peux gérer les sorts avec les mêmes actions dotées du suffixe RES. Exemple de IETME :
113 ForceSpell(O:Target,I:Spell*Spell)
113 ForceSpellRES(S:RES*, O:Target)
113 ForceSpellRES(S:RES*, O:Target,I:CastingLevel)


This action causes the active creature to cast the specified spell at the target object. The spell need not currently be memorised by the caster, and will not be interrupted while being cast. The caster must meet the level requirements of the spell. For the RES version of the action, the spell name can not consist of only numbers, should be written in upper case and should be no more than 7 characters long. This action may not be reliable. The example script is from suelfw9.bcs.

Code : Tout sélectionner

  IF
    Global("Scene2","AR2800",2)
    See([ENEMY])
    Global("Fight","LOCALS",2)
  THEN
    RESPONSE #100
      IncrementGlobal("Fight","LOCALS",1)
      ForceSpell([ENEMY],WIZARD_POWER_WORD_SLEEP)
  END

Il suffit d'inverser la cible et le sort.

Dans ton cas, ça donnerait : ForceSpellRES("nom du fichier de sort","LE_4") avec "nom du fichier de sort" ("monsort" de monsort.spl) correspondant au sort PUT_ITEM_FLOOR que tu avais intégré dans le fichier SPELL.IDS


Quant à l'incantation, attribue la valeur 00 Schoolless aux champs School/graphic settings, Primary et secondary schools et School exclusion.
Puis transforme ton sort en "innate" (aussi bien dans l'écran principal - 0-Special - que dans l'onglet des effets - Required level) sans oublier de le coder en niveau 1.

Enfin, pour éviter l'incantation, règle la vitesse (speed) à 0.

Posté : mar. 28 juil. 2015, 21:14
par Cocrane
Merci Freddy.
Mon problème est résolu suite à tes conseils. ;)

Le protecteur pourra déposer les armes si le désire. ^^

Cocrane

Posté : mar. 28 juil. 2015, 21:45
par Freddy_Gwendo
De rien, celui-ci n'était pas trop compliqué. ;)

D'ailleurs, c'est plutôt original d'utiliser cette action dans ce contexte. Je n'y aurais jamais pensé... ^^

Tant mieux si ça marche. :)

Posté : mer. 29 juil. 2015, 22:20
par Cocrane
Oui, j'espère que mon mod sera original.

En tout, je rame pour le coder. ^^