JeuxOnLineForumsPlusConnectés : 493 (sites) | 958 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > SpawnPoint en fonction de la race ? (OnEnter Seulement) RSS
   
Répondre
Partager Outils Rechercher
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 

Atterissage orienté.

Salut tout le monde,

Je prépare un module orienté action (Les Chroniques de Féerune) et je bloque sur quelque chose d'important.

J'ai crée une ville par Race de personnage et j'aurai aimé qu'ils rejoingnent directement la ville de naissance dés leur première connexion et JUSTE à leur premiere connexion, la persistance prendra le relais.

Si un petit génie du script passe par là, qu'il s'arrête un instant

(du moins si c'est possible de le créer).

Merci.
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
L'astuce, dans ce cas, c'est de creer une zone d'arrivée du module, et de re-orienter les pj a partir de cette zone d'arrivée
(par exemple, faire un trigger qui Jump les pj en fonction de leur race dans son OnEnter, juste sur le point d'arrivée)
Lien direct vers le message - Vieux
Avatar de Elmo
Elmo
Alpha & Oméga
 
Avatar de Elmo
 
ptet en tripotant le OnClientEnter en mettant des JumpTo Waypoint selon les races enfin j'dis ça je dis rien
Lien direct vers le message - Vieux
Avatar de Mel Ethybem
Mel Ethybem
Roi
 
Avatar de Mel Ethybem
 
Oui, moi j'ai fait pareil sur un de mes modules. Le trucs était d'aller parler à la prêtresse du monde qui envoie le PJ dans le monde proprement dit. Le PJ était envoyé dans un endroit bien spécifique à sa race... C'est pareil. Fais un trigger sur le start point et tu dois taper un script.
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Savez vous le script à placer dans le OnEntrer du Trigger par exemple ? J'ai éssayé de le faire ou de trouver l'équivalent mais sans résultat.
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Un Modérateur peut-il editer mon titre (qui n'est pas trés explicite) pour une meilleure chance d'avoir une réponse ?

Merci d'avance.
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Oui, il faut jouer sur le OnClientEnter : va voir le permanent sur les scripts, il y a un script qui ressemble pas mal à ça.
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
J'ai trouvé celui là qui m'a l'air d'un bon début mais même si c'est pour une zone il doit être adaptable pour le OnEnterClient du module mais il me manque 2 choses.

Code PHP:
void main()
{
     
object oJoueur GetEnteringObject ();
     
int iRaceDuJoueur GetRacialType (oJoueur);
     switch (
iRaceDuJoueur)
     {
          case 
RACIAL_TYPE_DWARF :
          
location ldepart_nain GetLocation (GetObjectByTag ("WP_depart_nain"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_nain));
          break;
     }


-Signaler cette fonction juste pour la 1ere connextion d'un joueur (si possible essayer de signaler qu'il faut 0xp pour accéder à la zone de départ et filer 1xp dés qu'il la franchie).

-Apparement, ce script est fait pour juste une race, pour le mien il faudrait gérer les 6 races du jeu avec un Wp bien précis pour chacune.
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Citation:
Provient du message de The Grouch
J'ai trouvé celui là qui m'a l'air d'un bon début mais même si c'est pour une zone il doit être adaptable pour le OnEnterClient du module mais il me manque 2 choses.

Code PHP:
void main()
{
     
object oJoueur GetEnteringObject ();
     
int iRaceDuJoueur GetRacialType (oJoueur);
     switch (
iRaceDuJoueur)
     {
          case 
RACIAL_TYPE_DWARF :
          
location ldepart_nain GetLocation (GetObjectByTag ("WP_depart_nain"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_nain));
          break;
     }

-Signaler cette fonction juste pour la 1ere connextion d'un joueur (si possible essayer de signaler qu'il faut 0xp pour accéder à la zone de départ et filer 1xp dés qu'il la franchie).

-Apparement, ce script est fait pour juste une race, pour le mien il faudrait gérer les 6 races du jeu avec un Wp bien précis pour chacune.


Il te suffit de rajouter des Case montés comme celui dans la boucle :
exemple :
Code PHP:
void main()
{
     
object oJoueur GetEnteringObject ();
     
int iRaceDuJoueur GetRacialType (oJoueur);

if (
GetXP(oJoueur)==0)
{     switch (
iRaceDuJoueur)
     {
          case 
RACIAL_TYPE_DWARF :
          
location ldepart_nain GetLocation (GetObjectByTag ("WP_depart_nain"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_nain));
          break;

          case 
RACIAL_TYPE_HUMAN :
          
location ldepart_human GetLocation (GetObjectByTag ("WP_depart_human"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_human));
          break;
     }
SetXP(oJoueur,1);
}

etc, etc
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Mais ca m'a l'air du tout bon, Merci eMRaistlin et Jedaï aussi
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Problème avec mon script:

Code PHP:
void main()
{
     
object oJoueur GetEnteringObject ();
     
int iRaceDuJoueur GetRacialType (oJoueur);

if (
GetXP(oJoueur)==0)
{     switch (
iRaceDuJoueur)
     {
          case 
RACIAL_TYPE_DWARF :
          
location ldepart_nain GetLocation (GetObjectByTag ("WP_depart_nain"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_nain));
          break;

          case 
RACIAL_TYPE_HUMAN :
          
location ldepart_humain GetLocation (GetObjectByTag ("WP_depart_humain"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_humain));
          break;

          case 
RACIAL_TYPE_HALFLING :
          
location ldepart_halfelin GetLocation (GetObjectByTag ("WP_depart_halfelin"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_halfelin));
          break;

          case 
RACIAL_TYPE_ELF :
          
location ldepart_elfe GetLocation (GetObjectByTag ("WP_depart_elfe"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_elfe));
          break;

          case 
RACIAL_TYPE_GNOME :
          
location ldepart_gnome GetLocation (GetObjectByTag ("WP_depart_gnome"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_gnome));
          break;

          case 
RACIAL_TYPE_HALFELF :
          
location ldepart_demielfe GetLocation (GetObjectByTag ("WP_depart_demielfe"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_demielfe));
          break;

          case 
RACIAL_TYPE_HALFORC :
          
location ldepart_demiorcque GetLocation (GetObjectByTag ("WP_depart_demiorque"));
          
AssignCommand (oJoueurActionJumpToLocation (ldepart_demiorque));
          break;
     }
SetXP(oJoueur,1);
}

Il me met une erreur de skipping declaration via "case" statement disallowed à la ligne 14 (case RACIAL_TYPE_HUMAN)

J'avoue que je ne vois pas ce qui cloche dans ce script

Il veut bien du premier choix alors pourquoi pas les autres ???
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
verifie si la constante RACIAL_TYPE pour les humain est bien RACIAL_TYPE_HUMAN (j'ai tape ca du boulot... ca avait l'air correct, mais bon, y'a peut-être une subtilite que j'aurais oublié ^^)
Lien direct vers le message - Vieux
Avatar de The Grouch
The Grouch
Roi
 
Avatar de The Grouch
 
Ouai ca m'avait l'air trés bon aussi

Et oui, c'est bien la bonne constante.
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
arg, g eu ce pb une fois ...
deux en fait
la premire, g tt éffacé et retapper, ca a marché
la deuxieme, je mis des { après les : et des } après les break; ... oui y a pas de raison mais ca a marché
g tjrs pas trouvé a quoi ca correspondait cette erreur ...
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Il me semble qu'il y a toujours un problème avec les déclaration à l'intérieur des case : essaie de déclarer ta location à l'extérieur (ou ne la déclare pas du tout ).
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > SpawnPoint en fonction de la race ? (OnEnter Seulement)
   

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 12h48.
   

© 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