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

Pv max après un kill


VorGam

Question

Bonjour à vous, 

 

Je viens vous demander de l'aide car j'aimerais appliquer sur ma quête en lua qu'on ma fais sur un partage sur FE mais j'ai pas eu de suite et j'aimerais qu'on m'aide car je n'y arrive pas. Voilà j'aimerais qu'on modifie ma quête qui redonne les pv au max après une téléportation ou un reconnexion, se que je voudrais c'est que après un kill la personne retrouve ses pv au max est ce que se serais possible ?

 

Voici la quête: 

 

quest hp begin
   state start begin
       when login begin
           affect.add_collect(apply.HP_REGEN, 500000, 5)
           affect.add_collect(apply.SP_REGEN, 500000, 5)
       end
   end
end

 

En espérant avoir une réponse :)  merci.

Lien vers le commentaire
Partager sur d’autres sites

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

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

10 réponses à cette question

Messages recommandés

  • 0
  • Retraité

Le plus simple est de modifier le fichier cmd_general.cpp

Il faut remplacer :

switch (subcmd)
{
	case SCMD_RESTART_TOWN:
		sys_log(0, "do_restart: restart town");
		PIXEL_POSITION pos;

		if (SECTREE_MANAGER::instance().GetRecallPositionByEmpire(ch->GetMapIndex(), ch->GetEmpire(), pos))
			ch->WarpSet(pos.x, pos.y);
		else
			ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire()));

		ch->PointChange(POINT_HP, 50 - ch->GetHP());
		ch->DeathPenalty(1);
		break;

	case SCMD_RESTART_HERE:
		sys_log(0, "do_restart: restart here");
		ch->RestartAtSamePos();
		//ch->Show(ch->GetMapIndex(), ch->GetX(), ch->GetY());
		ch->PointChange(POINT_HP, 50 - ch->GetHP());
		ch->DeathPenalty(0);
		ch->ReviveInvisible(5);
		break;
}

 

par :

switch (subcmd)
{
	case SCMD_RESTART_TOWN:
		sys_log(0, "do_restart: restart town");
		PIXEL_POSITION pos;

		if (SECTREE_MANAGER::instance().GetRecallPositionByEmpire(ch->GetMapIndex(), ch->GetEmpire(), pos))
			ch->WarpSet(pos.x, pos.y);
		else
			ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire()));

		ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP());
		ch->PointChange(POINT_SP, ch->GetMaxSP() - ch->GetSP());
		ch->DeathPenalty(1);
		break;

	case SCMD_RESTART_HERE:
		sys_log(0, "do_restart: restart here");
		ch->RestartAtSamePos();
		//ch->Show(ch->GetMapIndex(), ch->GetX(), ch->GetY());
		ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP());
		ch->PointChange(POINT_SP, ch->GetMaxSP() - ch->GetSP());
		ch->DeathPenalty(0);
		ch->ReviveInvisible(5);
		break;
}

Lien vers le commentaire
Partager sur d’autres sites

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


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 6

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

    2. 2

      problème de lancement serveur

    3. 9
    4. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

    5. 2

      problème de lancement serveur

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.