besoin d'aide pour le onperceived

Répondre
Partager Rechercher
Bonjour je voudrai que des qu'un PJ s'approche de la pierre , la pierre regarde si le PJ a le bon item dans son inventaire et elle fait apparaître un WP sinon elle ne fait rien apparaître.

je c'est que je doit faire ça dans le onperceived mais je ne c'est pas comment


Merci
S'il s'agit d'un placeable, se serait plutôt à mettre sur le OnHeartbeat du placeable avec quelque chose du genre :
Code PHP:

void main()
{
    
object oPlayer GetNearestCreature(CREATURE_TYPE_PLAYER_CHARPLAYER_CHAR_IS_PC);

    if (
oPlayer == OBJECT_INVALID) return;
    if (
GetDistanceToObject(oPlayer ) > 5.0) return;
    if (
GetItemPossessedBy(oPlayer"tag_item") == OBJECT_INVALID) return;
// Si toutes les conditions sont remplies alors tu peux ouvrir ton portail à partir d'ici


A noter que la distance de déclenchement sera de 5m.

Attention, les scripts sur les OHB peuvent provoquer du lag...
En fait, un object plaçable n'a pas du tout d'évènement OnPerceived. Je proposerais plutôt un trigger placé autour de la pierre, et avec sur le Onenter :

Code PHP:

void main()
{
    
object oEntering GetEnteringObject();

    if(
GetItemPossessedBy(oEntering"TAG DE L'OBJET") != OBJECT_INVALID
       
&& GetIsPC(oEntering))
    {
        
// Creation du portail
    
}

@Sherazade : GetItemPossessedBy renvoie un objet, et pas un entier ! Si tu ne connais pas tes fonctions sur le bout des doigts, qu'est-ce qu'on va bien pouvoir faire de toi ? Hein ? tsss.

ok merci ça marche nikel
dsl pour le retard je cherchai sur le vault.

Mais j'ai besoin d'une autres petite chose car je sais quasiment pas scripter si vous pouviez me montrer comment on cree le portail ( c'est a dire quel fonction on utilise)
ce serais simpas

Merci
Tout dépend de ce que tu entend par "portail" en fait.

Tu aura probablement besoin de créer un objet plaçable, sur lequel le joueur devra cliquer pour "emprunter" le portail. Pour cela, il faut utiliser la fonction CreateObject.

Sinon, tu peux aussi appliquer un effet visuel (VFX) sur la pierre dont tu parle au début, et faire en sorte que le joueur emprunte le portail lorsqu'il clique sur la pierre (et que le VFX est allumé, évidemment).

Et puis après, faut voir aussi où tu veux que ton portail mène
Quand je met ca dans le compileur

Code PHP:

void main()
{
    
object oEntering GetEnteringObject();

    if(
GetItemPossessedBy(oEntering"PARCH_TRITRAM") != OBJECT_INVALID
       
&& GetIsPC(oEntering))
    {
        
// Creation du portail
CreateObject(OBJECT_TYPE_PLACEABLE,nw_recall_portal,"WP_TRISTRAM",FALSE);
    }



Il me donne ce message d'erreur

22/08/2004 16:10:40 : Erreur. 'pierre_de_cain' n’est pas compilé.
pierre_de_cain.nss(9): ERREUR : VARIABLE DEFINED WITHOUT TYPE

pourtant j'ai fait comme il m'on dit sur ce site pour la fonction

http://nwnscript.coldwire.net/
Ta variable non reconnue, c'est le resref de portail que tu n'as pas mis entre guillemets. Cela dit, à mon humble avis, tu as complètement mélangé les paramètres à passer à CreateObject(). Relis la fonction et corrige.
D'autre part, CreateObject() nécessite une position où créer l'objet : GetLocation(GetWaypointByTag("TAG_DE_TON_WP"))

(HS: Salut Ketil, elle est toute pâle ta langue aujourd'hui ! )
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés