JeuxOnLineForumsPlusConnectés : 712 (sites) | 1243 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
loran
Roi
 

pb de script

bonjour,

j'ai un problème (et oui !
je vous explique le problème j'aimerai suivant le PJ selectionne
(barbare, mago, et rodeur) au debut pouvoir les faire arrivee sur un module bien précis

j'espere que c clair

merci d'avance
@+
loran
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
persistant.
Lien direct vers le message - Vieux
loran
Roi
 
le retour de l'homme bete
salut

désolé j'ai pas trouve

je ne sais même pas ou chercher ?

please help me

loran
Lien direct vers le message - Vieux
Avatar de Archamedes_Fr
Archamedes_Fr
Alpha & Oméga
 
Avatar de Archamedes_Fr
 
Les persistants sont à la racine du sous-forum Maskado, et plus précisément, ici.
Lien direct vers le message - Vieux
loran
Roi
 
oups moi pas comprendre
salut
bon autant vous prévenir tout de suite moi la prog je suis nul :bouffon:

un grand merci a Archamedes_Fr


j'ai trouvé ça :

Ce script permet de placer un Personnage à un point précis, à son entrée dans la zone.
A placer dans le onEnter de la zone.



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 (oJoueur, ActionJumpToLocation (ldepart_nain));
break;
}
}


mais alors la je sèche

que dois je modifier ou ajouter pour prendre en compte non pas la race, mais la classe des PJ

merci d'avance
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Utilise GetLevelByClass.

Et si level est non-null, c'est qu'il est de cette classe.
Lien direct vers le message - Vieux
loran
Roi
 
le retour des questions betes
salut

bon j'ai teste le script tel quel ok

j'ai ensuite remplace GetRacialType par GetLevelByClass
et la c la merde

pas facile de rien y comprendre pourtant j'ai essayé le tuto, mais a un moment je bloque .....

est-ce que quelqu'un a la solution a mon problème



@+
merci
loran
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
En fait, j'ai reflechi, mais il vaudrait mieux utiliser GetClassByPosition(1,oJoueur).

