La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 31/10/2024 23:45:59
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
metallick Chevalier Messages: 88 |
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 > 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 {} */ Et sa me donne 08/09/2006 22:42:33 : Erreur. 'nw_o0_death' n'est pas compilé. nw_o0_death.nss(8: ERREUR : UNEXPECTED END COMPOUND STATEMENT A L'AIDE !!!!! |
Revenir en haut | |
Aladar Chevalier Messages: 96 Localisation: Tours |
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
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); } |
Revenir en haut | |
metallick Chevalier Messages: 88 |
C bon :d
|
Revenir en haut | |
metallick Chevalier Messages: 88 |
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 > 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 } ======> 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 !!!!!! |
Revenir en haut | |
Aladar Chevalier Messages: 96 Localisation: Tours |
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
En fait ton script est assez étrange... pourrait tu détailler exactement ce que tu voudrais qu'il fasse ? |
Revenir en haut | |
metallick Chevalier Messages: 88 |
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... |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
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
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 _________________ » 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 | |
Semcatala Grand Sage du Conseil Messages: 951 |
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 ! 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 | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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