Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Chair = Trone ??

Par BlackWings le 16/8/2002 à 17:01:19 (#1970934)

Salut,

Je cherche a faire assoire un PC sur un trone, de la même façon qu'il le ferait avec une chaise.

Le script de base se base sur l'objet oChair. Qu'en est-il pour le trone? J'ai essayer le script avec oChair mais çà ne marche pas :(



:merci:

Par Shanaee le 16/8/2002 à 17:07:51 (#1970963)

As tu essayé?

Ca marche avec un banc alors pourquoi pas avec un trone.

Suffit d'essayer :)

Par BlackWings le 16/8/2002 à 17:08:58 (#1970968)

Ben justement

C'est parce que l'ai essayer que je suis là à poser ma question de quiche :ange:


void main(){
ClearAllActions();
object oChair = GetNearestObjectByTag("TroneKlepen", OBJECT_SELF);
ActionSit(oChair);
}


Dans l'event du trone: OnUsed

Par Shanaee le 16/8/2002 à 17:25:21 (#1971040)

Essaye plutot ce script :

-----------------------------------------

void main()
{
object oChair = OBJECT_SELF;
if(!GetIsObjectValid(GetSittingCreature(oChair)))
{
AssignCommand(GetLastUsedBy(), ActionSit(oChair));
}
}

__________________________

Dans OnUsed évidement.

Par BlackWings le 16/8/2002 à 20:00:26 (#1971747)

Je suis une quiche :D

J'ai utiliser le deuxième script dans le thread stick sur les script prêt à l'emploi et çà à marcher directement :D

Merci quand même :merci: :merci:

petit rajout

Par Jedaï le 16/8/2002 à 20:13:26 (#1971823)

Le script de Shanaee à l'air parfait mais si tu veux savoir quelle erreur tu as commise, voilà : tu as demandé à ton trone de s'asseoir sur lui-même:monstre: ()ActionBidule() attribue son action à l'entité qui a appelé le script, ici le trône (quand on l'a utilisé). Pour donner une action à une autre entité il faut utiliser AssignCommand(oLa2emeEntité, ActionBidule()); comme l'a fait Shanaee. Par ailleurs comme cette fonction ne fait qu'ajouter l'action à la fin de la liste de la 2eme entité, il peut-être utile de rajouter un AssignCommand (GetLastUsedBy(), ClearAllAction()); avant. :cool:

Par BlackWings le 17/8/2002 à 11:27:32 (#1974032)

Dans le même cadre d'idée:

J'ai 2 banc, de part et d'autre d'une porte.
Sur le onUsed de chacun des 2 (BP) j'ai mis ceci:


void main()
{
object chaise;

//le tag de la chaise
chaise = GetObjectByTag("benchsit");

//fait agir l'object le plus proche de la chaise cad le joueur
//l'action est de s'assoir
AssignCommand(GetNearestObject(OBJECT_TYPE_CREATURE,chaise,1),ActionSit(chaise));
}


Problème: Quand le PC veut s'asseoire sur le banc en face de lui, il va s'asseoire sur l'autre banc qui n'est pas le "nearest" mais qui à le même tag vu que c'est un Blueprint.

:sanglote:

Par BlackWings le 17/8/2002 à 11:53:50 (#1974126)

C'est bon.

J'avais, comme la quiche que je suis, oublié de mettre un end Dialog dans la conversation.

Mais j'ai un autre problème:

Une fois la conversation démarré, mon PC se remet debout.

Comment le laisser assis durant la conversation?

Par Kemay le 17/8/2002 à 12:36:08 (#1974299)

Comment le laisser assis durant la conversation?

réponse ici ;)

JOL Archives 1.0.1
@ JOL / JeuxOnLine