Et tu compare :
Code PHP:
switch GetClassByPosition(1,oJoueur)
{
case 
CLASS_TYPE_* :
AssignCommand(oJoueur,ActionJumpToObject(GetWaypointByTag("TAG"));

a la place du GetRacialType.
Lien direct vers le message - Vieux
loran
Roi
 
et oui je suis le boulet de la semaine
j'ai essayé mais la c'est la cata
bon en 1er une question il ne manque pas une ) a la commande assign ?
ou dois je inserer ces lignes dans mon script

PHP:
--------------------------------------------------------------------------------
switch GetClassByPosition(1,oJoueur)
{
case CLASS_TYPE_* :
AssignCommand(oJoueur,ActionJumpToObject(GetWaypointByTag("TAG"));
}

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

ps pour eMRaistlin c'etait sincere

desolé d'etre si inculte, mais j'ai deja realisé 80 pour 100 des maps, 75 des dialogues, et, ayant fait de la prog il y a longtemps (sur Amiga) je m'etais dit :bouffon: ce jeu est terrible et ca sera facile

ps2 j'ai pas pigé l'histoire du PHP
quelle misère ces debutant

merci
@+
loran
Lien direct vers le message - Vieux
loran
Roi
 
Unhappy
bon j'ai bosse comme un diable et le resultat se compil, mais a chaque execution c'est le 1er tag qui gagne, et ce quelque soit la class du PJ. Car l'effet demandé c'est suivant la class lui attribuer un tag

Code PHP:
void main()
{
  
object oJoueur GetEnteringObject ();
  
int iClassPJ GetClassByPosition(1,oJoueur);
  
location lDepart;
  {
  if(
iClassPJ == CLASS_TYPE_RANGER)
    
lDepart GetLocation (GetObjectByTag ("NW_rodeur"));
  else
    if (
iClassPJ == (CLASS_TYPE_BARBARIAN || CLASS_TYPE_FIGHTER))
        
lDepart GetLocation (GetObjectByTag ("NW_guerrier"));
    else
        if (
CLASS_TYPE_BARD || CLASS_TYPE_CLERIC || CLASS_TYPE_SORCERER || CLASS_TYPE_WIZARD)
            
lDepart GetLocation (GetObjectByTag ("NW_mago"));
        else
            
lDepart GetLocation (GetObjectByTag ("NW_defaut"));

  }
  
AssignCommand (oJoueurActionJumpToLocation (lDepart));

si quelqu'un peut m'aider c'est avec plaisir

merci
@+
loran
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
essaye de rajouter des {} sur tes if, pour etre sur de controler leurs effets...
Lien direct vers le message - Vieux
loran
Roi
 
salut
pourrais tu être plus précis
ou dois je les rajouter
est ce la commande



@+
loran
Lien direct vers le message - Vieux
Florynth
Roi
 
j'espère que ça va aider, j'ai rajouter des fonction que je crois nécessaire j'ai mis des commentaires

Code PHP:
void main()
{
    
object oJoueur GetEnteringObject ();
    if(
GetIsPC(oJoueur))// Pour etre sur que c'est pas une monstre ou autre
    
{
        
int iClassPJ GetClassByPosition(1,oJoueur);
        
location lDepart;
        if(
iClassPJ == CLASS_TYPE_RANGER)
        {
            
// ça c'est ce qu'il voulais dire pour essaye de rajouter des {}
            //sur tes if, pour etre sur de controler leurs effets...
            //dans ton cas ça servait à rien mais ça fait une programmation plus propre
            
lDepart GetLocation (GetObjectByTag ("NW_rodeur"));
        }else{
            
//if (iClassPJ == (CLASS_TYPE_BARBARIAN || CLASS_TYPE_FIGHTER))//erreur tu dois ecrire ecrire
            
if (iClassPJ == CLASS_TYPE_BARBARIAN || iClassPJ == CLASS_TYPE_FIGHTER)
            {
                
lDepart GetLocation (GetObjectByTag ("NW_guerrier"));
            }else{
                
//if (CLASS_TYPE_BARD || CLASS_TYPE_CLERIC || CLASS_TYPE_SORCERER || CLASS_TYPE_WIZARD) //  erreur tu dois ecrire ecrire
                
if (iClassPJ == CLASS_TYPE_BARD || iClassPJ == CLASS_TYPE_CLERIC || iClassPJ == CLASS_TYPE_SORCERER || iClassPJ == CLASS_TYPE_WIZARD)
                {
                    
lDepart GetLocation (GetObjectByTag ("NW_mago"));
                }else{
                    
lDepart GetLocation (GetObjectByTag ("NW_defaut"));
                }

            }
        }
        
AssignCommand (oJoueurActionJumpToLocation (lDepart));
    }

je l'ai testé et ça marche...

le code est pas super bien fait mais il est fonctionnel c'est l'important pour commencer...
__________________
Florynth ... bientôt un monde sera miens...
Lien direct vers le message - Vieux
Florynth
Roi
 
Le même code mais en mieux
j'espère que ça va t'aider

Code PHP:
void main()
{
    
object oJoueur GetEnteringObject ();
    if(
GetIsPC(oJoueur))// Pour etre sur que c'est pas une monstre ou autre
    
{
        
int iClassPJ GetClassByPosition(1,oJoueur);
        
location lDepart;

        switch(
iClassPJ)
        {
            case 
CLASS_TYPE_RANGER :
                                    
lDepart GetLocation (GetObjectByTag ("NW_rodeur"));
                                    break;
            case 
CLASS_TYPE_BARBARIAN :
            case 
CLASS_TYPE_FIGHTER :
                                    
lDepart GetLocation (GetObjectByTag ("NW_guerrier"));
                                    break;
            case 
CLASS_TYPE_BARD :
            case 
CLASS_TYPE_CLERIC :
            case 
CLASS_TYPE_SORCERER :
            case 
CLASS_TYPE_WIZARD :
                                    
lDepart GetLocation (GetObjectByTag ("NW_mago"));
                                    break;
            default :          
lDepart GetLocation (GetObjectByTag ("NW_defaut"));
                                    break;
        }
        
AssignCommand (oJoueurActionJumpToLocation (lDepart));
    }

Lien direct vers le message - Vieux
loran
Roi
 
merci Florynth

un grand merci pour tes explications qui me sont, tu t'en doute bien utiles

et que dire pour ton script

il est vrai que je débute et ton aide me fait bien avancer

@+
loran
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > pb de script
   

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 18h53.
   

© 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