Aller au contenu
  • 0

Exp sur des joueurs


Link

Question

Bonjour à tous,

 

Je souhaiterais avoir une quête qui, lorsque l'on kill un joueur en pvp, elle nous donne de l'exp. Le problème c'est que niveau quêtes je ne m'y connais pas trop; quelqu'un pourrait-il m'aider éventuellement à avoir cette quête svp ? Je remercie d'avance la personne qui se dévouera. 

 

Cordialement, Link.

Lien vers le commentaire

19 réponses à cette question

Messages recommandés

  • 0
  • Modérateur

Voilà un truc qui ferait l'affaire

quest une_super_quete begin
	state start begin
		when kill with npc.is_pc() begin
			local enemy_id = pc.get_player_id()
			-- start select
			local s = pc.select(npc.get_vid())
			local enemy_name = pc.get_name()
			local enemy_level = pc.get_level()
			pc.select(s)
			-- end select
			
			-- tu regardes si la victime n'est pas la même que la dernière personne tuée pour éviter les abus
			if pc.getqf("last_victim") ~= enemy_id then
  				difference = math.abs(pc.get_level() - enemy_level)
  				-- le 10 correspond à la difference de level entre toi et ton ennemi
				if difference <= 10 then
					notice("Vous avez tué "..enemy_name.." level "..enemy_level..".")
					-- soit pc.give_exp2 qui donne un nombre précis d'exp
					pc.give_exp2(9999999)
					-- soit pc.give_exp_perc qui donne un pourcentage d'exp
					pc.give_exp_perc(10)
					-- il faut que tu commentes l'un des deux

					-- et tu enregistres le dernier tué pour éviter la triche
					pc.setqf("last_victim", enemy_id)
					return
				end
  			else
  				return
  			end
		end
	end
end

 

Je n'ai pas testé mais je me suis relu plusieurs fois et je pense que c'est bon.

  • J'adore 1
Lien vers le commentaire
  • 0

Sujet a fermé quête fonctionnel je te remercie de ton aide @_Sufhal vraiment je te met un +1 ;)

 

EDIT: y'aurais moyens de faire une restriction autre que celle ci, car je crois que ça pose un problème quand je tue quelqu'un d'autre que la personne précédente et que je reviens ça ne marche pas, je ne prends pas d'exp 

Modifié par Link
Lien vers le commentaire
  • 0
quest une_super_quete begin
	state start begin
		when kill with npc.is_pc() begin
			-- start select
			local enemy_id = pc.get_player_id()
			local s = pc.select(npc.get_vid())
			local enemy_name = pc.get_name()
			local enemy_level = pc.get_level()
			pc.select(s)
			-- end select
			
			-- tu regardes si la victime n'est pas la même que la dernière personne tuée pour éviter les abus
			if pc.getqf("last_victim") ~= enemy_id then
  				difference = math.abs(pc.get_level() - enemy_level)
  				-- le 10 correspond à la difference de level entre toi et ton ennemi
				if difference <= 10 then
					notice("Vous avez tué "..enemy_name.." level "..enemy_level..".")
					-- soit pc.give_exp2 qui donne un nombre précis d'exp
					pc.give_exp2(9999999)
					-- soit pc.give_exp_perc qui donne un pourcentage d'exp
					pc.give_exp_perc(10)
					-- il faut que tu commentes l'un des deux

					-- et tu enregistres le dernier tué pour éviter la triche
					pc.setqf("last_victim", enemy_id)
					return
				end
  			else
  				return
  			end
		end
	end
end

Comme ça du coup ?

 

EDIT: Solution donné par @antok merci sujet à lock

Modifié par Link
Lien vers le commentaire
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


×
×
  • Créer...

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.