Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Restriction de race dans un script ou le PNJ engage la conversation tout seul...

Par Mel Ethybem le 18/2/2003 à 21:58:32 (#3265568)

Voici mon script actuel, il est correct :

void main()
{
object oNPC = GetObjectByTag("TAG_DU_PNJ");
object oPC = GetEnteringObject();
if(GetIsPC(oPC) && GetLocalInt(oPC,"Dlg_Init_TAG_DU_PNJ" + GetTag(oNPC)) == FALSE && !IsInConversation(oNPC))
{
AssignCommand(oPC,ClearAllActions());
AssignCommand(oNPC,ClearAllActions());
AssignCommand(oNPC,ActionMoveToObject(oPC));
AssignCommand(oNPC,ActionStartConversation(oPC));
}
}



Cela fait que le PNJ, au moment où le PJ rentre dans un trigger, engage la conversation tout seul. Et bien, je voudrais que cela n'arrive que si le PJ est un nain. En d'autres mots, le PNJ n'accosterais le PJ que si ce dernier est un nain. Quel ligne de code dois-je ajouter pour cela ?

Par Reyan le 18/2/2003 à 22:02:47 (#3265588)

un test avec "GetRacialType()"
genre


void main()
{
object oNPC = GetObjectByTag("TAG_DU_PNJ");
object oPC = GetEnteringObject();
int nRace = GetRacialType(oPC);
if(GetIsPC(oPC) && GetLocalInt(oPC,"Dlg_Init_TAG_DU_PNJ" + GetTag(oNPC)) == FALSE && !IsInConversation(oNPC) && (nRace ==RACIAL_TYPE_DWARF)
{
AssignCommand(oPC,ClearAllActions());
AssignCommand(oNPC,ClearAllActions());
AssignCommand(oNPC,ActionMoveToObject(oPC));
AssignCommand(oNPC,ActionStartConversation(oPC));
}
}


pas testé (edit) mais corrigé

Quel nom ?

Par Mel Ethybem le 18/2/2003 à 22:05:41 (#3265606)

Get racial type... je ne sais pas si ça fonctionne. Mais de toute façon, je ne connais pas l'équivalent du nom des races dans le langage des scripts ! Est-ce "Dwarf" pour Nain ? Aidez-moi !

Par grenwald le 18/2/2003 à 22:33:14 (#3265759)

Sisi, ça doit fonctionner avec cette fonction ;)
Pour info (tiré du Lexicon, et traduit) :

GetRacialType (object oCreature)
=> Donne la race de la créature


Et effectivement, "Dwarf" c'est bien le nom anglais pour "Nain". Et après tout, le langage du script utilise pour l'essentiel des termes anglais :lit:

pour finir, la fonction que t'a donné Reyan correspond bien a ce que tu demandais :)

Sans vouloir te vexer, un tout petit peu de recherche (et un essai) t'aurais permis de voir que c'était que tu bonheur comme script :p

suis une quiche

Par Mel Ethybem le 18/2/2003 à 22:37:06 (#3265780)

Oui, mais le nom "Dwarf" je le tape ou précisément dans le script ??

Par Mel Ethybem le 18/2/2003 à 22:38:18 (#3265785)

if(GetIsPC(oPC) && GetLocalInt(oPC,"Dlg_Init_TAG_DU_PNJ" + GetTag(oNPC)) == FALSE && !IsInConversation(oNPC) && (nRace ==RACIAL_TYPE_DWARF])


-> ERREUR : UNKNOWN STATE IN COMPILER

Marche pas !

le script en entier :
void main()
{
object oNPC = GetObjectByTag("Semli");
object oPC = GetEnteringObject();
int nRace = GetRacialType(oPC);
if(GetIsPC(oPC) && GetLocalInt(oPC,"Dlg_Init_Semli" + GetTag(oNPC)) == FALSE && !IsInConversation(oNPC) && (nRace ==RACIAL_TYPE_DWARF)
{
AssignCommand(oPC,ClearAllActions());
AssignCommand(oNPC,ClearAllActions());
AssignCommand(oNPC,ActionMoveToObject(oPC));
AssignCommand(oNPC,ActionStartConversation(oPC));
}
}

Par Reyan le 18/2/2003 à 22:49:40 (#3265843)

rooo, c'est un bête ] en trop
je corrige
et les constante, les fameux "RACIAL_TYPE_*" ba on les trouve en cliquant sur l'onglet "constante", tu met dans le filtre "racial_type", info que te donne la description de la fonction, et t'as toute tes races sous les yeux ;)
il est qd même achement bien fait aurora :)
enfin moi je trouve ^_^

la version corrigée :


void main()
{
object oNPC = GetObjectByTag("TAG_DU_PNJ");
object oPC = GetEnteringObject();
int nRace = GetRacialType(oPC);
if((GetIsPC(oPC)) && (GetLocalInt(oPC,"Dlg_Init_TAG_DU_PNJ" + GetTag(oNPC)) == FALSE) && !(IsInConversation(oNPC)) && (nRace ==RACIAL_TYPE_DWARF))
{
AssignCommand(oPC,ClearAllActions());
AssignCommand(oNPC,ClearAllActions());
AssignCommand(oNPC,ActionMoveToObject(oPC));
AssignCommand(oNPC,ActionStartConversation(oPC));
}
}

JOL Archives 1.0.1
@ JOL / JeuxOnLine