Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  

 

 Scripts et avancement du module....

Aller en bas 
3 participants
AuteurMessage
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Scripts et avancement du module....   Scripts et avancement du module.... EmptyLun 8 Aoû à 17:47

BG: 80%

Mappage racine:
-Exterieurs: 80%
- Interieurs: 10%

Mappage temporaire: 0%

Creatures: 80%

Items: 50%

Scripts: 10%

Communication (du bg, des regles..): 40%

Equipe: Toute personne desirant participer au projet est bien evidament la bienvenue. Contact par pm. Recherchons deux ou trois administrateurs pour regler les conflits entre joueurs.


Dernière édition par le Mar 30 Aoû à 16:22, édité 1 fois
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyLun 8 Aoû à 22:09

Scripts recherchés:

Jour -- Infliger des degats aux Vampires de 5h à 7h ?....

Voleurs-- Empecher les voleurs de piquer des trucs plus grands qu'eux dans l'inventaire du voisin....

Victimes -- Un script henchmen "rester ici" "me suivre".

Persistance -- Un script persistant de localisation, pv, inventaire.... sur la base de donnée de Bioware.

Script HCR inventaire -- Trois/cinq potions, sac de dimensions reelles..

Script limitation classes: roublard, guerrier.

Script limitation race: elfe.

Script mort.
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyMar 9 Aoû à 14:06

script antikevin: impossibilité d'utiliser le dmgod (invincible) ou dmkill (mort par dm).
Revenir en haut Aller en bas
Kem
Invité




Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 16:28

Pour le script sur le jour, j'en ai un en réserve qui permet le contrôle des loups garous justement vis à vis de jour/nuit via un objet dans l'inventaire (dont on ne peut pas se débarasser)

Ca doit pouvoir se bidouiller. Je le poste ?
Il provoque la métamorphose à la tombée de la nuit et à l'aube.
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 16:35

C'est assez genial. Very Happy

Vous avez envie de voir des lycanthropes sur le mod ?
Why not... Chez qui, pour quelle raison ? Ca pourrait etre chouette chez certaines furies... ou ca pourrait etre une maladie. ou une malediction. Ou une benediction.
Ca change que la forme, ou les caracteristiques aussi ?



Sinon, grace à Tom, le module du Paradis Perdu nous prete un script antivol-bourrin. Je mettrais ca dans un post de remerciements lorsque le mod sortira.
Revenir en haut Aller en bas
Kem
Invité




Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 19:43

Vampires vs. lycanthropes, grand classique.

Vi tous les changements sont prévus.

Grosse guerre, deux clans opposés déjà alors Wink

voilà le bazard :
by Kalkaana
Citation :
sur un HeartBeat Module (ca serait peut-être gourmand ceci dit) ou tout autre gestion de battement de coeur (1mn, 10mn etc)

Un peu d'algèbre de Boole et utilisation d'un évênement décalé dans le temps d'un battement.

timing : # pour un "beat"
valeur des variables : 0 ou 1, x pour indéterminé
^ : ou exclusif bit à bit "XOR"
_| 0 | 1 |
0| 0 | 1 |
1| 1 | 0 |

