Armand Mexicanos Muy Bien
Nombre de messages : 622 Age : 38 Localisation : Tréfonds Obscurs Date d'inscription : 29/07/2008
| Sujet: Action de l'iesdp Sam 29 Mai 2010 - 15:52 | |
| Pour les besoins du nouvel editeur sur lequel bosse cocrane j'ai entrepris de traduire les actions que référence IESDP. Y'en a à peu prés 350 je crois donc voila déja les 10 premiéres : - Spoiler:
0 NoAction() Cette action peut etre utilisé pour ne rien faire - la plupart des personnages marchent au hasard ou reste sur place sans rien faire :
IF True() THEN RESPONSE #50 RandomWalk() RESPONSE #50 NoAction() END
Cette commande met egalement le ModalState (l'état, le mode) de la créature à 0, et peut ainsi être utilisé pour mettre fin à d'autres "modes" (Le chant du barde apr exemple).
IF ModalState(BATTLESONG) THEN RESPONSE #100 NoAction() END
NoAction() est également utilisé couramment as a hanging action in targeting blocks. This is a matter of good practice rather than necessary. The NoAction() action will never be rum since the block always returns false, but the having an action in the scripting block allows scripting programs to accurately check for errors.
IF See(NearestEnemyOf(Myself)) False() THEN RESPONSE #100 NoAction() END - Spoiler:
1 ActionOverride(O:Actor*,A:Action*) Cette action peut etre utilisée pour controler une autre creature. Une creature faisant référence au résultat de SetTokenObject ne constitue pas une cible valide pour un ActionOverride. Ce qui suit est tiré de la cutscene d'irenicus aprés vous être echappé de sa demeure dans le chapitre 1. IF True() THEN RESPONSE #100 CutSceneId(Player1) Wait(1) FadeToColor([20.0],0) Wait(2) JumpToPoint([869.340]) MoveViewPoint([909.346],INSTANT) ActionOverride(Player2,JumpToPoint([825.370])) ActionOverride(Player3,JumpToPoint([886.384])) ActionOverride(Player4,JumpToPoint([952.386])) ActionOverride(Player5,JumpToPoint([987.362])) ActionOverride(Player6,JumpToPoint([1005.404])) Face(10) ActionOverride(Player2,Face(10)) ActionOverride(Player3,Face(10)) ActionOverride(Player4,Face( ) ActionOverride(Player5,Face(6)) ActionOverride(Player6,Face(6)) ActionOverride("Anomen",JumpToPoint([909.346])) ActionOverride("Anomen",Face(10)) Wait(1) FadeFromColor([20.0],0) Wait(2) ActionOverride("Anomen",StartDialogueNoSet(Player1)) END
- Spoiler:
2 AddWayPoint(P:WayPoint*) Cette action est utilisée pour y installer des points de passages (WayPoint) afin qu'une creature puisse s'y deplacer; on l'utilise généralement dans les scripts de zone pour scripter le déplacement des serveuses dans leur trajet autour du bar. Le "point parameter" represente les coordonnées X et Y du point de passage à ajouter.
IF Global("KRNEWWAY","GLOBAL",0) THEN RESPONSE #100 SetGlobal("KRNEWWAY","GLOBAL",1) AddWayPoint([100.200]) AddWayPoint([200.300]) END
Le script qui suit, qui nous montre comment se déplacer via les points de passage pre-selectionnés dans le fichier zone (are), est extrait de celui de la serveuse à la Couronne de Cuivre.
IF Detect([PC]) Allegiance(Myself,NEUTRAL) Global("quest1","LOCALS",0) THEN RESPONSE #100 MoveToObject("Way3") ActionOverride("DRUNK2",DisplayStringHead(Myself,4592) Wait(1) DisplayStringHead(Myself,4604) Wait(2) MoveToObject("Way4") Wait(1) MoveToObject("Way3") DisplayStringHead(Myself,4611) Wait(2) SetGlobal("quest1","LOCALS",1) END
- Spoiler:
3 Attack(O:Target*) Cette action ordonne à la créature concernée d'attaquer la cible sans discontinuer, c'est à dire que la créature ne changera pas de cible jusqu'à que sa cible actuelle soit éliminée.
IF See([EVILCUTOFF]) Class(LastSeenBy(),MAGE_ALL) !InParty(LastSeenBy()) THEN RESPONSE #100 Attack(LastSeenBy()) END
- Spoiler:
5 BackStab(O:Target*) Cette action ordonne à la créature concernée de "backstaber" la cible designée. Précisons que certaines créatures (les dragons et les golems notament) son immunisé au backstab, que l'on ne peut pas "backstabbé" avec certaines armes, et que la créature concernée doit être cachée pour pouvoir réussir son backstab. Cette action peut faire cracher le jeu. Du moment que ces conditions sont remplis, la premiére attaque d'une créature cachée comptera comme une attaque de backstab.
IF See(NearestEnemyOf()) Range(NearestEnemyOf(),4) !Race(NearestEnemyOf(),DRAGON) !Race(NearestEnemyOf(),GOLEM) !InParty(NearestEnemyOf(Myself)) OR(2) StateCheck(Myself,STATE_INVISIBLE) StateCheck(Myself,STATE_IMPROVEDINVISIBLITY) THEN RESPONSE #100 Attack(NearestEnemyOf()) END
- Spoiler:
7 CreateCreature(S:NewObject*,P:Location*,I:Face*) Cette action est utilisée pour générer une creature - que ce soit un NPC, une creature neutre ou un ennemi. "NewObject" est le nom du fichier de la créature à générer, "Location" designe les coordonnée ou générer la creature (au format [x.y]) et "Face" étant la direction vers laquelle la créature est tournée (Cette valeur pouvant être comprise entre 0 et 15, sachant que 0 désigne le Sud et que la valeur "Face" augmente au fur et à mesure que le personnage pivote dans le sens des aiguilles d'une montre). On peut noter que que les coordonnées suivantes [-1.-1] générera la créature à coté de la créature selectionné (DE QUELlE CREATURE PARLE TON ?).
Ce script est tiré du script de zone de la Couronne de Cuivre (AR0406) et génére des gardes quand le joueur est decouvert en dehors des limites de la zone.
IF Global("CopperGuards","GLOBAL",1) THEN RESPONSE #100 CreateCreature("ccguard1",[2338.412],14) CreateCreature("ccguard2",[2318.457],14) CreateCreature("ccguard1",[2749.793],6) CreateCreature("ccguard2",[2791.831],6) CreateCreature("ccguard1",[1981.762],14) CreateCreature("ccguard1",[1286.1500],14) END
- Spoiler:
8 Dialogue(O:Object*) 8 Dialog(O:Object*) Cette action ordonne à la créature concernée d'intier un dialogue avec la créature visée. Le dialogue ne sera pas initié si la créature qui est en train d'utiliser cette action s'est vu assigné un dialogue that has all top level conditions returning false.
IF GlobalTimerExpired("Yeslick","GLOBAL") Global("FLOODED","GLOBAL",0) THEN RESPONSE #100 Dialogue([PC]) END
- Spoiler:
9 DropItem(S:Object*,P:Location*) Cette action ordonne à la créature concernée d'abandonner l'objet designé à l'endroit (location) specifié (relatif à la créature concernée). La créature en question doit avoir en sa possession l'objet à abandonné. On peut noter que que les coordonnées suivantes [-1.-1] laissera tomber l'objet à coté de la créature.
IF Clicked([ANYONE]) Range(LastTrigger,12) THEN RESPONSE #100 DropItem("SCRL1B",[345.1210]) END
- Spoiler:
10 Enemy() Cette action est utilisée pour changer l'allegeance (allegiance) de la créature concernée en "enemy" (la rendant hostile envers le PC). En exemple ce script, tiré de celui d'un paysan, rendra la creature hostile si elle est attaquée.
IF AttackedBy([GOODCUTOFF],Myself) Allegiance(Myself,NEUTRAL) THEN RESPONSE #100 Enemy() END
Il y a un petit passage dans l'action 1 en orange sur lequel j'ai calé et je m'interroge également sur la partie en orange de l'action 7. Voila si quelqu'un pouvait me donner un coup de main voir donner un avis général ça serait bien. Après tout on est une grande famille (même la petite bounouch on l'aime bien) ! | |
|
Kurokarasu Prétendant Cargoliste
Nombre de messages : 189 Localisation : De l'autre côté de la grande flaque d'eau... ce qui signifie que j'ai un certain décalage horaire :P Date d'inscription : 03/11/2008
| Sujet: Re: Action de l'iesdp Sam 29 Mai 2010 - 22:03 | |
| Pour le premier bloc en orange, je penche pour une simple faute de frappe... Tu as le mot «rum», qui désigne en anglais soit le rhum, soit un synonyme d'étrange, de particulier. Je suis sûr que l'auteur a voulu dire « run». Ceci étant dit, voici mon interprétation de cet extrait. - Citation :
- L'action NoAction() ne sera jamais exécutée [dans l'exemple qui suit] puisque le bloc retourne toujours faux, mais d'avoir une action dans le bloc de scripting permet de vérifier correctement la présence d'erreurs.
Quant à ton second extrait, il m'a fallu aller lire l'IESDP original. Je *crois* que la phrase qui parle des coordonnées [-1.-1] veut dire, si ces coordonnées sont spécifiées, que l'action CreateCreature va créer la créature demandée (par exemple, un gnoll) à côté de la créature active ou sélectionnée. Ceci dit, c'est sous toute réserve. J'espère t'avoir aidé, au moins pour ta première question | |
|
Zranoff Prétendant Cargoliste
Nombre de messages : 147 Age : 32 Localisation : Arles Date d'inscription : 14/02/2009
| Sujet: Re: Action de l'iesdp Sam 29 Mai 2010 - 23:55 | |
| Je confirme pour l'action 7, les coordonnées [-1;-1] font apparaître la créature à côté de la créature associée au script (créature active), c'est certain. AMHA Kurokarasu a raison pour l'action 1. | |
|
Armand Mexicanos Muy Bien
Nombre de messages : 622 Age : 38 Localisation : Tréfonds Obscurs Date d'inscription : 29/07/2008
| Sujet: Re: Action de l'iesdp Dim 6 Juin 2010 - 13:23 | |
| Ok merci beaucoup kuro et ça fait plaisir de revoir au fait... - Citation :
- Je confirme pour l'action 7, les coordonnées [-1;-1] font apparaître la créature à côté de la créature associée au script (créature active)
C'est justement mon problème la créature active est la créature qui fait l'objet d'un script. Hors l'on utilise l'action createcreature dans les script de zone non ? Alors dans ce cas quel est la créature active ? Cela veut-il dire que l'on peut utiliser des actions dans les script persos des creatures ? | |
|
Contenu sponsorisé
| Sujet: Re: Action de l'iesdp | |
| |
|