Jump to content
×
×
  • Create New...

[PVP] Prouve ta force


Craven
 Share

Recommended Posts

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Bonjour à tous !

 

Je vais partager une petite quête que j'ai trouvé sur Epvp et qui a été postée par Imbattle. Je l'ai entièrement traduite, les textes sont plutôt vide mais libre à vous de changer ça.

 

En quoi consiste cette quête ?

 

Le concept est très simple, chaque 50 lvl cette quête s'ouvre où vous devez tuer un certain nombre de joueurs. Lorsque la mission est accomplie vous gagnez un bonus contre les demi-humain allant de 5% à 20%. Le PNJ par défaut où rendre la quête est le Capitaine.

 

 

------------------------- 
-- PvP Quest by Imbattle 
------------------------- 
quest pvpq begin 
   state start begin 
       when login or levelup with pc.level >= 50  begin 
           set_state(info_letter_lv30) 
       end 
   end 
    
   state info_letter_lv30 begin  
       when letter begin 
           send_letter("Prouvez votre force I") 
       end 

       when button or info begin 
           say_title("Prouvez votre force I") 
           say("Bonjour ".. pc.get_name() ..",") 
           say("Nous avons reçu des ordres de la part de") 
           say("l'Empereur lui-même. Sa dernière cargaison") 
           say("des objets les plus chère du royaume a été")
           say("pillée par ces barbares venant des royaumes")
           say("voisins, vous devez traquer et tuer tous ces") 			
			say("voleurs. Pour l'instant vous n'êtes pas très") 			
           say("expérimenté dans l'art de la guerre, on va donc") 			
           say("commencer doucement, rapportez moi la tête de") 			
           say("50 hommes. Vous serez bien entendu récompensé.") 			
           say("Le Capitaine.") 			

           pc.setqf("state", 50) 
           q.set_counter("Joueurs:", 50) 
           set_state(kill_player_lv30) 
       end 
   end 
    
   state kill_player_lv30 begin 
       when letter begin 
           send_letter("Tuer 50 soldats") 
       end 
        
       when button or info begin 
           say_title("Tuer 50 soldats") 
           say("") 
           say_reward("Vous avez encore "..pc.getqf("state").." soldats à tuer") 
           say("") 
       end 
                    
       when kill begin 
           if npc.is_pc() and npc.empire != pc.empire then 
               local count = pc.getqf("state") - 1 
               if count <= 50 then 
                   pc.setqf("state", count) 
                   q.set_counter("Restants", -count) 
               end 
                
               if count == 0 then 
                   set_state(kill_player_lv30_done) 
               end 
           end 
       end 
   end 
    
   state kill_player_lv30_done begin 
       when letter begin  
           local v = find_npc_by_vnum(20355)  
           if v != 0 then  
               target.vid("__TARGET__", v, "Capitaine")  
           end  
           send_letter("Soldats tués")  
       end  
        
       when button or info begin 
           say_title("Soldats tués") 
           say("Vous avez tué 50 soldats !") 
           say("Allez faire votre rapport au capitaine.") 
           say("") 
       end 
        
       when __TARGET__.target.click or 20355.chat."J'ai tué tous les soldats" begin  
           target.delete("__TARGET__") 
           say_title("Capitaine:") 
           say("Vous avez tué 50 soldats ?") 
           say("Eh bien, je suis impressionné par votre force") 
           say("et votre rapidité. Cependant vous devez encore") 			
           say("vous entraîner avant de pouvoir affronter ce") 			
           say("qui vous attend. Allez donc gagner quelques") 			
           say("niveaux et revenez me voir.") 			
           say("Ah, j'allais oublier, voici votre récompense:") 			
           say("") 
           say_reward("Vous recevez:") 
           say_reward("Bonus de 5% contre les demi-humain de façon permanente") 
           affect.add_collect(apply.ATT_BONUS_TO_HUMAN, 5, 60*60*24*365*180) 
           set_state(pvpq_lv50) 
       end 
   end 
    
   state pvpq_lv50 begin 
       when login or levelup with pc.level >= 100  begin 
           set_state(info_letter_lv50) 
       end 
   end 
    
   state info_letter_lv50 begin  
       when letter begin 
           send_letter("Prouvez votre force II") 
       end 
        
       when button or info begin 
           say_title("Prouvez votre force II") 
           say("Bonjour ".. pc.get_name() ..",") 
           say("Quel imbécile ce Garde ! il a laissé entrer") 
           say("un soldat ennemis dans notre village") 
           say("puis a dérobé tout l'argent de la Marchande.")
           say("Vous devez aller le récupérer. Pour se faire,") 
           say("allez tuer 100 soldats ennemis, je penses qu'il") 
           say("y aura le compte pour rembourser la Marchande.") 
           say("Il y a bien entendu une récompense à la clé.") 
           say("") 
           say("Le Capitaine.") 
           pc.setqf("state", 100) 
           q.set_counter("Soldats:", 100) 
           set_state(kill_player_lv50) 
       end 
   end 
    
   state kill_player_lv50 begin 
       when letter begin 
           send_letter("Tuer 100 soldats") 
       end 
        
       when button or info begin 
           say_title("Tuer 100 soldats") 
           say("") 
		say("Vous n'avez pas tué assez de soldats, retournez")
           say("au combat.") 
		say_reward("Vous avez encore "..pc.getqf("state").." soldats à tuer") 
           say("") 
       end 
                    
       when kill begin 
           if npc.is_pc() and npc.empire != pc.empire then 
               local count = pc.getqf("state") - 1 
               if count <= 100 then 
                   pc.setqf("state", count) 
                   q.set_counter("Restants", -count) 
               end 
                
               if count == 0 then 
                   set_state(kill_player_lv50_done) 
               end 
           end 
       end 
   end 
    
   state kill_player_lv50_done begin 
       when letter begin  
           local v = find_npc_by_vnum(20355)  
           if v != 0 then  
               target.vid("__TARGET__", v, "Capitaine")  
           end  
           send_letter("Soldats tués")  
       end  
        
       when button or info begin 
           say_title("Soldats tués") 
           say("Vous avez tué tous les soldats.") 
           say("Allez faire votre rapport au capitaine") 
           say("") 
       end 
        
       when __TARGET__.target.click or 20355.chat."J'ai tué tous les soldats" begin  
           target.delete("__TARGET__") 
           say_title("Capitaine:") 
           say("De mieux en mieux !") 
           say("Vous vous améliorez à vu d'oeil.") 
           say("Ah ah ah, peut-être qu'un jour vous deviendrez") 
           say("aussi fort que moi ! Retournez vous entraîner") 
           say("et revenez me voir plus tard.") 
           say("N'oubliez pas votre récompense !.") 
		say("") 
           say_reward("Vous recevez:") 
           say_reward("Bonus de 10% contre les demi-humain de façon permanente") 
           affect.add_collect(apply.ATT_BONUS_TO_HUMAN, 10, 60*60*24*365*180) 
           set_state(pvpq_lv75) 
       end 
   end 

   state pvpq_lv75 begin  
       when letter begin 
           send_letter("Prouve ta force III") 
       end 
        
       when button or info begin 
           say_title("Prouvez votre force III") 
           say("Bonjour ".. pc.get_name() ..",") 
           say("Vous devez sous doute être au courant") 
           say("de la vague de meurtre perpétrés par") 
           say("nos ennemis ? Le temps est venu de se venger") 
           say("et de leur montrer quel est le royaume dominant !") 
           say("Prenez les armes et tuez 350 de leurs hommes.") 
           say("Ils ne vont pas s'en remettre, croyez moi.") 
           say("Le Capitaine") 
           pc.setqf("state", 350) 
           q.set_counter("Soldats:", 350) 
           set_state(kill_player_lv75) 
       end 
   end 
    
   state kill_player_lv75 begin 
       when letter begin 
           send_letter("Tuer 350 soldats") 
       end 
        
       when button or info begin 
           say_title("Tuer 350 soldats") 
           say("")
           say_reward("Du nerf, il vous reste "..pc.getqf("state").." Soldats à tuer.")
           say("Nous allons vaincre  nos ennemis !") 
           say("") 
       end 
                    
       when kill begin 
           if npc.is_pc() and npc.empire != pc.empire then 
               local count = pc.getqf("state") - 1 
               if count <= 250 then 
                   pc.setqf("state", count) 
                   q.set_counter("Restants", -count) 
               end 
                
               if count == 0 then 
                   set_state(kill_player_lv75_done) 
               end 
           end 
       end 
   end 
    
   state kill_player_lv75_done begin 
       when letter begin  
           local v = find_npc_by_vnum(20355)  
           if v != 0 then  
               target.vid("__TARGET__", v, "Capitaine")  
           end  
           send_letter("Soldats tués")  
       end  
        
       when button or info begin 
           say_title("Soldats tués") 
           say("Très bon travail !") 
           say("Allez faire votre rapport au Capitaine.") 
           say("") 
       end 
        
       when __TARGET__.target.click or 20355.chat."J'ai tué tous les soldats" begin  
           target.delete("__TARGET__") 
           say_title("Capitaine:") 
           say("Vous m'étonnerez, votre entraînement a") 
           say("porté ses fruits on dirait bien !") 
           say("Nous avons gagné une bataille mais ces barbares") 
           say("reviendront, soyez en certain.") 
           say("Comme convenu, voici votre récompense.") 
		say("") 
           say_reward("Vous recevez:") 
           say_reward("Bonus de 5% contre les demi-humain de façon permanente") 
           affect.add_collect(apply.ATT_BONUS_TO_HUMAN, 15, 60*60*24*365*180) 
           set_state(pvpq_lv90) 
       end 
   end 
    
   state pvpq_lv90 begin 
       when login or levelup with pc.level >= 150  begin 
           set_state(info_letter_lv90) 
       end 
   end 
    
   state info_letter_lv90 begin  
       when letter begin 
           send_letter("Prouvez votre force IV") 
       end 
        
       when button or info begin 
           say_title("Prouvez votre force IV") 
           say("Bonjour ".. pc.get_name() ..",") 
           say("L'empereur nous a délivré une information de") 
           say("la plus haute importance, nos espions ont") 
           say("découvert que les empereurs ennemis ont fait") 
           say("un pacte et préparent une armée secrète afin") 
           say("de nous exterminer. Je suis sûr que plusieurs")
           say("de leurs hommes ont déjà infiltré notre village.") 
           say("Partez vite et exterminez 550 de leurs hommes,") 
           say("ils abandonneront peut-être leur offensive.") 
           pc.setqf("state", 550) 
           q.set_counter("Soldats:", 550) 
           set_state(kill_player_lv90) 
       end 
   end 
    
   state kill_player_lv90 begin 
       when letter begin 
           send_letter("Tuer 550 soldats") 
       end 
        
       when button or info begin 
           say_title("Tuer 550 soldats") 
           say("") 
           say("La grande querre se rapproche !") 
           say("Dépêchez vous de remplir votre objectif.") 
		say_reward("Il vous reste "..pc.getqf("state").." soldats à tuer") 
           say("") 
       end 
                    
       when kill begin 
           if npc.is_pc() and npc.empire != pc.empire then 
               local count = pc.getqf("state") - 1 
               if count <= 550 then 
                   pc.setqf("state", count) 
                   q.set_counter("Restants", -count) 
               end 
                
               if count == 0 then 
                   set_state(kill_player_lv90_done) 
               end 
           end 
       end 
   end 
    
   state kill_player_lv90_done begin 
       when letter begin  
           local v = find_npc_by_vnum(20355)  
           if v != 0 then  
               target.vid("__TARGET__", v, "Capitaine")  
           end  
           send_letter("Soldats tués")  
       end  
        
       when button or info begin 
           say_title("Soldats tués") 
           say("Vous avez tué 550 soldats !") 
           say("Allez faire votre rapport au capitaine") 
           say("") 
       end 
        
       when __TARGET__.target.click or 20355.chat."J'ai tué tous les soldats" begin  
           target.delete("__TARGET__") 
           say_title("Capitaine:") 
           say("Aaaah voilà notre sauveur !") 
           say("Vous êtes un véritable héro dans le village.") 
           say("Peut-être qu'un jour, nos 3 royaumes ne seront")
           say("plus en guerre et des tas de vies seront") 
           say("épargnées. Mais avant ce jour C'EST LA GUERRE !") 
           say("Guerre ou pas, voilà votre récompense,") 
           say("vous l'avez largement mérité.") 
		say("") 
           say_reward("Vous recevez:") 
           say_reward("Bonus de 20% contre les demi-humain de façon permanente") 
           affect.add_collect(apply.ATT_BONUS_TO_HUMAN, 20, 60*60*24*365*180) 
           set_state(__COMPLETE__) 
       end 
   end 
    
   state __COMPLETE__ begin 
   end 
end  
 

 

 

Si vous ne savez pas implanter une quête, suivez ce tutoriel : ici

 

 

À vous de vérifier mais je crois qu'à la ligne 168 il y a une erreur, je crois que le lvl auquel se lance la quête n'a pas été précisé.

  • J'adore 2
Link to comment
Share on other sites

  • 4 weeks later...

A noter tout de même qu'il y a ce que j'appellerais une énorme faille dans le fait que l'utilisateur peut chain kill un de ses propres personnages simplement dans le but de tuer des gens.

 

PS : Un de mes joueurs a tué 1500 fois son propre perso la soirée de Noël, c'est vous dire que la tentation est grande...

Link to comment
Share on other sites

  • Developer

PS : Un de mes joueurs a tué 1500 fois son propre perso la soirée de Noël, c'est vous dire que la tentation est grande...

 

Ouais mais on part dans l'optique que les joueurs ont un cerveau un minimum correct en fait.

Link to comment
Share on other sites

  • 5 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

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.