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 02:13:44


  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 : 08/09/2006 21:44:54 Sujet du message : Snif a l'aide!!!!

Personne ne me réponds :'( J'ai besoin d'aide!!!!
Sur mon module, je voudrais que mes joueurs respawn que dans l'arène avec quelques petits détails, j'ai mis sa en script...

NWScript :

void Raise(object oPlayer)
{

    DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH));
    object oPC = GetLastPlayerDied();
effect eEffect = EffectLinkEffects(EffectResurrection(), EffectHeal(GetMaxHitPoints(oPC)-1));

if(GetTag(GetArea(oPC)) == "Arene")
{
  DelayCommand(15.0, ApplyEffectToObject(0, eEffect, oPC));
  DestroyObject(GetItemPossessedBy(oPC, "mort"), 15.0);
}
    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);
/* warning: 1 unclosed block {} */
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.



Et sa me donne
08/09/2006 22:42:33 : Erreur. 'nw_o0_death' n'est pas compilé.
nw_o0_death.nss(8Cool: ERREUR : UNEXPECTED END COMPOUND STATEMENT


A L'AIDE !!!!!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Aladar
Chevalier
Inscrit le: 15 Déc 2004
Messages: 96
Localisation: Tours
Répondre en citant
Posté le : 08/09/2006 22:06:15 Sujet du message :

Regarde à la fin de ton script (sur le forum), ça te marque ;

Citation :
/* warning: 1 unclosed block {} */
Donc un { } n'est pas fermé, il manque un } à la fin Smile

NWScript :
void Raise(object oPlayer)
{

    DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH));
    object oPC = GetLastPlayerDied();
effect eEffect = EffectLinkEffects(EffectResurrection(), EffectHeal(GetMaxHitPoints(oPC)-1));

if(GetTag(GetArea(oPC)) == "Arene")
{
  DelayCommand(15.0, ApplyEffectToObject(0, eEffect, oPC));
  DestroyObject(GetItemPossessedBy(oPC, "mort"), 15.0);
}
    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 &amp;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);
}
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
 
metallick
Chevalier
Inscrit le: 26 Aoû 2006
Messages: 88
Répondre en citant
Posté le : 08/09/2006 22:06:57 Sujet du message :

C bon :d
 
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 : 09/09/2006 02:54:02 Sujet du message :

C bon pour la compilation, mais un souci persiste... Les joueurs n'ont plus l'encadré avec les proposition style respawn ou attendre de l'aide!

Voila ce que j'ai mis...

NWScript :

void Raise(object oPlayer)
{

    DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH));
    object oPC = GetLastPlayerDied();
effect eEffect = EffectLinkEffects(EffectResurrection(), EffectHeal(GetMaxHitPoints(oPC)-1));

if(GetTag(GetArea(oPC)) == "Arene")
{
  DelayCommand(15.0, ApplyEffectToObject(0, eEffect, oPC));
  DestroyObject(GetItemPossessedBy(oPC, "mort"), 15.0);
}
    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
}
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.




======> Donc pour etre plus clair, je n'ai plus l'encadré qui propose les choix (respawn,quitter le jeu, attendre de l'aide,et je ne sais plus quoi) C'est très très embarassant !!!!!! Sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Aladar
Chevalier
Inscrit le: 15 Déc 2004
Messages: 96
Localisation: Tours
Répondre en citant
Posté le : 09/09/2006 03:54:22 Sujet du message :

Pour ouvrir l'encadré c'est PopUpGUIPanel, fonction qui se trouve dans ton Void Raise mais ce Raise n'est pas utilisé dans le code, donc normal que ça l'ouvre pas Razz

En fait ton script est assez étrange... pourrait tu détailler exactement ce que tu voudrais qu'il fasse ?
 
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 : 09/09/2006 10:20:33 Sujet du message :

Bah en, fait c un script qui étai déja sur le serv j'ai pri un serv qui existai déja pour commencer et le modifier... Donc serait-il possible de me dire quoi ajouter et ou?

S'il-vous plait... Vous pouvez m'expliquer ce que je dois ajouter et ou je dois l'ajouter pour que ce cadre revienne??? Je suis trop en galère la ! Mon serveur est bloqué tant que ce problème existe... Crying or Very sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 11/09/2006 13:57:59 Sujet du message :

C'est inutile de te morfondre et de nous faire un remake de tragédie racinienne si tu veux qu'on t'aide tu sais Very Happy

Essaye également s'il te plaît de mettre des titres explicites, qui expriment succinctement quel est ton problème : c'est plus clair pour tout le monde si tu indiques "Problème de respawn et panneau" plutôt que "a l'aide plz svppppp aidé mwaaa" (et ça facilite les choses par la suite pour les fonctions de recherche).

Merci donc de faire attention à ces points, et je suis sûr qu'avec ça tu trouveras une âme charitable pour te filer un coup de main Wink
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 14/09/2006 10:59:25 Sujet du message :


Citation :
Personne ne me réponds :'( J'ai besoin d'aide!!!!
En haut a droite de ton premier post , tu as la possibilité d'éditer et de modifier ton premier message.

Commence déja par mettre un titre cohérent a ton message , et aprés on pourra commencer a discuter.

Titre incohérent = je ne regarde même pas tes scripts.

En tout cas pour moi ! Very Happy

J'immagine bien tous les titres de posts : " au secours " , " snif a l'aide " , bouhh je suis triste " , etc etc etc ....
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
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 79.912ms