JeuxOnLineForumsPlusConnectés : 706 (sites) | 1257 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [Script] Spawn selon la race et l'allignement RSS
   
Répondre
Partager Outils Rechercher
Avatar de ¤ TynriL ¤
¤ TynriL ¤
Bagnard
 
Avatar de ¤ TynriL ¤
 

[Script] Spawn selon la race et l'allignement

Script proposé par Shyehiem Azielm !
Citation:
Code PHP:
void main()
{


 
object oPc;
 
int iRace;
 
int iAlignementGoodEvil;
 
int iAlignementLawChaos;
 
location lSpawnEvil;
 
location lSpawnGood;


 
oPc GetEnteringObject();
 
iRace GetRacialType(oPc);
 
iAlignementGoodEvil GetAlignmentGoodEvil(oPc);
 
iAlignementLawChaos GetAlignmentLawChaos(oPc);

 switch (
iRace)
  {
   case 
RACIAL_TYPE_DWARF:
    switch (
iAlignementGoodEvil)
      {
       case 
ALIGNMENT_GOOD:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulGoodDwarf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralGoodDwarf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticGoodDwarf_WP")));
          break;
         }
       case 
ALIGNMENT_NEUTRAL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulNeutralDwarf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralNeutralDwarf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticNeutralDwarf_WP")));
          break;
         }
       case 
ALIGNMENT_EVIL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulEvilDwarf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralEvilDwarf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticEvilDwarf_WP")));
          break;
         }
      }
   case 
RACIAL_TYPE_ELF:
    switch (
iAlignementGoodEvil)
      {
       case 
ALIGNMENT_GOOD:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulGoodElf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralGoodElf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticGoodElf_WP")));
          break;
         }
       case 
ALIGNMENT_NEUTRAL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulNeutralElf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralNeutralElf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticNeutralElf_WP")));
          break;
         }
       case 
ALIGNMENT_EVIL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulEvilElf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralEvilElf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticEvilElf_WP")));
          break;
         }
      }
   case 
RACIAL_TYPE_GNOME:
    switch (
iAlignementGoodEvil)
      {
       case 
ALIGNMENT_GOOD:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulGoodGnome_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralGoodGnome_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticGoodGnome_WP")));
          break;
         }
       case 
ALIGNMENT_NEUTRAL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulNeutralGnome_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralNeutralGnome_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticNeutralGnome_WP")));
          break;
         }
       case 
ALIGNMENT_EVIL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulEvilGnome_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralEvilGnome_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticEvilGnome_WP")));
          break;
         }
      }
   case 
RACIAL_TYPE_HALFELF:
    switch (
iAlignementGoodEvil)
      {
       case 
ALIGNMENT_GOOD:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulGoodHalfElf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralGoodHalfElf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticGoodHalfElf_WP")));
          break;
         }
       case 
ALIGNMENT_NEUTRAL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulNeutralHalfElf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralNeutralHalfElf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticNeutralHalfElf_WP")));
          break;
         }
       case 
ALIGNMENT_EVIL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulEvilHalfElf_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralEvilHalfElf_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticEvilHalfElf_WP")));
          break;
         }
      }
   case 
RACIAL_TYPE_HALFLING:
    switch (
iAlignementGoodEvil)
      {
       case 
ALIGNMENT_GOOD:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulGoodHalfling_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralGoodHalfling_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticGoodHalfling_WP")));
          break;
         }
       case 
ALIGNMENT_NEUTRAL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulNeutralHalfling_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralNeutralHalfling_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticNeutralHalfling_WP")));
          break;
         }
       case 
ALIGNMENT_EVIL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulEvilHalfling_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralEvilHalfling_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticEvilHalfling_WP")));
          break;
         }
      }
   case 
RACIAL_TYPE_HALFORC:
    switch (
iAlignementGoodEvil)
      {
       case 
ALIGNMENT_GOOD:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulGoodHalfOrc_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralGoodHalfOrc_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticGoodHalfOrc_WP")));
          break;
         }
       case 
ALIGNMENT_NEUTRAL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulNeutralHalfOrc_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralNeutralHalfOrc_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticNeutralHalfOrc_WP")));
          break;
         }
       case 
ALIGNMENT_EVIL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulEvilHalfOrc_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralEvilHalfOrc_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticEvilHalfOrc_WP")));
          break;
         }
      }
   case 
