JeuxOnLineForumsPlusConnectés : 254 (sites) | 403 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
Citation:
Comme quoi un RAT est plus utile qu'un ange
Ouiiiiiiiiiinnnnnnnnn....
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
*lui tend un mouchoir*
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
(solut)
Si je puis me permettre, la ca va poser un pb, au remove effect, parce que la tu remove n'importe quoi Rat
Un effet ne peut être retrouver simplement avec ses caractéristiques

Je propose de passer par un objet invisible custo qui place les effets de cette fonction ca permet de garder le module comme créateur d'autres effets et c'est plus propre je trouve ^_^

on le crée ds le onmoduleload et on l'appel dans la fonction.
je rajoute donc ca :
Code PHP:
string sCreatTag "TAG_DU_CREATOR";
object oCreator GetObjectByTag(sCreatTag);//il faut que l'objet soit UNIQUE, sinon ca va couiller comme on dit

          
eEffet GetFirstEffect(oPJ);
          
int i=TRUE;
          while(
GetIsEffectValid(eEffet)&&i){
             if(
GetEffectCreator(eEffet) == oCreatorFALSE;//on a trouve !
             
else
             
eEffet GetNextEffect(oPJ);//sinon on cherche
             

Et voila le truc en entier, non testé ^_^

Code PHP:

void PVPolymorph
();
void main(){
string sCreator "RESREF_DU_CREATOR";
string sCreatTag "TAG_DU_CREATOR";
int i=0;
object oCreator GetObjectByTag(sCreatTag);//il faut que l'objet soit UNIQUE, sinon ca va couiller comme on dit

//une pitite boucle pour eliminer tous les objets qui pourraient gener
if(!GetIsObjectValid(oCreator))
CreateObject(OBJECT_TYPE_PLACEABLEsCreatorGetStartingLocation());//je cree l'objet au pt de départ si y en a pas déjà un

PVPolymorph();//pk ne pas garder un si joli nom ^_^
}

void PVPolymorph()
{
string sCreatTag "TAG_DU_CREATOR";
object oCreator GetObjectByTag(sCreatTag);//il faut que l'objet soit UNIQUE, sinon ca va couiller comme on dit

object oPJ GetFirstPC();
effect eEffet EffectPolymorph(POLYMORPH_TYPE_PANTHER);//modifier le polymorph par ce que lon veux ^^
int nValue=2;

while(
GetIsObjectValid(oPJ))
    {
    
int nPVs GetMaxHitPoints(oPJ);
    
int iDeclenche nPVs /4//A 25% des pvs du joueurs
    
int nEffacenPVs/nValue;
    
int nCurrent GetCurrentHitPoints(oPJ);

    if(
nCurrent <= iDeclenche)
        
AssignCommand(oCreatorApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffet,oPJ));
        
//donc la c "oCreator" qui place l'effet, on pourra le retrouver
    
else
      if (
nCurrent >= nEfface){
          
eEffet GetFirstEffect(oPJ);
          
int i=TRUE;
          while(
GetIsEffectValid(eEffet)&&i){
             if(
GetEffectCreator(eEffet) == oCreatorFALSE;//on a trouve !
             
else
             
eEffet GetNextEffect(oPJ);//sinon on cherche
             
}
          
RemoveEffect(oPJ,eEffet);
          }
    
oPJ GetNextPC();
    }
DelayCommand(10.0,PVPolymorph());

mais compilé ^_^
j'en ai profité pour enlever les fautes d'ortographe

edit : j'avais pas fais l'assign command . . . c'était pas près de marcher

Bon, alors là en l'état y a un pb : les rechargement/déchargement de module
ce que je conseillerais, virer les effets (grace à la boucle donnée) quand on s'en vas, et comme quand on revient ca se remet, tt baigne

là g un doute, les effets restent quand on quitte la partie ?quand on sauvegarde oui (je pense, en fait g jamais trop joué . . . ahem ) donc faudrait prévoir quelque chose à ce moment là . . . voir mieux, ne créer l'objet que si il éxiste pas, ce que je m'empresse de faire tt de suite

reedit : donc voila, maintenant ca marcheras tout nikel, sauvegardes ou pas, déco ou pas (je pense, je connais pas trop les effets, enfin précisement, savoir comment sont stockés les infos sur un effets etc.)
Breeeeeffffff . . . en théorie ca marche (jusqu'à preuve du contraire quoi)

comment on fais ?
On met ce script dans le onmoduleload, et un crée dans la palette un objet avec pour tag ce qu'on veut, mais il faut le préciser (TAG_CREATOR) et un resref pareil, ce qu'on veut mais faut préciser. L'objet est usable, mais invisible. pas forcement invisible, c'est juste une idée, ca peut être une pancarte indestructible ou que sais je. On peut le placer d'avance dans le module, ca change rien, faut juste qu'il n'y en ai qu'un seul
Ouala, je crois que g tt dit cette fois ci ^_^
Lien direct vers le message - Vieux
aaaaa
Dauphine
 
c'est sympa de se préocuper à ce point de mon idée!
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Oui comme je suis à mon boulot, je me souvenais pas des paramètres en entier du RemoveEffect et J'ai fais ça avec le temps que j'avais, c'est à dire pas bcp. Donc il fallait rajouter, l'object du PC. ce qui est logique


Je viens de faire une petite recherche, et normalement si l'effet se trouve sur le Même script. Un simple RemoveEffect devrait marchait normalement


Cela serait sympa qu'un Testeur ou Testeuse puisse essayer tester le script (j'ai corrigé le RemoveEffect sur mon post) pour voir si cela marche sans passer dans une deuxième boucle.
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
oui mais est ce qu'on est bien dans le même script ? parce qe la le script il est juste relancé, enfin le fonction, plus tard . . . nan ?
Ou bien c'est cette histoire du delaycommand qui se garde des variables sous le coude ?
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Tu poses une très bonne question,

Je pense que c'est no soucy, mais je ne suis pas sur. C'est pour ça, qu'il faut comme je dis souvent, ne pas dénigrer les deux versions mais les tester .
Maintenant, Là dessus tu peux avoir raison.

Donc au lieu, de se lancer dans une discussion ou on ne pourra pas trouver de réponse. La meilleure chose est de tester à mon avis.

.

Tant qu'on ne testera pas, on aura pas de preuve .
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > script idée
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 07h15.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite