Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > char
char
Par Adalorn le 5/7/2002 à 13:37:23 (#1762123)
void main()
{
int search_score = GetSkillRank(SKILL_SEARCH, oPlayer);
object oPlayer = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,OBJECT_SELF,1);
char c1;
c1 = d10();
string parchemin = "parchemin" + c1;
AssignCommand(oPlayer, ActionWait());
if (d20(1)+search_score > 22)
{
AssignCommand(oPlayer, SpeakString("eh! j'ai trouve un parchemin entre deux livres!"));
ActionGiveItem ( parchemin, oPlayer );
}
}
( sinon, je pourais le faire avec un
getsubstring ("1234567890", d10(1), d10(1)+1);
, mais, ça demande + de resources)
Par Gargantuel le 5/7/2002 à 13:53:15 (#1762192)
void main()
{
object oPlayer = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,OBJECT_SELF,1);
int search_score = GetSkillRank(SKILL_SEARCH, oPlayer);
int c1;
c1 = d10();
string parchemin = "parchemin" + IntToString(c1);
AssignCommand(oPlayer, ActionWait());
if (d20(1)+search_score > 22)
{
AssignCommand(oPlayer, SpeakString("eh! j'ai trouve un parchemin entre deux livres!"));
ActionGiveItem ( parchemin, oPlayer );
}
}
EDIT: Correction du script suite au message de leZilou
Par Gargantuel le 5/7/2002 à 14:02:00 (#1762237)
Comme ca le parchemin apparaitra réellement au millieu des livres (a tester, bien sur).
Sympa ton script *copie le script dans sa boite à outils*
:-)
Par leZilou le 5/7/2002 à 14:06:27 (#1762261)
C'est pas une erreur, de mettre la ligne :int search_score = GetSkillRank(SKILL_SEARCH, oPlayer);
avant celle-ci, qui définit oPlayer ?object oPlayer = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,OBJECT_SELF,1);
Par Gargantuel le 5/7/2002 à 14:10:43 (#1762290)
(Je compile pas encore de tête, moa ;) )
je suis un peu ridicule sur ce coups là moi...
Par Adalorn le 8/7/2002 à 10:39:58 (#1775323)
void main()
{
object oPlayer = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC,OBJECT_SELF,1);
int search_score = GetSkillRank(SKILL_SEARCH, oPlayer);
string parchemin = "parchemin" + IntToString(d10(1));
int dif = 22;
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
dif += 5;
}
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ApplyEffectToObject (DURATION_TYPE_TEMPORARY, EffectParalyze(), oPlayer, 3.0);
if (d20(1)+ search_score > dif)
{
AssignCommand(oPlayer, SpeakString("eh! j'ai trouve un parchemin entre deux livres!"));
ActionGiveItem ( GetObjectByTag ( parchemin, 0 ), oPlayer );
}
}
PS : je donne l'objet exprés au perso, pour qu'il n'ait pas à réouvrir la biblio, et puis, je préfére comme ça...
PPS : en c, tu peux faire
char c1 = 65
printf("letre : %c .\n", c1), et il t'affiche le caractére correspondant à 65 (A)
JOL Archives 1.0.1
@ JOL / JeuxOnLine