JeuxOnLineForumsPlusConnectés : 423 (sites) | 685 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [Script] Besoin d'un conseil/avis RSS
   
Répondre
Partager Outils Rechercher
Elvorfirimathrel
Dauphin
 
Post

[Script] Besoin d'un conseil/avis

Bonjour.

Voilà, j'aimerais utiliser la base de données de Bioware pour stocker points de vies et location de mes joueurs. J'ai donc fait ce script mais ne pouvant le tester en ligne avec plusieurs joueurs et étant débutant en script j'aimerai un avis sur ce script, voire même quelques corrections si nécessaire (et j'ai bien peur que ça soit le cas )


- Mis dans l'événement OnUserDefined du module :

Code PHP:
void main()
{
    
int nUser GetUserDefinedEventNumber();
    if(
nUser == 700)
    {
     
object oPc;
     
oPc GetFirstPC();
     if (
oPc != OBJECT_INVALID)
      {
       
location lPc;
       
int nPc;
       
lPc GetLocation(oPc);
       
nPc GetCurrentHitPoints(oPc);
       
SetCampaignLocation("SAUVEGARDE""location"lPcoPc);
       
SetCampaignInt("SAUVEGARDE""test"1oPc);
       
SetCampaignInt("SAUVEGARDE""hitpoints"nPcoPc);
       
oPc GetNextPC();
       while (
oPc != OBJECT_INVALID)
        {
         
lPc GetLocation(oPc);
         
nPc GetCurrentHitPoints(oPc);
         
SetCampaignLocation("SAUVEGARDE""location"lPcoPc);
         
SetCampaignInt("SAUVEGARDE""test"1oPc);
         
SetCampaignInt("SAUVEGARDE""hitpoints"nPcoPc);
         
oPc GetNextPC();
        }
      }
     
DelayCommand(60.0SignalEvent(OBJECT_SELFEventUserDefined(700)));
    }


- Mis dans l'événement OnModuleLoad du module :

Code PHP:
void main()
{
 
SignalEvent(OBJECT_SELFEventUserDefined(700));


- Mis dans l'événement OnClientEnter du module :

Code PHP:
void main()
{
 
object oPc;
 
location lPc;
 
int nPcnTestnCurrentHpnMaxHpnDamageAmount;
 
effect eSoineDamage;
 
oPc GetEnteringObject();
 
lPc GetCampaignLocation("SAUVEGARDE""location"oPc);
 
nTest GetCampaignInt("SAUVEGARDE""test"oPc);
 
nPc GetCampaignInt("SAUVEGARDE""hitpoints"oPc);
 
nCurrentHp GetCurrentHitPoints(oPc);
 
nMaxHp GetMaxHitPoints(oPc);

 if (
nTest != 0)
  {
   
eSoin EffectHeal(nMaxHp);
   
ApplyEffectToObject(DURATION_TYPE_INSTANTeSoin,oPc);
   
nDamageAmount = (nMaxHp nPc);
   
eDamage EffectDamage(nDamageAmountDAMAGE_TYPE_MAGICALDAMAGE_POWER_NORMAL);
   
ApplyEffectToObject(DURATION_TYPE_INSTANTeDamage,oPc);
   
AssignCommand(oPcActionJumpToLocation(lPc));
  }


Edit : Mis à jour avec sauvegarde des points de vie, seule la sauvegarde de la position ne fonctionne toujours pas, je vais m'y atteler encore et encore
Lien direct vers le message - Vieux
Avatar de RAT
RAT
Alpha & Oméga
 
Avatar de RAT
 
Je ne vois pas par contre ou tu stockes tes points de vie là?????
Lien direct vers le message - Vieux
Elvorfirimathrel
Dauphin
 
Ben d'abord je demande vérification pour les locations, si ce que j'ai fait est juste, je reprend le même principe pour les points de vie, avec un entier à la place d'une location. Mais je ne vois pas l'intérêt de le faire pour l'instant, je préfère que des personnes ayant un bon niveau en scripting me confirme que la syntaxe est bonne. Quiche powaaa ici
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
y a un ';' après une '}' dans le premier script, y a des variables locales inutiles et le DelayCommand() il aime pas mais bon c'est pas crucial non plus...
Y a un test inutile dans le OnClientEnter, par contre tu vérifie pas s'il faudrait pas plutôt le soigner plutôt que de lui faire mal.

Maintenant le plus embêtant : je ne sais pas quel est le résultat si on demande une variable location qui existe pas avec un GetCampaignLocation(), je sais qu'avec un GetLocalLocation() ça plante le script (je crois, à vérifier) donc le plus prudent serait peut-être de vérifier si nPC est différent de 0 avant d'essayer de récupérer la location et de la rétablir.


Ah oui j'oubliai : Utilise plutôt JumpToLocation() plutôt que son équivalent en Action*(), c'est plus sûr.
Lien direct vers le message - Vieux
Elvorfirimathrel
Dauphin
 
Entendu ! Merci beaucoup pour les conseils, je mate les Simpsons et j'essaye de corriger tout ca et d'en faire un script utile.
Encore merci!

Quiche powaaa
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [Script] Besoin d'un conseil/avis
   

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 01h08.
   

© 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