JeuxOnLineForumsPlusConnectés : 354 (sites) | 674 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Race et démarrage RSS
   
Répondre
Partager Outils Rechercher
Maiter Edden
Empereur
 

Race et démarrage

Bonjour
Voila, je viens juste de me mettre a l'éditeur Aurora et au scripting.
En faites j'aurais 2 questions :
Est-il possible de créer une nouvelle race jouable? (genre des drows )
Apres je voudrais que quand quelqu'un creer son perso ce dernier commence au temple de sa race mais que ca ne le fasse que la premiere fois, c'est a dire que les autres fois ou il se connecte il reapparaisse la ou il a été deconnecter (je sais pas trop si je suis clair la lol )
Merci d'avance
Lien direct vers le message - Vieux
Maiter Edden
Empereur
 
voila j'ai essayer de faire un petit script pour le demarrage mais ca a pas l'air de trop marcher . Quand je creais le perso, je commence pas la ou je l'ai defini dnas le script et ma pierre de rappel ne se creer pas. Script que je met dans le OnClientEnter du module

Code PHP:
void main()
{
 
string sRace;
 
string sTagDest// string du tag reconstitué
 
string sItemTag "NW_IT_RECALL";
 
string sItemTemplate "it_recall001";
 
object oPc GetEnteringObject();
 
int iRace GetRacialType(oPc);

 
//on verifie si le PJ n'a pas deja l'item, sinon on le crée
 
if(GetIsObjectValid(GetItemPossessedBy(oPcsItemTag))==FALSE)
    {
        
CreateItemOnObject(sItemTemplateoPc);

        switch (
iRace)
        {
            case 
RACIAL_TYPE_DWARF:    sRace "Dwarf"; break;
            case 
RACIAL_TYPE_ELF:    sRace "Elf"; break;
            case 
RACIAL_TYPE_GNOME:    sRace "Gnome"; break;
            case 
RACIAL_TYPE_HALFELF:    sRace "HalfElf"; break;
            case 
RACIAL_TYPE_HALFLING:    sRace "Halfling"; break;
            case 
RACIAL_TYPE_HALFORC:    sRace "HalfOrc"; break;
            case 
RACIAL_TYPE_HUMAN:    sRace "Human"; break;
            default :             
sRace "Default"; break;
//alors là, on fait un "tag de waypoint" avec la subrace, plutot que la race, et si c pas un objet valid qu'on recupère, ba pn y saute pas ^_^

            
sTagDest "Spawn"+GetSubRace(oPc);
            
object oWP GetObjectByTag(sTagDest);
            if(
GetIsObjectValid(oWP))
            {
                
AssignCommand(oPcActionJumpToObject(oWP));
            }
        }
    }

Voile je met la derniere version que j'ai essayer. Que ce soit avec mes idées ou avec ce que je trouve ca veut vraiment pas marcher
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Ton script est drôlement bien foutu pour quelqu'un qui vient de se mettre à Aurora

Pour ce qui est de l'objet qui ne se crée pas, voilà la raison : le ResRef que tu as spécifié n'est pas bon ! Si tu veux connaître le resref d'un objet Bioware, le plus simple est d'en créer un dans ton module et de regarder ses propriétés, au lie de faire "éditer et copier" (qui modifier le resref de manière inattendue ).

Ensuite, pour les waypoints : il y a quelque chose qui m'intrigue. Tu donne à sRace une valeur en fonction de la race du PJ, mais tu ne l'utilise pas après
En utilisant GetSubRace, c'est la valeur que le joueur a rentré dans le champ "Sous-race" que tu utilise. Peut-être que c'est de là que vient le problème ?

Dernière chose : la sécurité sur le ActionJumpToObject n'est pas nécessaire, puisque si le waypoint n'est pas valide la fonction n'aura aucun effet. Et si j'étais toi j'utiliserais JumpToObject tout court, comme ça tu est sûr que le PJ y va sur le champ
Lien direct vers le message - Vieux
Maiter Edden
Empereur
 
EN faite la premiere partie avec les case ca ne vient pas de moi, je l'ai juste repris enfin bon je vais bien finir par trouver
J'ai essayer de faire ca seul en plus simple mais bon marche toujours pas enfin la creation de l'objet marche maintenant au moins
Code PHP:
void main()
{
    
string sItemTag "NW_IT_RECALL";
    
string sItemTemplate "it_recall001";
    
object oPc GetEnteringObject();

    
//on verifie si le PJ n'a pas deja l'item, sinon on le crée
    
if(GetIsObjectValid(GetItemPossessedBy(oPcsItemTag))==FALSE)
    {
        
CreateItemOnObject(sItemTemplateoPc);
        if(
GetRacialType(oPc)==RACIAL_TYPE_HUMAN)
        {
            
object oWP GetObjectByTag("SpawnHuman");
            
AssignCommand(oPc,JumpToObject(oWP));
        }
        if(
GetRacialType(oPc)==RACIAL_TYPE_DWARF)
        {
            
object oWP GetObjectByTag("SpawnDwarf");
            
AssignCommand(oPc,JumpToObject(oWP));
        }
    }

Il me reste un petit probleme par exemple, quand je creais un nain et que je lance le module au depart il me charge bien la bonne zone mais juste apres il charge la mauvaise ou il y a le point de depart definit par aurrora La, je comprend vraiment pas pourquoi il veut pas marcher
Lien direct vers le message - Vieux
Azmathiel
Alpha & Oméga
 
D'après ce que j'ai compris de ton premier script ci-dessus, et ce que tu souhaites faire, je te suggère ça:


sTagDest = "Spawn"+GetSubRace(oPc);

tu le remplaces par:

sTagDest = "Spawn"+sRace;

Parce que GetSubRace(oPc) va te retourner une chaine vide, sauf chez ceux qui auront renseigné la sous-race avec les races que tu utilises dans ton script. Par exemple "dwarf"... Et comme apparemment tu fais tourner un module francophone, ça ne risque pas d'arriver.
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Effectivement tu ne peux pas directement envoyer le joueur à un WP dès son arrivée dans le module.

La solution que je trouve la plus pratique consiste d'abord à créer une zone d'accueil, de 2x2 (pour que le chargement soit le plus rapide possible). Ensuite, sur l'évènement OnEnter de cette zone, tu peux mettre ton script
Par contre je te conseille un petit DelayCommand sur le JumpToObject, il me semble que sinon ça pose problème.

Sinon, je suis de l'avis de Azmathiel pour ce qui est du tag du waypoint. Evite d'utiliser les sous-races, vu que le joueur est libre de mettre tout et n'importe quoi dans ce champ.
Il existe plusieurs moyens d'ajouter des races, mais c'est un sujet très vaste
Lien direct vers le message - Vieux
Maiter Edden
Empereur
 
Merci, j'ai reussi a faire marcher ca normalement . Apres pour les ethnie tout ca, je verrais plus tard, la je ne fais que m'entrainer en attendant la 1.3
Lien direct vers le message - Vieux
Avatar de Prince Nexus
Prince Nexus
Roi
 
Avatar de Prince Nexus
 
Petits conseils, remplaces le plus possible le GetObjectByTag par GetWaypointByTag, plus rapide lorsque tu cherches un WP.

Prince Nexus.
Lien direct vers le message - Vieux
Maiter Edden
Empereur
 
Au faites Taern, tues bien le Taern d'ezar?
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Absolument pas

Désolé de te décevoir

(j'ai uniquement joué sur Feyd Ehlan )
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Race et démarrage
   

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 03h25.
   

© 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