mémorisons dans nDuskDawn, l'état de nNight = GetIsNight() lorsque que celui-ci change.
en vert le premier "beat" capté par le script (je ne mets qu'un cas mais vous pourriez vérifier pour chaque période la levée d'indétermination

Période Jour ####### | Aurore ####### | Nuit ######## | Aube ##### (---> échelle du temps qui passe)
nNight 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 | 1 1 1 1 1 1 1 1 1 | 0 0 0 0 0 0 0 0
nDuskDawn x x x x x x x | x x x x x 0 0 0 0 0 | 0 1 1 1 1 1 1 1 1 | 1 0 0 0 0 0 0 0
( nDuskDawn ^ nNight ) | x x x x x 0 0 0 0 0 | 1 0 0 0 0 0 0 0 0 | 1 0 0 0 0 0 0 0

=> Deux déclenchements indiqués en rouge si mémorisation de GetIsNight() dans nDuskDawn

tester après (nDuskDawn ^ nNight ) && nNight pour filtrer l'instant du début de nuit

----------------------------------------------------------------------------

implémentation :

CODE
// no initialisation needed
object oMod=GetModule(); // Note : sur les évênements modules OBJECT_SELF est pareil que GetModule();
int nDuskDawn = GetLocalInt(oMod,"DAYNIGHT_STATE");
int nNight = GetIsNight() ? 1 : 0;
if( nDuskDawn ^ nNight ){ // bitwise XOR => testing change between two beat
SetLocalInt(OBJECT_SELF,"DAYNIGHT_STATE",nNight);
if( nNight ){ // fin de l'aurore
ExecuteScript("Script de début de Nuit",oMod);
} else { // début de l'aube
ExecuteScript("Script de fin de Nuit",oMod);
}



Pour faire plus joli, mettre dans OnModuleLoad pour lever l'indétermination :

CODE
SetLocalInt(GetModule(),"DAYNIGHT_STATE",GetIsNight());



Tester la transformation des personnages maudits :

Les "Script de début de Nuit" & "Script de fin de nuit" peuvent être combinés en un seul pour ce cas précis :


CODE
#include "nw_i0_tool"

void main(){
object oPC = GetFirstPC();
int nNight = GetIsNight();
string sTagItemForme = "MALADIE_GAROU"; // le Tag de l'item maudit requis
// dans l'inventaire du perso
effect eVfx1 = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect ePolyGarou = EffectPolymorph(POLYMORPH_TYPE_WEREWOLF, TRUE); // TRUE pour forme verrouillée => ne peut pas redevenir normal tout seul
ePolyGarou = SupernaturalEffect(ePolyGarou); // le repos n'enlève pas la transformation
// vérifier pour tout le monde
while( GetIsObjectValid(oPC) ){
if( HasItem(oPC,sTagItemForme) ){
if( GetLocalInt(oPC, "FORME_LOUPGAROU") ){
// je suis déjà Loup-Garou
if( !nNight ){ // si le jour se lève => forme normale
effect eEff = GetFirstEffect(oPC);
while( GetIsEffectValid(eEff) ){
if (GetEffectType(eEff)==EFFECT_TYPE_POLYMORPH ){
RemoveEffect(oPC, eEff);
}
eEff=GetNextEffect(oPC);
} // enlève l'effet de polymorph garou
DeleteLocalInt(oPC, "FORME_LOUPGAROU");
}
} else { // je ne suis pas loup-garou
if( nNight ){ // si la nuit tombe, devient loup-garou
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVfx1, oPC);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePolyGarou, oPC);
SetLocalInt(oPC, "FORME_LOUPGAROU", TRUE);
}
} // test forme actuelle
} // test présence item maudit
oPC = GetNextPC();
} // pour chaque PJ présent
}// main



-------------------------------------------------------------------------------

Pour la transformation par item : voici un script compatible avec l'automatisation jour/nuit ci-dessus.
Pour laisser la possibilité que le métamorphe ne se contrôle pas à 100%, c'est dissocié en deux items (avec Tags différents) : un pour la malédiction, un pour le contrôle.
Comme celà si il a les deux dans son inventaire, il reste démasquable
le loup-garou redeviendra normal dés les premières lumières du jour, dévoilant son identité, de même il se transformera automatiquement en début de nuit, tout en pouvant changer de forme quand même avec l'objet.
Le vrai métamorphe se verra nettoyé de l'objet maudit. (lui enlever)


CODE
void main(){
object oPC = GetItemActivator();
object oItem = GetItemActivated();
string sTagItemForme = "VRAI_GAROU"; // le Tag de l'item maudit activé
effect eVfx1 = EffectVisualEffect(VFX_FNF_NATURES_BALANCE);
effect ePolyGarou = EffectPolymorph(POLYMORPH_TYPE_WEREWOLF, TRUE); // TRUE pour forme verrouillée => ne peut redevenir normal tout seul
ePolyGarou = SupernaturalEffect(ePolyGarou); // le repos n'enlève pas la transformation

if( GetTag(oItem) == sTagItemForme) ){
if( GetLocalInt(oPC, "FORME_LOUPGAROU") ){
// je suis déjà Loup-Garou retour à la normale
effect eEff = GetFirstEffect(oPC);
while( GetIsEffectValid(eEff) ){
if (GetEffectType(eEff)==EFFECT_TYPE_POLYMORPH ){
RemoveEffect(oPC, eEff);
}
eEff=GetNextEffect(oPC);
} // enlève l'effet de polymorph garou
DeleteLocalInt(oPC, "FORME_LOUPGAROU");
} else { // je ne suis pas loup-garou, transformation
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVfx1, oPC);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePolyGarou, oPC);
SetLocalInt(oPC, "FORME_LOUPGAROU", TRUE);
} // test forme actuelle
} // test activation item de métamorphose
}// main