RACIAL_TYPE_HUMAN:
    switch (
iAlignementGoodEvil)
      {
       case 
ALIGNMENT_GOOD:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulGoodHumain_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralGoodHumain_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticGoodHumain_WP")));
          break;
         }
       case 
ALIGNMENT_NEUTRAL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulNeutralHumain_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralNeutralHumain_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticNeutralHumain_WP")));
          break;
         }
       case 
ALIGNMENT_EVIL:
        switch (
iAlignementLawChaos)
         {
          case 
ALIGNMENT_LAWFUL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnLawfulEvilHumain_WP")));
          break;
          case 
ALIGNMENT_NEUTRAL:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnNeutralEvilHumain_WP")));
          break;
          case 
ALIGNMENT_CHAOTIC:
           
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_SpawnChaoticEvilHumain_WP")));
          break;
         }
      }
  }



Lien direct vers le message - Vieux
Avatar de ¤ TynriL ¤
¤ TynriL ¤
Bagnard
 
Avatar de ¤ TynriL ¤
 
Le même en plus simple
Script revu par Hécate !
Citation:
Code PHP:
void main()
{
 
object oPc;
 
int iRace;
 
int iAlignementGoodEvil;
 
int iAlignementLawChaos;
 
string sRace;
 
string sGoodEvil;
 
string sLawChaos;
 
string sTagDest// string du tag reconstitué

 
oPc GetEnteringObject();
 
iRace GetRacialType(oPc);
 
iAlignementGoodEvil GetAlignmentGoodEvil(oPc);
 
iAlignementLawChaos GetAlignmentLawChaos(oPc);

 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;
  }
 switch (
iAlignementGoodEvil)
  {
   case 
ALIGNMENT_GOOD:        sGoodEvil "Good"; break;
   case 
ALIGNMENT_NEUTRAL:    sGoodEvil "Neutral"; break;
   case 
ALIGNMENT_EVIL:        sGoodEvil "Evil"; break;
   default :             
sGoodEvil "Default"; break;
  }
 switch (
iAlignementLawChaos)
  {
   case 
ALIGNMENT_LAWFUL:    sLawChaos "Lawful"; break;
   case 
ALIGNMENT_NEUTRAL:    sLawChaos "Neutral"; break;
   case 
ALIGNMENT_CHAOTIC:    sLawChaos "Chaotic"; break;
   default :             
sLawChaos "Default"; break;
  }

 
sTagDest "TDM_Spawn"+sLawChaos+sGoodEvil+sRace+"_WP";
 
AssignCommand(oPcActionJumpToObject(GetObjectByTag(sTagDest)));

Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
Question
Re: Le même en plus simple
je suppose qu'on doit ajouter le script ds onclient enter?

il va m'etre trés utile ce script
Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
il est possible de créé des races en dehors des regles add gràce à l'option ethnie... des cheveux blanc en pic, une peau noir et hop un dark elf d'apparence...

j'ai donc créé un Dark elf et j'aimerai l'ajouter a la base de donné de façon à ce qu'il sois reconnu comme un TYPE_RACIAL_DROW de façon qu'il soit spawné ds une cité drow... a moin que la constante existe dejà sous un autre nom...


il est donc important qu'il soit reconnu en tant que tel...


j'ai essayé de modofier la base de donnée DA mais rien n'y fait

quelqu'un pourrait il m'aider?
ah oui, une autre question? quel est le mot en anglais utiliser ds le jeu pour "ethnie" a la création des perso?
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
GetSubRace(object oCreature); te retourne l'ethnie donc tu peux l'utiliser pour envoyer où tu veux à l'arrivée dans le module.
Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
Citation:
Provient du message de Jedaï
GetSubRace(object oCreature); te retourne l'ethnie donc tu peux l'utiliser pour envoyer où tu veux à l'arrivée dans le module.

PHP:--------------------------------------------------------------------------------
void main()
{
object oPc;
int iRace;
int iAlignementGoodEvil;
int iAlignementLawChaos;
int iethnie;
String sethnie;
string sRace;
string sGoodEvil;
string sLawChaos;
string sTagDest; // string du tag reconstitué

oPc = GetEnteringObject();
iRace = GetRacialType(oPc);
iethnie = GetSubRace(object oCreature);
iAlignementGoodEvil = GetAlignmentGoodEvil(oPc);
iAlignementLawChaos = GetAlignmentLawChaos(oPc);

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;
}

switch (iethnie)
{
case RACIAL_TYPE_DARkELF: sethnie = "Darkelf"; break;
case RACIAL_TYPE_vampire: sethnie = "vampire"; break;

default : sethnie = "Default"; break;
}






switch (iAlignementGoodEvil)
{
case ALIGNMENT_GOOD: sGoodEvil = "Good"; break;
case ALIGNMENT_NEUTRAL: sGoodEvil = "Neutral"; break;
case ALIGNMENT_EVIL: sGoodEvil = "Evil"; break;
default : sGoodEvil = "Default"; break;
}
switch (iAlignementLawChaos)
{
case ALIGNMENT_LAWFUL: sLawChaos = "Lawful"; break;
case ALIGNMENT_NEUTRAL: sLawChaos = "Neutral"; break;
case ALIGNMENT_CHAOTIC: sLawChaos = "Chaotic"; break;
default : sLawChaos = "Default"; break;
}

sTagDest = "TDM_Spawn"+sLawChaos+sGoodEvil+sRace+"_WP";
AssignCommand(oPc, ActionJumpToObject(GetObjectByTag(sTagDest)));
}

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


et ça donnerai un truc du genre? ( 3ime jour de programation )

ah oui, le script d'origine ne marche pas, je n'arrive pas a me teleporter! j'ai passé de 21h a 2h00 du matin encore hier

j'ai vraiment besoin d'aide là
Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
Script revu par Hécate ne marche pas et celui de depart aussi...

on fait quoi avec ce script exactement?! y a que ça a faire? copier coller le script au bonne endroit et mettre les portails?

ça marche pas du tout
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Si, bien sûr que ça marche ! fais un meuble de tag "TDM_SpawnLawfulGoodElf_WP" puis mets le deuxième script dans le OnClientEnter du module et rentre dans ton module avec un elfe loyal bon, et tu verras que ça marche.
(pas ton script par contre, mais bon....)
Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
moi j'aimerai surtout d'aller d'un portail a un autre

et si mes portails sont deux zones differentes.. ça change le script?
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
le probleme, déjà, c'est que ton script est pas entre balise
donc tu met un [*php] devant et un [*/php] derrière, sans les étoiles
ensuite,
Code PHP:
// Get the name of oCreature's sub race.
// * Returns "" if oCreature is invalid (or if sub race is blank for oCreature).
string GetSubRace(object oTarget
autrement dit, ca renvoi une string, donc pas de switch :-/
A moins ! et oui, à moins de faire qq chose du style (mais avant) :
Code PHP:
string sRace;
//premier switch, celui sur les race
sSubrace GetSubRace(oPC);//oPC recupere come tu veux
if((sSubRace == "Vampire") || (sSubRace == "vampire") )//rq que tu peu prévoir deux ou trois orthographe (sans le dire à tes joueur ;) ) des fois que y aurait des boulets ^_^
sRace "Vampire";
if(
sSubRace == "Chausette" )
sRace "Chausette";

etc
ou mieux :
Code PHP:
sTagDest "TDM_Spawn"+sLawChaos+sGoodEvil+GetSubRace(oPC)+"_WP";
object oWP GetObjectByTag(sTagDest);
if(
GetIsValidObject(oWP))
AssignCommand(oPcActionJumpToObject(oWP));
else
AssignCommand(oPcActionJumpToObject(GetObjectByTag(sTagDest "TDM_Spawn"+sLawChaos+sGoodEvil+sRace+"_WP";
)));
//g tt mis en une ligne, flemme powa ^_^ 
bon, c pas testé hein, donc bon, ca vaut ce que ca vaut, mais ca peut te donner des idées
Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
d'apres ce que tu m'as mis ça donne un truc du genre....

Code PHP:

 
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;
   
   
sSubrace GetSubRace(oPC);                              //oPC recupere come tu veux
   
if((sSubRace == "Vampire") || (sSubRace == "vampire") )  //rq que tu peu prévoir deux ou trois orthographe (sans le dire à tes joueur <img src="ubb/wink.gif" border="0" alt=""> ) des fois que y aurait des boulets ^_^
   
sRace "Vampire";
   if(
sSubRace == "Darkelf" ) || (sSubRace == "darkelf" )
   
sRace "Darkelf";
   if(
sSubRace == "Drow" ) || (sSubRace == "drow" )
   
sRace "Darkelf";
  }
 
 switch (
iAlignementGoodEvil)
  {
   case 
ALIGNMENT_GOOD:        sGoodEvil "Good"; break;
   case 
ALIGNMENT_NEUTRAL:    sGoodEvil "Neutral"; break;
   case 
ALIGNMENT_EVIL:        sGoodEvil "Evil"; break;
   default :             
sGoodEvil "Default"; break;
  }

 switch (
iAlignementLawChaos)
  {
   case 
ALIGNMENT_LAWFUL:    sLawChaos "Lawful"; break;
   case 
ALIGNMENT_NEUTRAL:    sLawChaos "Neutral"; break;
   case 
ALIGNMENT_CHAOTIC:    sLawChaos "Chaotic"; break;
   default :             
sLawChaos "Default"; break;
  }

sTagDest "TDM_Spawn"+sLawChaos+sGoodEvil+GetSubRace(oPC)+"_WP";
object oWP GetObjectByTag(sTagDest);
if(
GetIsValidObject(oWP))
AssignCommand(oPcActionJumpToObject(oWP));
else
AssignCommand(oPcActionJumpToObject(GetObjectByTag(sTagDest "TDM_Spawn"+sLawChaos+sGoodEvil+sRace+"_WP";
)));





Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
j'en ai oublié le debut! voilà c mieu comme ça!

Code PHP:

void main
()
{
 
object oPc;
 
int iRace;
 
int iAlignementGoodEvil;
 
int iAlignementLawChaos;
 
string sRace;
 
string sGoodEvil;
 
string sLawChaos;
 
string sTagDest// string du tag reconstitué

 
oPc GetEnteringObject();
 
iRace GetRacialType(oPc);
 
iAlignementGoodEvil GetAlignmentGoodEvil(oPc);
 
iAlignementLawChaos GetAlignmentLawChaos(oPc);

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;
   
   
sSubrace GetSubRace(oPC);                              //oPC recupere come tu veux
   
if((sSubRace == "Vampire") || (sSubRace == "vampire") )  //rq que tu peu prévoir deux ou trois orthographe (sans le dire à tes joueur <img src="ubb/wink.gif" border="0" alt=""> ) des fois que y aurait des boulets ^_^
   
sRace "Vampire";
   if(
sSubRace == "Darkelf" ) || (sSubRace == "darkelf" )
   
sRace "Darkelf";
   if(
sSubRace == "Drow" ) || (sSubRace == "drow" )
   
sRace "Darkelf";
  }
 
 switch (
iAlignementGoodEvil)
  {
   case 
ALIGNMENT_GOOD:        sGoodEvil "Good"; break;
   case 
ALIGNMENT_NEUTRAL:    sGoodEvil "Neutral"; break;
   case 
ALIGNMENT_EVIL:        sGoodEvil "Evil"; break;
   default :             
sGoodEvil "Default"; break;
  }

 switch (
iAlignementLawChaos)
  {
   case 
ALIGNMENT_LAWFUL:    sLawChaos "Lawful"; break;
   case 
ALIGNMENT_NEUTRAL:    sLawChaos "Neutral"; break;
   case 
ALIGNMENT_CHAOTIC:    sLawChaos "Chaotic"; break;
   default :             
sLawChaos "Default"; break;
  }

sTagDest "TDM_Spawn"+sLawChaos+sGoodEvil+GetSubRace(oPC)+"_WP";
object oWP GetObjectByTag(sTagDest);
if(
GetIsValidObject(oWP))
AssignCommand(oPcActionJumpToObject(oWP));
else
AssignCommand(oPcActionJumpToObject(GetObjectByTag(sTagDest "TDM_Spawn"+sLawChaos+sGoodEvil+sRace+"_WP";
)));


c vrai que c mieu avec
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
g dis ca ? moi
bon, alors :
un switch ca passe des chiffre, ca saute de 1 a 2 a 3 etc. et quand ca arrive à la valeur testé, ca fait stop, ca lit le code et s'arrête au premier "break;" rencontré.
donc le switch la il marchera jamais
et je t'ai donné deux solution en fait, une tt bête, faire un espèce de switch (sauf que c pas des nombres, donc c pas possible, donc on fait des "if else" c moins beau et tt mais bon . . .) mais à cté de l'autre, et une autre, plus simple, que tu colle à la fin. je te met cette dernière, plus mieux :
Code PHP:
void main()
{
 
object oPc;
 
int iRace;
 
int iAlignementGoodEvil;
 
int iAlignementLawChaos;
 
string sRace;
 
string sGoodEvil;
 
string sLawChaos;
 
string sTagDest// string du tag reconstitué

 
oPc GetEnteringObject();
 
iRace GetRacialType(oPc);
 
iAlignementGoodEvil GetAlignmentGoodEvil(oPc);
 
iAlignementLawChaos GetAlignmentLawChaos(oPc);

 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;
  }
 switch (
iAlignementGoodEvil)
  {
   case 
ALIGNMENT_GOOD:        sGoodEvil "Good"; break;
   case 
ALIGNMENT_NEUTRAL:    sGoodEvil "Neutral"; break;
   case 
ALIGNMENT_EVIL:        sGoodEvil "Evil"; break;
   default :             
sGoodEvil "Default"; break;
  }
 switch (
iAlignementLawChaos)
  {
   case 
ALIGNMENT_LAWFUL:    sLawChaos "Lawful"; break;
   case 
ALIGNMENT_NEUTRAL:    sLawChaos "Neutral"; break;
   case 
ALIGNMENT_CHAOTIC:    sLawChaos "Chaotic"; break;
   default :             
sLawChaos "Default"; break;
  }
//-------- jusque là le script est pas changé

//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 "TDM_Spawn"+sLawChaos+sGoodEvil+GetSubRace(oPc)+"_WP";
object oWP GetObjectByTag(sTagDest);
if(
GetIsObjectValid(oWP))
AssignCommand(oPcActionJumpToObject(oWP));
else
AssignCommand(oPcActionJumpToObject(GetObjectByTag("TDM_Spawn"+sLawChaos+sGoodEvil+sRace+"_WP")));//g tt mis en une ligne, flemme powa ^_^

donc, il doit exister sur ton module des waypoint (ou des objets) avec un tag du style :

TDM_SpawnLawfulEvilElf_WP
TDM_SpawnLawfulEvilHuman_WP

etc. ( cf le script pour les ortographe précise)

ET
TDM_SpawnLawfulEvilDrow_WP ou Drow est le nom EXACT entre en subrace
TDM_SpawnLawfulEvilVampire_WP idem

donc tu peu faire des tests avant pour t'assurer que tes gars ont entré la bonne ortographe, mais bon . . .

je pense que la c bon . . .

edit : oulla, grosse bourde lol

redit : corrigééé !!
Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
bah c ce que je disais plus haut, leur script de base ne marche pas... je prend un guerrier loyal bon et il me met en default default default...

et meme si je créé un portail "default " , la teleportation ne se passe pas

si j'avais dejà un script a la base ou j'ai juste besoin de copier coller et qui marche ça serait dejà bien...

j'ai testé avec 5 teleporteurs aucun ne marches
Lien direct vers le message - Vieux
Avatar de sojkowski
sojkowski
Dauphin
 
Avatar de sojkowski
 
Code PHP:

void main
()
{
 
object oPc;
 
int iRace;
 
int iAlignementGoodEvil;
 
int iAlignementLawChaos;



 
string sRace;
 
string sGoodEvil;
 
string sLawChaos;
 
string sTagDest// string du tag reconstitué

 
oPc GetEnteringObject();
 
iRace GetRacialType(oPc);
 
iAlignementGoodEvil GetAlignmentGoodEvil(oPc);
 
iAlignementLawChaos GetAlignmentLawChaos(oPc);

 
//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;
   //case RACIAL_TYPE_OUTSIDER: sRace = "darkelf"; break;
   //default :             sRace = "Default"; break;
  //}
 //switch (iAlignementGoodEvil)
  //{
   //case ALIGNMENT_GOOD:        sGoodEvil = "Good"; break;
   //case ALIGNMENT_NEUTRAL:    sGoodEvil = "Neutral"; break;
   //case ALIGNMENT_EVIL:        sGoodEvil = "Evil"; break;
   //default :             sGoodEvil = "Default"; break;
  //}
 
switch (iAlignementLawChaos)
  {
   case 
ALIGNMENT_LAWFUL:    sLawChaos "Lawful"; break;
   case 
ALIGNMENT_NEUTRAL:    sLawChaos "Neutral"; break;
   case 
ALIGNMENT_CHAOTIC:    sLawChaos "Chaotic"; break;
   default :             
sLawChaos "Default"; break;
  }

 
//sTagDest = "TDM_Spawn"+sLawChaos+sGoodEvil+sRace+"_WP";
 
sTagDest "TDM_Spawn"+sLawChaos+"wp";
 
AssignCommand(oPcActionJumpToObject(GetObjectByTag(sTagDest)));

ActionSpeakString("TDM_Spawn"+sLawChaos+"wp");
ActionWait(5.0);


voici comment j'aisimplifier le script, j'ai ajouté un speakstring que lorsque je clique sur le portail mon tag s'affiche..

je suis pas sur de ça fonctionnalité mais il m'affiche tjs TDM_SpawnDefaultwp

donc j'ai taggé un portail par default avec cette valeur "TDM_SpawnDefaultwp", et la teleportation ne se fait tjs pas... y a un beans quelque part
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [Script] Spawn selon la race et l'allignement
   

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 13h09.
   

© 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