Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

probleme quete


Djo-viper

Question

bonjour bonsoir , tout d'abord excuser moi pour mon orthographe :D

 

voila je but sur une quete que j'aimerais mettre en place 

 

le principe fonctionne en solo mais une faille existe 

je m'explique

 

la quête et en faite un vide/bloque exp arriver a un certain level sur une map ( exemple index = 1 pour la map a1 ( rouge map 1 )

 

en solo cela marche niquel .

mais en groupe c'est la que la faille existe 

si le joueur x groupe avec le joueur y , que le joueur x tape , les deux joueur reçoivent l'exp .

hors comme le joueur x a "kill" , la fonction vide exp s'applique a lui et fait tomber l'exp du joueur x a 0 

mais comme y na pas "kill" la fonctionne ne s'applique pas a lui et donc exp et passe outre la quête et donc peut exp plus que le level maximum fixer sur la map . 

 

si quelqu'un peut m'aider a y voir plus claire , ou me proposer une alternative general ?

 

cordialement Djo 

 

 

 

 

quest bloquexpa1 begin   state start begin       when login or enter with pc.get_map_index() == 1 begin           pc.setqf("lock_exp", 0) --On initialise la variable		party.setqf("lock_exp", 0)           set_state(depart) --On commence la quête       end   end   state depart begin	when login or enter or levelup with pc.get_map_index() == 1 and pc.get_level() > 14 begin		if pc.getqf("lock_exp") == 0 then			pc.setqf("lock_exp", 1)			pc.setqf("exp_lock", pc.get_exp())			party.setqf("lock_exp", 1)			party.setqf("exp_lock", pc.get_exp())			set_state(kill)		end       endendstate kill begin       when kill begin           if pc.getqf("lock_exp") == 1 then               if pc.get_exp() > pc.getqf("exp_lock") then                   pc.give_exp2(-pc.get_exp())                   pc.give_exp2(pc.getqf("exp_lock"))               else                   pc.setqf("exp_lock", 0)               end           end       end	when kill with party.is_party() begin           if party.getqf("lock_exp") == 1 then               if pc.get_exp() > party.getqf("exp_lock") then                   pc.give_exp2(-pc.get_exp())                   pc.give_exp2(party.getqf("exp_lock"))               else                   pc.setqf("exp_lock", 0)               end           end       end   end   state fin begin      endend 

 

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 5
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

5 réponses à cette question

Messages recommandés

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 0

      Renouveau

    2. 0

      OldEraMT2 recrute – la bêta ouverte est en cours

    3. 0

      OldEraMT2 | Classique 2009 Oldschool | Niveau 99 | 7 langues | Sans pay2win | Bêta ouverte

    4. 6

      problème de connexion à mon serveur local (je suis débutant dans ce genre d'entreprise )

    5. 2

      problème de lancement serveur

    6. 9
    7. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.