attention comme le métamorphe contrôle sa forme, il faut que l'objet soit utilisable dans la forme loup-garou.

----------------------------------------------------------------------------------

Questions : Objets obligatoires ?

a) équipé :
- pour la malédiction (MALADIE_GAROU) il n'y a pas besoin qu'il soit dans les slots actifs, juste présent dans l'inventaire
- pour le vrai pouvoir (VRAI_GAROU), l'objet devra être utilisable sans être équipé et surtout un des rares objets utilisables en métamorphose (je n'ai que les potions qui me viennent à l'esprit : à vérifier, sinon créer sur le PJ une potion à usage unique avec le Tag "VRAI_GAROU" et "Lancer un Sort : pouvoir unique sur soi" au moment de la transformation vers la forme loup)
voir cette fonction pour le faire :

CODE
CreateItemOnObject(string sItemTemplate, object oTarget=OBJECT_SELF, int nStackSize=1)


Suivant les légendes la Belladone sert aussi à soigner de la malédiction du loup-garou ; celà pourrait être de "l'extrait de Belladone"

b) nécessaire sur le PJ : à défaut de gestion de la persistence via la database et les fonctions disponibles dans nwn, il faut obligatoirement un item "non-dropable" (qu'on ne peut lâcher au sol ou appelé aussi item maudit) sur le personnage pour la malédiction.
Revenir en haut Aller en bas
Tom
Vampire
Tom


Nombre de messages : 98
Pj : Yaster
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 20:07

Heu faire du vampire vs lycan, bof, ça rappelera trop Underworld (si c'est ça le titre en fait), ce qui est mauvais..... on va pas faire gueguerre vampires - lycan quand même! Mad

Mais, oui, pourquoi pas instaurer une maladie, tel le virus du SIDA qui se trouvent dans certains sangs trafiqués, et qu ise répend. Mais transformer en "homme loup" = moyen, il faudrait quelquechose qui soit un état maladif.... Car se recouvrir de poil et avoir els dents qui poussent et les muscles qu ise bandent, ça fait pas trop état maladif Rolling Eyes . Fau trouver un autre skin pour la "transformation".




Sinon, pour le script anti vol, un des mappeurs du PP t'a demandé de lui demander toi même.... (en gros, sur le PP personne ne m'aime quoi sauf 3-4 personnes, donc voilà poruquoi Laughing )
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 20:15

Pour le lycan, je pensais à quelque chose comme une ooze.. mais peut etre pas.. Ou un truc gelatineux. Ou malade. je sais pas.

Pour la guerre lycan / vampires, euh.... Disons que nos vampires, je vasi peut etre songer à les appeller autrement. c'est vrai que ca porte à confusion.... Une idée ?

Pour le script de pp, c'est Malicene qui m'a contactée sur les mofules fr, en disant qu'elle venait de ta part.
Revenir en haut Aller en bas
Tom
Vampire
Tom


Nombre de messages : 98
Pj : Yaster
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 21:04

Citation :
Pour la guerre lycan / vampires, euh.... Disons que nos vampires, je vasi peut etre songer à les appeller autrement. c'est vrai que ca porte à confusion.... Une idée ?

Non, pas les renommer. Plutôt les présenter distinctement dans un post consacré, en "démolissant" les bases du vampires traditionnel! Wink
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 21:20

A toi l'honneur. Wink
Revenir en haut Aller en bas
Kem
Invité




Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyJeu 18 Aoû à 21:21

Ouaip.
Faut éclaircir.

Les vampires d'ici ont-il peur des crucifix? De l'ail? De l'eau bénite?

Ou bien rien à foutre comme dans Anne Rice ?

Très important.
D'où le problème du multivers. En fonction de où vient le personnage décédé, il aura une vision différente dans ses mythes personnels. Il faut absolument cerner le monde d'origine.
Enfin je l'ai déjà dit ailleurs ...
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyMar 30 Aoû à 16:20

On a fait ca dans l'antichambre, un post sur les vampires. mais rien n'empeche un joueur de decider que son mec s'imagniera sensible à l'ail...
Des fois, l'autosuggestion, c'est puissant.

-----------------------------------------------------

Pour les scripts, petite mise à jour:

Scripts recherchés:


Jour -- Infliger des degats aux Vampires de 5h à 7h ?.... (pas urgent)

Victimes -- Un script henchmen "rester ici" "me suivre".

Persistance -- Un script persistant de localisation, pv, inventaire.... sur la base de donnée de Bioware.

Script limitation classes: roublard, guerrier.
Script limitation race: elfe.

Script "traite du sang": script permettant de "traire" les Victimes et les Larves sans rebellion de leur part, et les Raclures, Crochemards, Crochemorts, Furies avec une attaque de leur part. Basé sur les Ethnies.
Donne une potion d'une categorie correspondant à la race citée, illimité.

Script mort:
Medic Arwen: on death
Medic Arwen: dans le script "on death" des PJ tu peux choper la personne qui a tué le pj
Medic Arwen: apres tu lui balance un dialogue "voulez-vous achever untel"
Medic Arwen: et s'il répond oui, bé tu fais ton truc pour vider l inventaire et bloquer le pj mort dans une zone spéciale qui représente le fait qu'il est mort definitivement.

Palette perso de Creatures (normalement Felix s'en occupe).




Scripts trouvés:

Voleurs-- Empecher les voleurs de piquer des trucs plus grands qu'eux dans l'inventaire du voisin.... (Par Zaran)

Script HCR inventaire -- Trois/cinq potions, sac de dimensions reelles.. (Par Finipe)

Palette perso d'objets -- (Par Felix)

Inventaire personalisé à la premiere connexion -- (Par Alandilas)
Revenir en haut Aller en bas
kermo
Crochemard
kermo


Nombre de messages : 47
Pj : Jemima
Date d'inscription : 30/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyMar 30 Aoû à 17:14

Les scripts recherchés j'en ai quelques-uns maison (limitation de race/classe, henchman)

J'ai un de persistance sur objet d'inventaire indroppable, mais le passer sur bdd Bioware devrait pas poser de problème

Celui sur la traite ou la mort ne sont pas bien compliqués à faire

Je les mets où ?
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyMar 30 Aoû à 17:30

Ouh.. Very Happy
Ca c'est une nouvelle qu'elle est bonne.

Bah si ca t'ennuie pas tu les poste ici, sinon tu me les envoie en pm ?

Pour l'histoire des henchmens, c'est un script persistant ?... C'est à dire si on dit à sa victime "reste ici", elle reste jusqu'a ce que le pj vienne la chercher, même s'il y a un reboot du serveur ? Ce qui a l'air de poser probleme aussi, c'est qu'il faudrait que chaque victime n'obeisse qu'a un pj en particulier...
Si c'est trop dur, on va devoir se creser l'esprit pour tricher. ^^
Revenir en haut Aller en bas
kermo
Crochemard
kermo


Nombre de messages : 47
Pj : Jemima
Date d'inscription : 30/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyMar 30 Aoû à 18:03

Actuellement il est pas persistant pour les henchs mais on peut le rendre persistant. C'est aussi possible de lier un PJ à une victime, à ce moment tout bêtement ça sera le premier PJ qui la prendra, qui la gardera.
Est-ce qu'un PJ peut avoir un hench, lui dire de rester à un endroit et en prendre un autre pendant ce temps ? (parce que ça serait plus compliqué pour le coup)
(mon msn est affiché pour éviter de flood le forum sinon)


Obliger à être Elfe et Guerrier, Roublard ou Maitre d'Armes

Ca dépend un peu de la façon dont le PJ entre sur le module, ce que je trouve le plus simple c'est un déclencheur sous le point de départ du mod, qui s'occupe des trucs à initialiser à l'entrée d'un PJ dans le mod, après un reboot (si il n'y a pas eu de reboot ça ne fait rien du tout).
C'est différent d'un script du genre OnClientEnter, car celui-ci est déclenché dès qu'un PJ se connecte, pas seulement quand il s'agit d'un reboot, enfin ça s'adapte vite.

A la connexion (dans le déclencheur sus-cité ou dans le OnClientEnter) :
Code:
void main()
    {
    object oPC = GetEnteringObject();

    if(GetXP(oPC) == 1)    // premiere connexion d'un PJ
        {
        int iPass = TRUE;

        // elfe ou pas elfe ?
        if(GetRacialType(oPC) != RACIAL_TYPE_ELF)
            {
            FloatingTextStringOnCreature("Vous devez creer un personnage Elfe", oPC);
            iPass = FALSE;
            }

        // guerrier ou roub ?
        int iClass = GetClassByPosition(1, oPC);
        if(iClass != CLASS_TYPE_ROGUE && iClass != CLASS_TYPE_FIGHTER)
            {
            FloatingTextStringOnCreature("Vous devez creer un roublard ou un guerrier", oPC);
            iPass = FALSE;
            }

        // si tout est bon on donne 40 niveaux
        if(iPass)
            {
            GiveXPToCreature(oPC, 820000);
            }
        else
            {
            // ce qu'on est cense faire d'un perso non valide : kick, ban, transfo en pingouin, que sais-je
            }

        }
    }

Dans le OnPlayerLevelUp
Code:
void main()
    {
    object oPC = GetPCLevellingUp();

    // niveau du PJ
    int iLvl = GetHitDice(oPC);

    // niveaux des classes acceptees
    int iLvlOk = GetLevelByClass(CLASS_TYPE_FIGHTER, oPC) + GetLevelByClass(CLASS_TYPE_ROGUE, oPC) + GetLevelByClass(CLASS_TYPE_WEAPON_MASTER, oPC);

    if(iLvl != iLvlOk)                                  // il y a d'autres classes
        {
        int iXP = GetXP(oPC);                          // XP actuels
        int iStopXP = ((iLvl * (iLvl-1))/2 - 1)*1000;  // XP pour annuler le niveau
        SetXP(oPC, iStopXP);                            // on annule le niveau
        FloatingTextStringOnCreature("Vous ne pouvez prendre que des niveaux de Guerrier, Roublard ou Maitre d'Armes", oPC, FALSE);

        DelayCommand(1., SetXP(oPC, iXP));              // on redonne les XP d'avant
        }
    }
Revenir en haut Aller en bas
Qu'un Oe
Invité




Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyMer 31 Aoû à 21:41

Bonjour,

Suite à un post d'Ebene sur jol, je me propose de vous fournir un coup de main pour les scripts dont vous pouvez avoir besoin. J'ai pas mal de temps libre au mois de septembre, et différents mods solos (malheureusement avortés) m'ont donné une certaine expérience en matière de scripts.
Je ne m'y connais pas trop en terme de persistance (j'imagine qu'il va falloir que j'aille fouiller les articles sur le Vault et autre pour m'instruire), mais sinon je me débrouille bien pour le reste.
Donc voilà, si vous avez besoin de quelque chose en particulier, je suis à votre disposition Smile
Revenir en haut Aller en bas
Ebene
Rang: Administrateur
Ebene


Nombre de messages : 322
Pj : Emelle
Date d'inscription : 08/08/2005

Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... EmptyMer 31 Aoû à 21:52

Tu trouvera des sujets de scriptage là où kermo aura posté. ^^
Il est arrivé à peu pres en même temps que toi, en fait juste apres mon post sur jol. Smile
Encore une fois, bienvenue Very Happy


Dernière édition par le Mar 6 Sep à 23:05, édité 1 fois
Revenir en haut Aller en bas
Contenu sponsorisé





Scripts et avancement du module.... Empty
MessageSujet: Re: Scripts et avancement du module....   Scripts et avancement du module.... Empty

Revenir en haut Aller en bas
 
Scripts et avancement du module....
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Modifs du module]
» Quand le module sortira....
» [Liste des objets spé en circulation dans le module]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
 :: Archives-
Sauter vers: