La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 15:34:39


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
ElMathos
Novice
Inscrit le: 13 Mar 2004
Messages: 15
Répondre en citant
Posté le : 11/05/2004 15:34:31 Sujet du message : Erreur sur deux scripts...

=
Dernière édition par ElMathos le 27/07/2004 19:38:41; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 11/05/2004 17:48:18 Sujet du message :

Je ne sais pas à quoi sert le premier, mais avec ta serie de :
if(GetItemActivator() > 30) etc...
tu cherche à comparé un object,
GetItemActivator(), la personne qui a activé l'objet,
et un chiffre! (ici, 30)
Il y a forcément une erreur quelquepart, parce que en script,
c comme en mathématique, on additionne pas les choux et le sucre,
c comme ça -,-"

Pour le 2eme, ça ne compilait pas juste à cause d'un petit " en trop,
et du manque d'un dernier } à la fin...

NWScript :
#include "NW_I0_GENERIC"



void CreateIfNeeded(object oPC, string sTag, string sRes)
    {
    if (GetItemPossessedBy(oPC, sTag)==OBJECT_INVALID)
        CreateItemOnObject(sRes, oPC);
    }


// S'assurer que les DMs ont tout ce qu'il faut comme ustensiles
void CreateDMTools(object oPC)
    {
    CreateIfNeeded( oPC, "DMsHelper", "dmshelper"); //
    CreateIfNeeded( oPC, "EmoteWand", "emotewand"); //
    CreateIfNeeded( oPC, "WandOfFX", "wandoffx"); //
    CreateIfNeeded( oPC, "DMRodofAffliction", "dmrodofafflictio");//
    CreateIfNeeded( oPC, "setdemenottes", "setdemenottes"); //mise en geoles
    }


void main()
{

    object oPC = GetEnteringObject();

    string sIPName = GetPCIPAddress(oPC);
    string sCDKey = GetPCPublicCDKey(oPC);
    string sPlayerName = GetPCPlayerName(oPC);
    string sName = GetName(oPC);
    int sLevel1 = GetLevelByPosition( 1, oPC);
    int sLevel2 = GetLevelByPosition( 2, oPC);
    int sLevel3 = GetLevelByPosition( 3, oPC);
    int totalLevels = sLevel1 + sLevel2 + sLevel3;
    int nXP = GetXP(oPC);
    string sLvl = IntToString(totalLevels);
    string sXP = IntToString(nXP);

    if (sPlayerName == "")
        {
        WriteTimestampedLogEntry("[ClientEnter] Nouveau perso invalide -> BootPC");
        BootPC(oPC);
        return;
        }

  if(GetItemPossessedBy(oPC,"mortNODROP")!=OBJECT_INVALID)
        {
          effect eDeath = EffectDeath(FALSE, FALSE);
          ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oPC);
          DestroyObject( GetItemPossessedBy(oPC,"mortNODROP"));
        }
  if(GetItemPossessedBy(oPC,"menoNODROP")!=OBJECT_INVALID)
        {
        object oTarget = GetWaypointByTag ("tele_prison");
        AssignCommand( oPC, JumpToObject( oTarget));
        }

  if(GetItemPossessedBy(oPC,"badgeNODROP")==OBJECT_INVALID)
        {
        if (GetHitDice (oPC)>=15)
            {
            //desequippe le tout
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_ARMS , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_BELT , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_BOLTS , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_BOOTS , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CHEST , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_CLOAK , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_HEAD , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_LEFTHAND , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_LEFTRING , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_NECK , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_RIGHTRING , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_ARROWS , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_BOLTS , oPC)));
            AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_BULLETS , oPC)));

            SetXP (oPC, 104999); // met a niv 15 - 1xp

            SendMessageToPC(oPC,"Vous venez d'etre ramene a des proportions moins heroiques");
            SendMessageToPC(oPC,"si vous etes un lanceur de sort, veuillez demmoriser vos sort pour eviter tout probleme a la deconection");
            SendMessageToPC(oPC,"En cas de souci veuillez contacter un MJ ou poster votre probleme l'adresse suivante: ");
}
CreateItemOnObject("badgenodrop", oPC);
}


string PCKey = "(CDkey:"+sCDKey+") ";
string VarNameBAN = sName+sCDKey+"_BAN";
//SetLocalInt(oPC,"StartT ime",GetTime());
if (GetLocalInt(GetModule(),VarNameBAN)) // Banni par un DM online -> ejecte (jusqu'au prochain demarrage)
{
WriteTimestampedLogEntry("[ClientEnter]"+sName+PCKey+" n'a pas pu entrer (BAN) !");
BootPC(oPC);
return;
}

if ( GetIsDM (oPC))
{
SendMessageToPC(oPC,"Bienvenu sur le serveur la Colere d'Aurille, oh grand maitre !");
CreateDMTools (oPC);
WriteTimestampedLogEntry("[Entree_MD] ["+sPlayerName+"] ["+sName+"] ["+sIPName+"] ["+sCDKey+"] ["+sLvl+"] ["+sXP+"]");
}
else
WriteTimestampedLogEntry("[Entree_Joueur] ["+sPlayerName+"] ["+sName+"] ["+sIPName+"] ["+sCDKey+"] ["+sLvl+"] ["+sXP+"]");


AddJournalQuestEntry("informations",1,oPC);
{
object item;
object oPC = GetEnteringObject();
if (GetIsPC(oPC))
{
if (GetXP(oPC) < 1) //si le joueur n'as pas de xp
{
SendMessageToPC(oPC, "");
item = GetFirstItemInInventory(oPC);
while (GetIsObjectValid(item)) // boucle qui vide l'inventaire
{
DestroyObject(item);
item = GetNextItemInInventory(oPC);
}
// donne les objets voulus au personnage
item = CreateItemOnObject("item017", oPC);
ActionEquipItem(item, INVENTORY_SLOT_CHEST);
// donne 1 xp au joueur pour identifier qu'il n'est plus un nouveau joueur
GiveXPToCreature(oPC, 1);
}
// message de bienvenu a tous les joueurs
SendMessageToPC(oPC, "Bienvenue sur...");
}
}
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Bon courage pour la suite Wink Very Happy
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
ElMathos
Novice
Inscrit le: 13 Mar 2004
Messages: 15
Répondre en citant
Posté le : 06/06/2004 16:14:10 Sujet du message :

Arg juste une p'tite erreur... Mad
Merci pour ta réponse Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 22/06/2004 08:23:50 Sujet du message :

Le premier sert bien a invoquer le destrier du paladin?
Et bien je vois plusieurs petites erreurs mais je suis pas sur d'abord que veut tu faire en mettent
NWScript :

GetItemActivator()> un chiffre
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

, ca ne veut rien dire si cest pour prendre le niveau total tu dois faire
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 155.121ms