Découvrez le MMORPG RaiderZ

_Sufhal

Membre
  • Compteur de contenus

    50
  • Pts

  • Inscription

  • Dernière visite

Réputation sur la communauté

0 Neutral

À propos de _Sufhal

  • Rang
    Vigie

Profil

  • Sexe
    Homme
  • Discord
    _Sufhal#2085
  1. Up
  2. Je sais pas ce que j'aurais dû voir en affichant la grille mais voici un screen : EDIT: Je viens de m'apercevoir que j'étais d'abord téléporté au bon endroit, puis je suis décalé. Ça se passe très vite mais on peut le voir sur la vidéo ci-dessous, entre 0:10 et 0:11 EDIT2: J'ai refait un map en 1x1 (très simple : 1 texture, 1 objet, aucun attribute) ce coup-ci pour implanter un PNJ, même constat : double PNJ. Que ce passe-t-il ?!
  3. Dans ce cas ça pop sans problème, comme avant. Du nouveau : Par curiosité j'ai regardé mon syserr.txt client et voici ce qu'il m'indique à chaque fois que je lance /goto neutral : 1124 20:04:04914 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
  4.  jeu

    C'est stupide mais 1188
  5. Non, pour les tests j'ai laissé uniquement la ligne du forgeron dans le npc.txt. @Calypso, je vais creuser du côté des coordonnées comme on en a parlé hier. EDIT: J'ai modifié les coordonnées, je suis sur la map mais le goto bien paramétré ne me téléporte pas au bon endroit. Je ne suis pas dans le coin (0 0) mais à 171 271 alors que je devrais être téléporté en 331 381 comme le témoigne le goto : add_goto_info("neutral", 0, 170, 26000+331, 26000+381) Du coup j'ai dû supprimer tout l'attribute pour pouvoir me déplacer sur la zone accessible de la map mais là je vois qu'il n'y a plus de PNJ alors que le npc.txt n'a pas bougé depuis ces manipulations. J'ai raté quelque chose ?
  6. Le voici :
  7. Bonjour à toutes et à tous, Il m'arrive quelque chose assez étrange depuis que j'ai implanté une série de PNJ sur la map que j'ai créée dernièrement. Voyez vous-même : Comme vous pouvez le constater, le forgeron ici présent apparaît en double et c'est aussi le cas avec certains de ses copains sur cette même map. Étrange me direz-vous ? Ce phénomène l'est encore plus quand on regarde du côté du fichier npc.txt présent dans la map concernée : m 397 445 0 0 0 1 60s 100 1 20016 Quand on purge les mob à coup de /p, le premier forgeron apparaît au bout d'environ 1 minute et le second encore un peu après. Je sais pas si cette information à de la valeur mais c'est la seule que j'ai à vous offrir En suivant les conseils de @Calypso, j'ai changé d'ID de la map qui était peut être un peu élevé, sans succès. N'ayant aucune piste je me suis rendu sur mon moteur de recherche favori et le seul topic que j'ai pu voir à propos de bug c'est celui-ci, malheureusement il reste sans réponse. Grâce à ce post, j'hypothèse que la map est en cause dans mon mal puisque j'ai déjà implanté/modifier un paquet de PNJ sur des map déjà implantés sans aucun problème. Cependant je reste dans le flou total et c'est pourquoi je viens vers vous aujourd'hui, alors une idée ? Informations supplémentaires : Amicalement, Sufhal
  8. Bonjour à toutes et à tous ! Je viens vers vous aujourd'hui car il m'arrive un truc assez étrange pendant que j'écris ma quête pour une instance. En faite le problème vient de la fonction d.count_monster() qui ne renvoie quasiment jamais la bonne valeur ! En effet dans la quête j'ai plusieurs appel de regen.txt : - regen_1.txt contient 1 metin - regen_2.txt contient 1 autre metin - regen_3.txt contient 5 metin - regen_4.txt contient 5 autres metin J'ai fait en sorte qu'à chaque kill, la quest m'affiche le résultat de d.count_monster() via un party.chat et c'est là que l'on voit bien qu'il y a quelque chose d'anormal : - Quand je casse la metin du regen_1.txt, il m'affiche 1 - Quand je casse la metin du regen_2.txt, il m'affiche encore 1 - Quand je casse la première metin du regen_3.txt, il m'affiche 6, quand je casse la deuxième il m'affiche encore 6, quand je casse la troisième, il affiche 4 et pour les deux dernières il m'affiche 2... - Pour les dernières metin du regen_4.txt, il affiche 5 (contre 6 pour le regen précédent alors qu'il y avait le même nombre de metin) pour les deux premières, 3 pour la troisième et 2 pour les deux dernières. Du coup il m'est impossible de contrôler les étapes dans le donjon avec ce d.count_monster() qui compte des fantômes ou qui ne s'actualise trop lentement... Voici la quête en question : quest sufhal_instance_50 begin state start begin --------------------------------------- ENTER --------------------------------------- when 20004.chat."Salle d'entrainement 50" begin say_title("Mendiant:") say("Vous voulez vous entrainer ?") say("") local s = select("Yep", "Fermer") if s == 2 then return end if party.is_party() then if not party.is_leader() then say_title("Mendiant:") say("Vous n'êtes pas le chef du Groupe!") say("") else say_title("Mendiant:") say("Vous allez être téléporté dans quelques instants,") say("votre groupe vous suivera.") say("") party.chat("Vous êtes sur le point d'entrer dans la salle.") notice_all("Le groupe de "..pc.get_name().." est entré dans la salle.") wait() d.join(103) --d.new_jump_party(5,7680,4352) party.setf("training_map_index",d.get_map_index()) party.setf("level", 1) d.regen_file("data/instance/1/regen_1.txt") end end end --------------------------------------- START CHOICE --------------------------------------- when 8001.kill with party.getf("training_map_index") > 0 and party.getf("level") == 1 begin d.clear_regen() d.kill_all() party.setf("level", 2) party.setf("choice", 1) party.chat("Préparez-vous, le niveau 2 se présentera à vous dans 5 secondes.") timer("tempo1", 5) end --------------------------------------- TIMERS --------------------------------------- when tempo1.timer begin if party.getf("choice") == 1 then sufhal_instance_50.choice1_pop1() elseif party.getf("choice") == 2 then elseif party.getf("choice") == 3 then end end when tempo2.timer begin if party.getf("choice") == 1 then sufhal_instance_50.choice1_pop2() elseif party.getf("choice") == 2 then elseif party.getf("choice") == 3 then end end when tempo3.timer begin if party.getf("choice") == 1 then sufhal_instance_50.choice1_pop3() elseif party.getf("choice") == 2 then elseif party.getf("choice") == 3 then end end --------------------------------------- FUNCTIONS LINKS --------------------------------------- when kill begin party.chat(d.count_monster()) if d.count_monster() <= 2 then if party.getf("level") == 3 then timer("tempo2", 5) sufhal_instance_50._clear() elseif party.getf("level") == 4 then timer("tempo3", 5) sufhal_instance_50._clear() end end end --------------------------------------- FUNCTIONS --------------------------------------- function choice1_pop1() party.chat("Détruisez toutes les metins pour atteindre le niveau 3.") d.regen_file("data/instance/1/regen_2.txt") party.setf("level", 3) end function choice1_pop2() party.chat("Tuez tous les monstres pour atteindre le niveau 4.") d.regen_file("data/instance/1/regen_3.txt") party.setf("level", 4) end function choice1_pop3() party.chat("Tuez tous les monstres pour atteindre le niveau 5.") d.regen_file("data/instance/1/regen_4.txt") party.setf("level", 5) end function _clear() d.clear_regen() end --------------------------------------- JOIN THE PARTY --------------------------------------- when 20004.chat."Rejoignez votre groupe" with (party.is_party() and d.find(party.getf("training_map_index"))) begin --local cord = set.base_cord local n = party.getf("training_map_index") say_title("Mendiant:") say("Voulez-vous rejoindre votre groupe ?") say("") local choix = select("Oui", "Non") if choix == 2 then return end if choix == 1 then --pc.warp(cord[1]*100,cord[2]*100, n) pc.warp((0+384)*100,(256+384)*100, n) return end end --------------------------------------- ??? --------------------------------------- when login with pc.get_map_index()>=750000 and pc.get_map_index()<760000 begin local s = pc.get_empire() if s==1 then pc.set_warp_location (1, 4693, 9642) elseif s==2 then pc.set_warp_location (21, 557, 1579 ) elseif s==3 then pc.set_warp_location (41, 9696 , 2784) end end --------------------------------------- EXIT ALL --------------------------------------- when 691.kill with party.getf("training_map_index") > 0 begin notice_all("Le groupe de "..pc.get_name().." va sortir de la salle.") chat("Vous allez etre téléporté dans 5 secondes.") d.set_exit_all_at_eliminate(5) end endend Je reste bien évidemment à votre disposition pour d'éventuelles questions :zen: Bonne journée à vous, Cordialement, Sufhal
  9. Réponse claire nette et précise, c'est tout ce qu'il me fallait ! Je ne peux pas tout de suite tester mais dès que la map serait prête je vous ferai un retour. Merci à vous deux !
  10. Les maps comme la map Orc il est déjà possible de pêcher mais il n'y a aucun drop, c'est ces endroits de drop qu'il faut que j'arrive à modifier..
  11. Bonjour à tous, J'aimerais modifier les maps où il est possible de pêcher (par défaut la map1 et 2 de tous les empires). Je sais que c'est possible, j'ai entendu dire qu'il fallait modifier ça dans les sources mais où ? Quelqu'un la déjà fait ? Merci d'avance pour vos réponses !
  12. Effectivement, je l'ai corrigé. Merci pour la remarque ! Cependant ça ne téléportait toujours pas mais il se trouve que la commande d.join() empêche de se téléporter sur les maps considérés comme des donjons (donjons des singes, v1, v2, etc...) j'ai changer de map et maintenant tout fonctionne ! Le problème est donc résolu
  13. C'est ce que j'ai fait : quest sufhal_instance_50 begin state start begin when 20004.chat."Salle d'entrainement 50" begin say_npc_name() say("Vous voulez vous entrainer ?") say("") local s = select("Yep", "Fermer") if s == 2 then return end if party.is_party() then if not party.is_leader() then say_npc_name() say("Vous n'êtes pas le chef du Groupe!") say("") else say_npc_name() say("Vous allez être téléporté dans quelques instants,") say("votre groupe vous suivera.") say("") party.chat("Vous êtes sur le point d'entrer dans la salle.") notice_all("Le groupe de "..pc.get_name().." est entré dans la salle.") wait() d.join(107) party.setf("training_map_index",d.get_map_index()) end end end when 20004.chat."Rejoignez votre groupe" with (party.is_party() and d.find(party.getf("training_map_index"))) begin local cord = set.base_cord local n = party.getf("training_map_index") say_npc_name() say("Voulez-vous rejoindre votre groupe ?") say("") local choix = select("Oui", "Non") if choix == 2 then return end if choix == 1 then wait() pc.warp(cord[1]*100,cord[2]*100,107) end end when login with pc.get_map_index()>=750000 and pc.get_map_index()<760000 begin local s = pc.get_empire() if s==1 then pc.set_warp_location (1, 4693, 9642) elseif s==2 then pc.set_warp_location (21, 557, 1579 ) elseif s==3 then pc.set_warp_location (41, 9696 , 2784) end end when 101.kill with pc.get_map_index()>=75000 and pc.get_map_index()<760000 begin notice_all("Le groupe de "..pc.get_name().." va sortir de la salle.") chat("Vous allez etre téléporté dans 30secondes.") d.set_exit_all_at_eliminate(30) end endend La map en question c'est le donjon des singes (facile) mais je ne suis pas téléporté... une idée du problème ? Merci de tes réponses Kameyu :smiley_8:
  14. Avec un party.setf ? ou un truc dans le style ?
  15. Bonjour à tous, Je prépare actuellement des instances sur mon serveur sous files 2014. Pour le donjon en lui même pas de problème (bien que je ne puisse pas faire d'instance dans les donjons des singes, pourquoi ?) avec les fonctions dungeon. , mais lorsqu'une personne du groupe sort de l'instance alors que les autres y sont encore, il lui est impossible de les rejoindre... Comment peut-on faire ? Merci d'avance pour vos réponses, Cordialement, Sufhal