Jump to content
×
×
  • Create New...
  • 0

Plusieurs Soucis Quête et Question


Kronus
 Share

Question

[Message d'introduction]

 

J'ai fais une quête pour faire des instances, sauf qu'elle n'apparait pas sur le pnj.

 

Version des files : pas vraiment de version (2014 avec des compilations)

Domaine (Base de données, Core, etc.) : base de données

Votre niveau (débutant, intermédiaire, avancé) : intermédiaire

 

Description du problème : La quête ne s'affiche pas sur le pnj

Comment reproduire le problème : Mettre sur n'importe quel pnj

Recherches et tests effectué : refaire la quête / le poste sur FE concernant la création d'instance

Résultat des recherches et tests : Rien

 

Message d'erreur, capture d'écran :

 

quest instance_b begin
state start begin
	when 20020.chat."Instance 30-45" with pc.get_level()>=30 and pc.get_level()<=45 begin
		if pc.getqf("entrée") < get_time() then
			say("Voulez-vous accéder à l'instance bas level ?")
			local a=select("Oui","Non")
			if a ==2 then
				return
			else
				d.join(5)
				d.set_regen_file("locale/france/map/metin2_map_monkey_dungeon_11/regen.txt")
			end
		else
			say("Vous devez encore attendre")
		end
	end
	when login with pc.in_dungeon() and (pc.get_map_index() >= 50000 and pc.get_map_index() < 60000) begin
		server_timer("sortie", 3600, d.get_map_index())
		local name = pc.get_name()
		notice_all("le groupe de "..name.." est entré dans l'instance 30-45. Bon courage")
	end

	when 5161.kill with pc.get_map_index() >= 50000 and pc.get_map_index() < 60000 begin
		server_timer("sortie2", 60, d.get_map_index())
		notice_all("Le groupe de "..name.." a vaincu le Singe de Pierre. Félicitation !")
		notice("Vous allez être renvoyé à vers la map's 1.")
	end

	when sortie.server_timer with pc.get_map_index() >= 50000 and pc.get_map_index() < 60000 begin
		d.exit_all_to_start_position()
		pc.setqf("entrée", get_time()+60*60)
	end
	when sortie2.server_timer with pc.get_map_index() >= 50000 and pc.get_map_index() < 60000 begin
		d.exit_all_to_start_position()
		pc.setqf("entrée", get_time()+60*60)
	end
end
end

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

 

[Message d'introduction]

 

La quête de beran setaou, je passe par la quete que vous verrez un peu plus bas car celle d'origine ne marche pas. J'aimerais ajouter comme dans la quete d'origine les metin qui font affaiblisse le beran

 

Version des files : Pareil que plus haut

Domaine (Base de données, Core, etc.) : base de donnée

Votre niveau (débutant, intermédiaire, avancé) : intermédiaire

 

Description du problème : Ajout dans la quete des metin une fois détruite affaiblissant le beran

Comment reproduire le problème : Utiliser la quete

Recherches et tests effectué : FE / ancienne quête avec ajout

Résultat des recherches et tests : Rien

 

Message d'erreur, capture d'écran :

 

---------------------------
-- Metin 2 - Grotte de l'Exil - Beran-Setaou
-- By Dj o0O Loic O0o ©
-- Toute copie non autorisée est interdite !
---------------------------
quest skipia_boss_donjon begin
state start begin

	when 30121.chat."Combattre Beran-Setaou." begin
		---                                                   l
		say_title(""..mob_name(30121).." :")
		say("Pour entrer dans le Temple de Beran-Setaou, j'ai")
		say("besoin de 3 "..item_name(30179))
		say_item_vnum(30179)
		say("Avez-vous 3 "..item_name(30179).."?")

		local s = select("Oui", "Non")

		if 2==s then
			return

		elseif 1==s then
			if pc.count_item(30179) >= 3 then
				---                                                   l
				say_title(""..mob_name(30121).." :")
				say("Vous avez les 3 clés en spirale, je vous envoie")
				say("dans le Temple de Beran-Setaou, faite très")
				say("attention ! ")
				wait()
				pc.remove_item(30179, 3)
				-- pc.warp(819200,1049600)
				-- d.new_jump_all(75, 8192, 10496)
				 d.join(75)
          				 d.spawn_mob(2493,183,173)
				notice_all("Le groupe de "..pc.name.." tente d'affronter le Beran-Setaou.")
			else
				---                                                   l
				say_title(""..mob_name(30121).." :")
				say("Vous avez "..pc.count_item(30179).." "..item_name(30179).." sur 3.")
				sammeln = 3 - pc.count_item(30179)
				say("Il vous manque encore "..sammeln.." "..item_name(30179)..".")
				say_item_vnum(30179)
				say("Revenez quand vous les aurez toutes.")
			end
		end
	end

	when 30121.chat."Qu'est ce que c'est que ce portail ?" with pc.get_map_index() == 73 begin
		---                                                   l
		say_title(""..mob_name(30121).." :")
		say("Ce portail mène dans l'antre du dragon")
		say("ténébreux, Beran-Setaou le Dieu déchu. Il est")
		say("complètement inactif depuis quelques temps ... Je")
		say("suppose qu'il dort pour régénérer ses forces.")
	end

	when login with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
		d.notice("Bienvenue à l'instance de Beran Setaou")
		d.notice("Vous avez 30 minutes pour le vaincre")
		clear_server_timer("timerberan", d.get_map_index())
		clear_server_timer("tpberan", d.get_map_index())
		clear_server_timer("temple_end", d.get_map_index())
		server_timer("timerberan", 1800, d.get_map_index())
		d.setf("instanceberan", 0)
	end

	when tpberan.server_timer with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
		d.exit_all()
	end

	when logout with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
			warp_to_village()
	end



	when 2493.kill with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
		notice_all("Félicitations ! "..pc.name.." a terrassé le dragon bleu !")
		---                                                   l
		say("Félicitations ! Beran-Setaou est vainque ! Vous")
		say("allez être téléporté devant le Temple dans 60")
		say("secondes.")
		d.setf("instanceberan", 1)
		kill_all_in_map(75)
		server_timer("temple_end", 60, d.get_map_index())
	end

	when temple_end.server_timer begin
		d.exit_all()
	end


	when timerberan.server_timer with pc.get_map_index() >= 750000 and pc.get_map_index() < 760000 begin
		notice_all(""..pc.get_name().." et son équipe n'ont pas vaincu Beran")
		server_timer("tpberan", 30, d.get_map_index())
		d.notice("Fin de l'instance, vous avez échoué !")
	end

end
end

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

 

[Message d'introduction]

 

Dans la table item_attr il y a les faible bonus (2% ect) je voudrais savoir s'il y a un moyen (sans les changer) de les désactiver pour qu'ils ne soient plus pris en compte lors d'ajout et switch de bonus

 

Version des files : Pareil que plus haut

Domaine (Base de données, Core, etc.) : base de donnée

Votre niveau (débutant, intermédiaire, avancé) : intermédiaire

 

Description du problème : Je cherche à savoir comment retirer les petits bonus (2% ect) sans les augmenter

Comment reproduire le problème : Aller dans la table item_attr

Recherches et tests effectué : Supprimer les colonnes

Résultat des recherches et tests : Rien

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Link to comment
Share on other sites

  • Answers 8
  • Created
  • Last Reply

Top Posters For This Question

8 answers to this question

Recommended Posts

  • 0
  • Funkiest

Salut, la première, je n'ai pas trop regardé, par contre

 

Pour la seconde :

C'est un "d.spawn_mob", donc ça fait uniquement spawn le mob normal de la base de donnée (santé, def, att etc...), pour pouvoir le faire faiblir il faut utiliser un "d.set_unique" pour le rendre unique et différent du mob de base (ça sera reconnu comme un mob différent du 2493 basique, en gros il sera vu comme un beran et en restera un, cependant il sera "suivi" par le serveur, donc tu peux interférer sur lui via la quête), voici un exemple, non testé, comportant la correction d'une légère faute "vainque" et le rajout du "Unique" : http://pastebin.com/RquHnNBZ

 

PS : Remplacez "IDDELAMETIN", "x" et "y" par l'id de la metin, le x et le y de la metin (position voulue), je précise qu'à chaque metin détruite, le beran perd 10% de sa vie, je précise aussi que des commentaires sont présent pour la compréhension

 

Pour la troisième : Soit tu mets à égal de celui que tu veux comme minimum, soit tu tentes rien, soit tu mets null :D

Link to comment
Share on other sites

  • 0

Pour la quête tous fonctionne dessus, hors mis le fait que quand on kill la metin, elle ne lui enlève pas 10% de la vie mais toutes sa vie enfaite ... sinon le spawn ect fonctionne dedans. (j'ai essayé les deux fonctions proposés dans la quête et les deux fonctions font que le mobs est OS lors du kill de la metin)

Link to comment
Share on other sites

  • 0
  • Retraité

Si le bout de code concernant le kill de la metin est bien le suivant,

 

​when kill with npc.get_race() == IDDELAMETIN and not d.is_unique_dead("beran") begin
     d.spawn_mob(IDDELAMETIN, x, y, 20, true, 1)
     d.unique_set_hp("beran", (d.unique_get_hp_perc("beran")-10))
     --d.unique_set_hp("beran", math.max(1, (d.unique_get_hp_perc("beran")-10))*10000)
end

 

est ce qu'on ne devrait pas plutôt avoir un truc du genre :

 

     d.unique_set_hp("beran", (d.unique_get_hp_perc("beran") - (d.unique_get_maxhp_perc("beran") / 10)))
    --d.unique_set_hp("beran", math.max(1, (d.unique_get_hp_perc("beran") - (d.unique_get_maxhp_perc("beran") / 10)) * 10000)

 

à la place ?

 

(Je précise que je parle en tant que code/logique pure, n'y connaissant rien à Métin)

java style =)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Flux d'Activité

    1. 30

      AresiaCMS

    2. 30

      AresiaCMS

    3. 30

      AresiaCMS

    4. 66

      Decay 2.51

    5. 0

      PACK Dofus Arcenciel

    6. 0

      Partage Ornament L'attaque des Titans

  • Recently Browsing

    • No registered users viewing this page.

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.