JeuxOnLineForumsPlusConnectés : 711 (sites) | 1225 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
Avatar de raistlin
raistlin
Roi
 
Avatar de raistlin
 

Deco et reco

bon voila j'ai essayé de chercher mais je n'ai rien trouvé( peut être pas le bon mot clef) des petit malin s'amuse sur mon module a ce deco et reconnecté quand ils sont mort et il revienne vivant sans avoir respawn , comment faire???
Lien direct vers le message - Vieux
Mercius
Roi
 
tiens essaye ça :

script de nom sethp
Code PHP:
// Met le nombre de point de vie de Ocrea a la valeur nHP 
void SetCurrentHitPoints(object oCreaint nHP); 


void SetCurrentHitPoints(object oCreaint nHP

  
int nCurHP=GetCurrentHitPoints(oCrea); 
  
effect eAdjust
  if (
nCurHP>nHP
  { 
    
eAdjust=ExtraordinaryEffect(EffectDamage(nCurHP-nHP)); 
    
ApplyEffectToObject(DURATION_TYPE_INSTANTeAdjustoCrea); 
  } 
  else if (
nCurHP<nHP
  { 
    
eAdjust=ExtraordinaryEffect(EffectHeal(nHP-nCurHP)); 
    
ApplyEffectToObject(DURATION_TYPE_INSTANTeAdjustoCrea); 
  } 

script de nom fix_deco_reco


Code PHP:
#include "sethp" 

// fonctions declarations 


//************************************************************ 
//*        Fix du dead bug et de la deco mort reco vivant     * 
//*          Retrouve les PV qu il avait lors de la deco      * 
//*     !! script a mettre dans  evenenement OnClientEnter!!  * 
//************************************************************* 
void fix_deco_reco_enter (object oPC); 


//************************************************************ 
//*        Fix du dead bug et de la deco mort reco vivant     * 
//*          Retrouve les PV qu il avait lors de la deco      * 
//*     !! script a mettre dans  evenenement OnClientLeave!!  * 
//************************************************************* 
void fix_deco_reco_leave (object oPC); 



void fix_deco_reco_enter (object oPC

    
//Récupération des infos PJ uniques 
    
string sKey=GetPCPublicCDKey(oPC); 
    
string sPName=GetPCPlayerName(oPC); 
    
string sCName=GetName(oPC); 
    
string sUniqueKey=sKey+sPName+sCName+"fpv"


   
//Sauvegarde de la CDKey et du PlayerName pour usage ultérieur 
   
SetLocalString(oPC"CDKEY"sKey); 
   
SetLocalString(oPC"PNAME"sPName); 


    
//Récupération du flag de première connexion 
    
int nNoFirst=GetLocalInt(GetModule(), sUniqueKey+"CONNEXION"); 

   
//Test de la première connexion ou non 
   
if (nNoFirst
   { 
     
// recupration du nombre de PV lors de la deconection 
     
int nb_HP=GetLocalInt(GetModule(), sUniqueKey); 
     
SetCurrentHitPoints(oPCnb_HP); 
   } 
   else 
   { 
     
//Mettre le flag de première connexion 
     
SetLocalInt(GetModule(), sUniqueKey+"CONNEXION"1); 
  } 



void fix_deco_reco_leave (object oPC

  
int nHP=GetCurrentHitPoints(oPC); 


  
//Récupération des infos PJ uniques, dont celles sauvées à la connexion 
  
string sKey=GetLocalString(oPC"CDKEY"); 
  
string sPName=GetLocalString(oPC"PNAME"); 
  
string sCName=GetName(oPC); 
  
string sUniqueKey=sKey+sPName+sCName+"fpv"

  
//Stocr les PV d'un joueur à la déco 
  
SetLocalInt(GetModule(), sUniqueKeynHP); 



puis dans les events OnEnter et OnExit du module, met ces 2 fonctions, en incluant le script fix_deco_reco :
Code PHP:
void fix_deco_reco_enter (object oPC); 
 
void fix_deco_reco_leave (object oPC); 
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Je vois pas trop l'interet de faire des biblio pour des fonctions qui ne seront appelées qu'une fois personellement

Et honnetement, stocker sKey et sPName, c'est un peu bête, mieux vaut stocker sUniqueKey, ca fait gagner que 4-5 lignes, mais c'est toujours ca de pris

Et personellement je trouve ca bete de baser ca sur la clé CD, suffit que le bonhomme joue depuis chez un copain pour que ca marche plus. Pour les pv ca va, mais faut voir a pas toutstocker comme ca, de toute façon sPName+sCName est deja unique.
Lien direct vers le message - Vieux
Avatar de raistlin
raistlin
Roi
 
Avatar de raistlin
 
desolé mais sa compil pas void fix_deco_reco_enter (object oPC); je l'ai bien mis dans oncliententer
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Bon, tu crées 2 scripts deja :

le premier qui s'appelle sethp, tu mets la premiere fonction

le deuxième qui s'appelle fix_deco_reco, tu mets le deuxième pavé

Ensuite, dans ton OnClient Enter, tu rajoutes simplement :
Code PHP:
object oPC=GetEnteringObject();
fix_deco_reco_enter(oPC); 
Dans ton OnclientLeave, tu rajoutes :
Code PHP:
object oPC=GetExitingObject();
fix_deco_reco_leave(oPC); 
Lien direct vers le message - Vieux
Mercius
Roi
 
c'est pas moi qui ai fait ce script, et puis c'est plus clair comme ça.
Raistlin, as-tu inclut le script fix_deco_reco dans ton script onenter? (#include "fix_deco_reco")
Lien direct vers le message - Vieux
Avatar de raistlin
raistlin
Roi
 
Avatar de raistlin
 
merci tous les 2 sa marche super vous étés genial merci merci merci




heu une petite question j'ai mis le scrypt de la mort selon les regle D ET D mais si on est tous seul est que l'hémorragie est soigné comment revenir a la vie
???
Lien direct vers le message - Vieux
Avatar de gaeriel/nekresh
gaeriel/nekresh
Empereur
 
Avatar de gaeriel/nekresh
 
Pourquoi ne pas avoir mis simplement un objet dans l'inventaire qui signifie que la personne est morte et l'enlever quand elle respawn ou ressuscite. Ca permet ainsi d'être sûr que la personne, même s'il se connecte d'un autre ordinateur mais que sur un seul perso.
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Citation:
Provient du message de gaeriel/nekresh
Pourquoi ne pas avoir mis simplement un objet dans l'inventaire qui signifie que la personne est morte et l'enlever quand elle respawn ou ressuscite. Ca permet ainsi d'être sûr que la personne, même s'il se connecte d'un autre ordinateur mais que sur un seul perso.
Suffit également de ne pas utiliser la clé CD pour ca

Et cette méthode a l'avantage de sauver les pv quels que soient leur nombre, avec ta méthode on peut deco a 1pv et revenir au combat
Lien direct vers le message - Vieux
Avatar de gaeriel/nekresh
gaeriel/nekresh
Empereur
 
Avatar de gaeriel/nekresh
 
Moi je propose une solution au fait que les personnes fassent du déco/reco pour ne pas avoir la fenêtre de respawn. S'ils ne sont pas morts, ils n'ont aucunement besoin de l'avoir. Et moi, franchement, je me déco/reco pas avec 1 pv devant un dragon
Lien direct vers le message - Vieux
Avatar de Zunzun
Zunzun
Alpha & Oméga
 
Avatar de Zunzun
 
Citation:
Provient du message de gaeriel/nekresh
Moi je propose une solution au fait que les personnes fassent du déco/reco pour ne pas avoir la fenêtre de respawn. S'ils ne sont pas morts, ils n'ont aucunement besoin de l'avoir. Et moi, franchement, je me déco/reco pas avec 1 pv devant un dragon
De toute facon, l'ideal en attendant la 1.30, c'est de faire les 2, ca permet d'eviter que les morts reviennent a la vie en cas de crash server
Lien direct vers le message - Vieux
Avatar de gaeriel/nekresh
gaeriel/nekresh
Empereur
 
Avatar de gaeriel/nekresh
 
J'ai fait un script qui met un objet dans l'inventaire du pj afin de savoir s'il est mort. Cet objet n'est enlevé que si la personne respawn ou est ressucité. On a donc aussi la gestion du serveur qui plante car l'objet ne disparait pas.
Le module
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Deco et reco
   

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 15h05.
   

© 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