La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 01/11/2024 08:17:52


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
metallick
Chevalier
Inscrit le: 26 Aoû 2006
Messages: 88
Répondre en citant
Posté le : 10/09/2006 11:05:58 Sujet du message : Ajouter une ligne a un script...

Bonjour... J'ai enfin réussi a corriger ce script, et maintenant, je voudrais ajouter une ligne afin que le joueur qui meurt dans ma zone dont le tag est "LyonFourviereLarene" rez automatiquement avec toute sa vie... Voila je vous donne le script qui est bon et je voudrais savoir quoi rajouter et ou le rajouter... Merci.

NWScript :

void Raise(object oPlayer)
{
        effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION);

        effect eBad = GetFirstEffect(oPlayer);
        ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer);
        ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer);

        //Search for negative effects
        while(GetIsEffectValid(eBad))
        {
            if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
                GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
                GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
                GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
                GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
                {
                    //Remove effect if it is negative.
                    RemoveEffect(oPlayer, eBad);
                }
            eBad = GetNextEffect(oPlayer);
        }
        //Fire cast spell at event for the specified target
        SignalEvent(oPlayer, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE));
        ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPlayer);
}

void main()
{
    object oPlayer = GetLastPlayerDied();


    // * make friendly to Each of the 3 common factions
    AssignCommand(oPlayer, ClearAllActions());
    // * Note: waiting for Sophia to make SetStandardFactionReptuation to clear all personal reputation
    if (GetStandardFactionReputation(STANDARD_FACTION_COMMONER, oPlayer) <= 10)
    { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
        SetStandardFactionReputation(STANDARD_FACTION_COMMONER, 80, oPlayer);
    }
    if (GetStandardFactionReputation(STANDARD_FACTION_MERCHANT, oPlayer) <= 10)
    { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
        SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 80, oPlayer);
    }
    if (GetStandardFactionReputation(STANDARD_FACTION_DEFENDER, oPlayer) <= 10)
    { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad
        SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 80, oPlayer);
    }
    /*  Le desarmement a la mort du joueur
    int oLev = GetHitDice(oPlayer);
    if (d20(1)+ oLev &gt; 20 )
        {
        object oArme = GetItemInSlot(INVENTORY_SLOT_R IGHTHAND, oPlayer);
        location oLoc = GetLocation(oPlayer);
        if (oArme!= OBJECT_INVALID)
            {
            object oDrop = CreateObject(OBJECT_TYPE_PLACE ABLE,"plc_lootbag1", oLoc);
            //object oDrop = GetNearestObjectToLocation(OBJ ECT_TYPE_PLACEABLE,oLoc);
            AssignCommand(oDrop, ActionTakeItem(oArme, oPlayer));
            }
        }
    */

    //  LES SUBTILITES DE LA MORT
    // mise  jour de la pierre tombale
    int iDied = GetLocalInt(oPlayer,"iDied");
    ++iDied;
    SetLocalInt(oPlayer,"iDied",iDied);
    ExecuteScript("at_playerkill", oPlayer);
    //donne une carte de mort
    CreateItemOnObject("mortnodrop", oPlayer, 1);

    // retour au deroulement normal
    DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH));

}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tethilyssak
Grand Chevalier
Inscrit le: 07 Sep 2005
Messages: 100
Répondre en citant
Posté le : 10/09/2006 11:25:37 Sujet du message :

Tu rajoute ton if directement sous le void main.
_________________
Prenez votre destin en main !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
metallick
Chevalier
Inscrit le: 26 Aoû 2006
Messages: 88
Répondre en citant
Posté le : 10/09/2006 11:39:52 Sujet du message :

et la phrase sa donne quoi en quelque sorte?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tethilyssak
Grand Chevalier
Inscrit le: 07 Sep 2005
Messages: 100
Répondre en citant
Posté le : 10/09/2006 11:43:28 Sujet du message :

C'est un forum d'aide au scripting, si tu veux apprendre mets le nez dedans, regarde les fonctions et à quoi elles correspondent ...

Sinon fallais etre plus clair en disant que tu voulais qu'on le fasse pour toi Smile
_________________
Prenez votre destin en main !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
metallick
Chevalier
Inscrit le: 26 Aoû 2006
Messages: 88
Répondre en citant
Posté le : 10/09/2006 11:44:31 Sujet du message :

Lol ok ^^ mais sa s'ajoute dans le OnDeath ou dans le OnRespawn?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tethilyssak
Grand Chevalier
Inscrit le: 07 Sep 2005
Messages: 100
Répondre en citant
Posté le : 10/09/2006 11:47:50 Sujet du message :

Ben c'est a toi de voir ... c'est toi qui a eu l'idée hein Smile Depends de ce que tu veux faire.
_________________
Prenez votre destin en main !
 
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 101.449ms