JeuxOnLineForumsPlusConnectés : 652 (sites) | 1233 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
Avatar de Coursier
Coursier
Alpha & Oméga
 
Avatar de Coursier
 
Question

Emprisonnement ?

Voilà j'ai un objet qui me permet de téléporter une cible dans une des 7 cellules.

J'ai 2 scripts et un dialogue pour des menottes.
Le problème c'est que la cible qui doit cliquer sur le plaçable, les menottes qui ouvrent le dialogue qui lui permet de s'emprisonner lui même.

Et moi, je voudrais l'emprisonner quand je le téléporter comment faire ?

Dialogue pour les menottes :
[Propriétaire]Choisir une action.
-> Etre menotté. (Attention ! Vous pouvez uniquement être libéré avec la bonne clé !) [FIN DE DIALOGUE]
~ ->Ouvrir les menottes. [FIN DE DIALOGUE]
->Ne rien faire. [FIN DE DIALOGUE]

scripts :
shackle_activ

void main()
{
object oPC=GetLastUsedBy();
AssignCommand(oPC, ActionStartConversation(oPC, "shackle", TRUE));
}
**********
shackle_activ

#include "nw_i0_tool"

void main()
{
object oPC = GetPCSpeaker();
object oWP = GetNearestObjectByTag("WP_Shackle", oPC);
object oShackle=GetNearestObjectByTag("Shackle", oPC);
location lShackle = GetLocation(oShackle);
int counter;
int x=GetLocalInt(oShackle, "InUse");

if (x<1)
{
SetLocalObject(oShackle, "Prisoner", oPC);
SetLocalInt(oShackle, "InUse", 1);
SetLocalInt(oShackle, "knockdown", 1);
//SetLocalInt(oPC, "shackled6", 1);
ActionPauseConversation();

AssignCommand(oPC, JumpToObject(oWP));

float fDirectionbase = GetFacing(oWP);

DelayCommand(1.95, AssignCommand(oPC, SetFacing(0.0f)));
DelayCommand(1.5,PlaySound("as_na_branchsnp3"));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_BELT, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_NECK, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC))));
DelayCommand(0.5,AssignCommand(oPC,ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC))));

DelayCommand(2.0,ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectKnockdown(), oPC));
//DelayCommand(2.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectKnockdown(), oPC, 20.0f));
DelayCommand(2.05,SetFacing(fDirectionbase));

CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solblue", lShackle,FALSE);
//DelayCommand(2.5,SetCommandable(FALSE, oPC));

// x=GetLocalInt(oShackle, "InUse");

//while (x>0)
// {
// x=GetLocalInt(oShackle, "InUse");
// AssignCommand(oPC, ClearAllActions());
// AssignCommand(oPC, JumpToObject(oWP));
// DelayCommand(3.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectKnockdown(), oPC, 6.0f));
// AssignCommand(oPC, ActionWait(5.0f));
// }

DelayCommand(3.5,ActionResumeConversation());
}
}
*******
shacklekey

#include "nw_i0_tool"

int StartingConditional()
{

// Make sure the PC speaker has these items in their inventory
if(!HasItem(GetPCSpeaker(), "ShackleKey"))
return FALSE;

return TRUE;
}
***********
script pour téléporter dans une des cellules

teleport_jcell1

void main()
{

object oDMWP = GetObjectByTag("wp_jailcell1");
object oTeleportTarget = GetLocalObject(OBJECT_SELF, "oTeleportTarget");

AssignCommand(oTeleportTarget, PlaySound("as_mg_telepout1"));
AssignCommand(oTeleportTarget, JumpToObject(oDMWP));
DestroyObject(OBJECT_SELF);

}
*************
js_i0_dmtchk

void DMItemTeleportActivated(object oDM, object oTarget);

void DMItemTeleportActivated(object oDM, object oTarget)
{
if (oTarget == OBJECT_INVALID)
{
SendMessageToPC(oDM, "Targeted object is invalid.");
return;
}

object oTeleTalk = CreateObject(OBJECT_TYPE_PLACEABLE, "tp_tb_dmteletlk0",GetLocation(oDM), FALSE);
SetLocalObject(oTeleTalk, "oTeleportTarget", oTarget);
SetCustomToken(2000, GetName(GetLocalObject(oTeleTalk, "oTeleportTarget")));

AssignCommand(oDM, ActionStartConversation(oTeleTalk, "", TRUE));
return;
}
****************
Dialogue pour la pierre d'emprisonnement :
[Propriétaire]Vous avez ciblé <CUSTOM2000>. Voulez vous téléportez cette cible à une cellule de la prison ? ou voulez vous effectuer une exécution sur cette cible ?
->Téléporter
->[Propriétaire]Dans quelle cellule l'enverrez vous ?
->Cellule 1 [FIN DE DIALOGUE]
->Cellule 2 [FIN DE DIALOGUE]
............

Je veux utiliser le dialogue des menottes quand j'ai choisi la cellule.


Pour les dialogues, comment fait on pour ne pas mettre propriétaire ou comment mettre fin de dialogue ? Que dois je faire ?

Comment modifier les scripts des menottes pour que la cible n'est pas à cliquer sur les menottes, mais quand je la cible pour la téléporter, je peux en même temps choisir de la menoter.

Quelqu'un peut il m'aider ?
Me donner quelques astuces ?

J'attends de vos nouvelles.

Merci d'avance.
__________________
Un petit pourboire, si 'ou plaît.
Lien direct vers le message - Vieux
Avatar de Skanzo Sylan
Skanzo Sylan
Empereur
 
Avatar de Skanzo Sylan
 
Utilise les balises [/PHP] et [PHP] pour tes codes, sinon on ne peut rien te dire. Même si tes scripts restent simple dans leur construction (pô de cascade de condition je veux dire) c'est beaucoup mieux de voir ton script avec le code couleur.

Pour ce qui est de la téléportation, je suis pô sûr que ce soit une bonne idée, enfin ça dépend du contexte.
En tout cas, j'essaierais d'utiliser un CutScene et un ForceFollow pour que le malfrat soit obligé de suivre le représentant de l'ordre jusqu'à la cellule.
Enfin ce n'est que mon avis

(j'essaierai aussi de bidouille un effectbeam pour faire apparaitre la chaine des menottes mais bon )
Lien direct vers le message - Vieux
Avatar de Coursier
Coursier
Alpha & Oméga
 
Avatar de Coursier
 
Peut on utiliser ceci ?
GetEnteringObject()

Est ce que si je téléporte une cible sur un objet placable, les menottes avec chaînes liées au sol, je peux utiliser GetEnteringObject() pour activer le script de fermeture des menottes sur la cible ?

Comment dois je m'y prendre ?
__________________
Un petit pourboire, si 'ou plaît.
Lien direct vers le message - Vieux
Avatar de Blam
Blam
Roi
 
Avatar de Blam
 
interessant mais
encore une fois j'ai ps tout compris dans ce script
Lien direct vers le message - Vieux
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
Citation:
Provient du message de Coursier
Peut on utiliser ceci ?
GetEnteringObject()

Est ce que si je téléporte une cible sur un objet placable, les menottes avec chaînes liées au sol, je peux utiliser GetEnteringObject() pour activer le script de fermeture des menottes sur la cible ?

Comment dois je m'y prendre ?
Pas comme ça en tout cas
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Emprisonnement ?
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 13h47.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite