JeuxOnLineForumsPlusConnectés : 697 (sites) | 1215 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [Script] PASSAGE SECRET sans besoin d'objets clickable RSS
   
Répondre
Partager Outils Rechercher
Avatar de Daynos de Nory
Daynos de Nory
Alpha & Oméga
 
Avatar de Daynos de Nory
 

[Script] PASSAGE SECRET sans besoin d'objets clickable

Initialement posté par Tonton

PASSAGE SECRET sans besoin d'objets clickable...et qui sera connu par le groupe entier sans besoin que chaque joueur le trouve (il fera apparaitre l'icone "passage" sur le triggers )

faire un trigger generic et dans sa partie script "on enter" mettre :

[PHP]
int secret_crypt_party_flag=0;
void main()
{
int difficulty = 20;
object oPlayer = GetNearestCreature (CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1);
int search_score = GetSkillRank(SKILL_SEARCH, oPlayer);
if ( (d20(1)+search_score > difficulty) || GetLocalInt (GetModule (), "secret_crypt_party_flag") )
{
SetMapPinEnabled (GetObjectByTag ("NW_SD_CRYPT", 0), 1);
SetLocalInt (GetModule(), "secret_crypt_party_flag", 1);
ActionStartConversation (oPlayer, "crypt_sd", TRUE);
}
}


1) la 'difficulty' est le DC pour trouver la porte secret).
2) le oPlayer est la creature la plus proche (celle qui a marché sur le trigger)
3) search_score est le jet "de fouille/chercher"
4) le 'secret_crypt_party_flag' est utiliser pour donner la connaissance du passage aux autres membres du groupe.

5) le SetMapPin valide un Waypoint qui est coller dans l'area ou se trouve le trigger de la porte secrete.

le ActionStartConversation appelle un dialogue (qu'il faut nommer "crypt_sd") -> message d'intro "prendre la porte secrete?" (seule le joueur qui trouve le passage verra le dialogue)
il faut faire 2 choix dans le dialogue:
1. le prendre
2. ne pas le prendre

si le joueur choisit de "le prendre"
le script suivant est appelé : (dans la partie script "action taken" du choix "le prendre")

Code PHP:
void main()
{
    
object oPlayer GetPCSpeaker();
    
object oTargetArea GetObjectByTag ("NW_CRYPT_START"0);
    
AssignCommand (oPlayerActionJumpToLocation (GetLocation (oTargetArea)));

le resultat est une teleportation du joueur qui dialogue au waypoint dans dont le tag est NW_CRYPT_START

scipt by zug sur forum bioware (téste & marche)
Lien direct vers le message - Vieux
Compte #21157
Invité
 
Ce script ne se compile pas (erreur ligne 16)
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Dis moi mon cher Zariel, tu as bien évidemment commenter la partie explicative :



Code PHP:
1la 'difficulty' est le DC pour trouver la porte secret).
2le oPlayer est la creature la plus proche (celle qui a marché sur le trigger)
3search_score est le jet "de fouille/chercher"
4le 'secret_crypt_party_flag' est utiliser pour donner la connaissance du passage aux autres membres du groupe.

5le SetMapPin valide un Waypoint qui est coller dans l'area ou se trouve le trigger de la porte secrete.

le ActionStartConversation appelle un dialogue (qu'
il faut nommer "crypt_sd") -> message d'intro "prendre la porte secrete?" (seule le joueur qui trouve le passage verra le dialogue)
il faut faire 2 choix dans le dialogue:
1. le prendre
2. ne pas le prendre

si le joueur choisit de "le prendre"
le script suivant est appelé : (dans la partie script "action taken" du choix "le prendre") 
De plus tu as bien suivi ces instructions et tu as mis chacun des deux scripts dans des endroits différents ?

Je te pose ces questions parce qu'aucun de ces deux scripts ne fait plus d'une dizaine de ligne ....
Lien direct vers le message - Vieux
Compte #21157
Invité
 
Oui, pour le 2eme script héhé

Ben pour la partie explicative, la plupart des scripts se compilent avec...Désolé, Merci Jedaï
Lien direct vers le message - Vieux
Avatar de coolstar
coolstar
Alpha & Oméga
 
Avatar de coolstar
 
Lien direct vers le message - Vieux
Kakoo
Roi / Reine
 
bon ben dsl j ai essayer de mettre ça en place mais j ai pas tout compris , ça marche pas
Lien direct vers le message - Vieux
Avatar de Tyrion
Tyrion
Roi
 
Avatar de Tyrion
 
Code PHP:
int secret_crypt_party_flag=0;
void main()
{
    
int difficulty 20;
    
object oPlayer GetNearestCreature (CREATURE_TYPE_PLAYER_CHARPLAYER_CHAR_IS_PCOBJECT_SELF1);
    
int search_score GetSkillRank(SKILL_SEARCHoPlayer);
    if ( (
d20(1)+search_score difficulty) || GetLocalInt (GetModule (), "secret_crypt_party_flag") )
    {
        
SetMapPinEnabled (GetObjectByTag ("NW_SD_CRYPT"0), 1);
        
SetLocalInt (GetModule(), "secret_crypt_party_flag"1);
        
ActionStartConversation (oPlayer"crypt_sd"TRUE);
    }
}

/*
1) la 'difficulty' est le DC pour trouver la porte secret).
2) le oPlayer est la creature la plus proche (celle qui a marché sur le trigger)
3) search_score est le jet "de fouille/chercher"
4) le 'secret_crypt_party_flag' est utiliser pour donner la connaissance du passage aux autres membres du groupe.

5) le SetMapPin valide un Waypoint qui est coller dans l'area ou se trouve le trigger de la porte secrete.

le ActionStartConversation appelle un dialogue (qu'il faut nommer "crypt_sd") -> message d'intro "prendre la porte secrete?" (seule le joueur qui trouve le passage verra le dialogue)
il faut faire 2 choix dans le dialogue:
1. le prendre
2. ne pas le prendre

si le joueur choisit de "le prendre"
le script suivant est appelé : (dans la partie script "action taken" du choix "le prendre")*/


void main()
{
    
object oPlayer GetPCSpeaker();
    
object oTargetArea GetObjectByTag ("NW_CRYPT_START"0);
    
AssignCommand (oPlayerActionJumpToLocation (GetLocation (oTargetArea)));

Lien direct vers le message - Vieux
Kakoo
Roi / Reine
 
Ben ok Tyrion mais là ça m explique pas plus j'avais lu les 1er post et je pige pas les liens entres les zone, le WP doit etre dans la meme carte ? faut une declencheur ailleurs , on mets koi dedan en gros comment ça marche ?
Lien direct vers le message - Vieux
HALLANINQUE
Roi / Reine
 
J'ai enfin compris comment ça marche Je vais me permettre d'expliquer un peu plus clairement le principe car j ai galeré 4H pour capter comment ça marchait.
voila je pense la methode la plus simple.
1) Creer 2 zones de transition, et les lieer comme pour un changement de zone.

2)Placer un declancheur generique a l'endroit ou vous voulez que le test de decouverte du passage se fasse

3)Placer dans ce declencheur le 1er script dans le OnEnter

Code PHP:
int secret_crypt_party_flag=0;
void main()
{
    
int difficulty 20;
    
object oPlayer GetNearestCreature (CREATURE_TYPE_PLAYER_CHARPLAYER_CHAR_IS_PCOBJECT_SELF1);
    
int search_score GetSkillRank(SKILL_SEARCHoPlayer);
    if ((
d20(1)+search_score difficulty) || GetLocalInt (GetModule (), "secret_crypt_party_flag") )
    {
        
SetMapPinEnabled (GetObjectByTag ("NW_SD_CRYPT"0), 1);
        
SetLocalInt (GetModule(), "secret_crypt_party_flag"1);
        
ActionStartConversation (oPlayer"crypt_sd"TRUE);
    }

4)Lorsque les 2 zones ont été crées, 2 point de passage sont apparu 1 dans chacune des zone, le scrpit influe sur le le point de passage de "depart" donc changer son tag par celui du script,
==> NW_SD_CRYPT

5)Creer le dialogue
le ActionStartConversation appelle un dialogue (qu'il faut nommer "crypt_sd") -> message d'intro "prendre la porte secrete?" (seule le joueur qui trouve le passage verra le dialogue)
il faut faire 2 choix dans le dialogue:
1. le prendre
2. ne pas le prendre

6)Et mettre le script si acceptation de prendre le passage dans ActionTaken
Code PHP:
void main()
{
    
object oPlayer GetPCSpeaker();
    
object oTargetArea GetObjectByTag ("NW_CRYPT_START"0);
    
AssignCommand (oPlayerActionJumpToLocation (GetLocation (oTargetArea)));

Voilà j'espere avoir ete plus clair pour tous

bye bye

Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [Script] PASSAGE SECRET sans besoin d'objets clickable
   

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 17h17.
   

© 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