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

Hystos

Membre
  • Compteur de contenus

    256
  • Inscription

  • Dernière visite

Messages posté(e)s par Hystos

  1. Bonsoir,

     

    As-tu essayé d'enlever du locale_list la dernière quête que tu as ajouté (soit celle partagée ici j'imagine) pour voir si le problème était toujours présent ?

     

    Si le problème disparaît, c'est que la quête partagée dans la discussion n'est pas fonctionnelle. Je t'incite à aller lire les tutoriels présents sur la création de quêtes qui, en plus de la pratique, pourront faire de toi le maître des quêtes sur metin2.

     

    Sinon, c'est que le problème vient d'ailleurs, et dans ce cas-là, bonne chance pour le retrouver :angel:.

  2. Bonjour,

     

    Vous avez bien installé apache sur votre serveur ? Si c'est le cas, allez voir dans le fichier httpd.conf les autorisations que vous avez donné aux différents répertoires.

     

    Théoriquement, si vous y avez accès, les autres aussi.

  3. Bonsoir,

     

    Vous pouvez enlever cet avertissement dans votre fichier php.ini. Sur debian, ce fichier se trouve dans /etc/php5/apache2/php.ini

     

    Vous pourrez y trouver la variable error_reporting et vous inspirer des exemples commentés à côté pour modifier sa valeur.

     

    Sinon, si vous vous y connaissez un peu en PHP, préférez utiliser mysqli ou bien PDO comme les développeurs de PHP vous le conseillent.

  4. Bonjour,

     

    Je cherche à mettre en place des portails de type "goto" (sans barre de chargement).

     

    Version des files : 2012

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

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

     

    Description du problème : Je cherche à créer des portails de téléportation de type "goto" (comme quand on fait un /go avec des coordonnées locales sur un perso GM) sans qu'il y ait l'écran de chargement.

    Recherches et tests effectué : Concrètement, j'ai trouvé ces portails (du moins je crois) dans la table mob_proto (vnum 10501). Cependant, après avoir testé IG, ils ne font strictement rien. J'ai essayé de reprendre les portails normaux et de les modifier, mais il semble que le ça soit le type 9 qui les fasse disparaître.

    Ces portails doivent pourtant bien exister étant donné qu'ils sont par exemple dans les Catacombes. J'ai copié les données d'un portail catacombe en changeant les coordonnées mais rien ne se passe, il n'existe pas sur le jeu. Il n'y a rien dans le mob_proto client a propos de ces portails (ce qui explique peut être le fait qu'on ne les voit pas). J'ai essayé de changer par rapport à un portail déjà existant et fonctionnel mais il disparaît dès que je lui applique le type 9.

     

     

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

  5. Centre de Téléchargement

    Hidden Content

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

    Bonjour,

     

    Aujourd'hui, j'ai eu besoin d'écrire une nouvelle fonction de don d'item.

    En effet, la fonction actuelle ne fonctionne pas lors qu'on veut donner plus de 200 objets du même type (300 potions par exemple).

    Du coup, j'ai vite fait écris une nouvelle fonction que je suis venu partager avec vous.

     

    1.La fonction

    function pc.give_item3(item, nombre) 
    local nombre = tonumber(nombre)
    local item = tonumber(item)
    if nombre > 200 then
    	local nb = math.floor(nombre/200)
    	for i = 1, nb do
    		pc.give_item2(item, 200)
    	end
    	local reste = nombre - nb*200
    	if reste > 0 then
    		pc.give_item2(item, reste)
    	end
    else
    	pc.give_item2(item, nombre)
    end
    end
     

    2. Comment l'utiliser ?

    Il vous suffit d'ajouter ce code dans le fichier questlib.lua, et d'ajouter à la fin de votre fichier quest_functions pc.give_item3 (attention à bien garder la ligne vide à la fin).

     

    Dans vos fichiers .quest, il vous suffit pour donner un item, imaginons 300 potions rouges, d'appeler la fonction comme ceci :

    pc.give_item3(27003, 300)
    Il y a peut être 50 000 façons de l'écrire de manière plus optimisée. Cependant, je pense que cela aidera bien ceux qui ont eu le même problème que moi.

     

    Vous pouvez librement partager cette fonction sur autant de forums que vous souhaitez, si possible en citant celui qui l'a créé (moi :angel:).

  6. Bonjour,

     

    Pourquoi ne pas prendre le CMS de Jigsaw qui je le rappelle est parfaitement fonctionnel et bien plus sécurisé et mieux codé que la quasi-totalité des sites allemands soit disant bien plus avancés ?

     

    Il est "moche", certes, mais ce n'est que le design et il est justement fait pour que ce design soit très facilement modifiable avec un brin de connaissances en CSS...

  7. Bonjour,

     

    Version des files : 2012

    Domaine (Base de données, Core, etc.) : Bases de données / serveur

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

     

    Description du problème : Je souhaiterais modifier les valeurs des compétences. Cependant, je n'arrive pas à y toucher.

    Comment reproduire le problème : /

    Recherches et tests effectué : J'ai pas mal bidouillé dans la table skill_proto, dans le fichier skill_power, dans des fichiers côté client également.

    Résultat des recherches et tests : Je n'ai pour l'instant réussi qu'à changer la vitesse de rechargement / d'activité d'un skill. Sa valeur reste la même, même si je change les valeurs des formules dans la table skill_proto qui sont sensées la calculer.

     

    J'ai vu qu'un sujet de ce type avait été résolu, mais la solution n'a pas été posté sur le forum...

     

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

  8. Je ne crois pas que ça soit possible.

     

    En effet il y a plusieurs choses qui peuvent empêcher les joueurs d'aller dans certaines zones d'une map :

    - l'attr de la map.

    - les objets qui ont un mdatr (ou un truc du genre j'ai pas le nom sous les yeux) qui défini les endroits où on peut passer sur un objet.

     

    Le problème c'est que tu ne peux pas manipuler les objets via une quête... On ne peut manipuler que des npc, or ceux-ci n'ont pas cette valeur.

     

    Après comme toujours tu peux contourner le problème en utilisant par exemple un loop_timer. Pour cela, il te faut déterminer la zone du couloir comme un rectangle en utilisant les coordonnées. Voici un exemple :

     

    when login begin
           //On lance le loop_timer qui va se répéter toutes les secondes
           loop_timer("test", 1)
    end
    
    when test.timer begin
           //Rectangle : x entre 80 et 120 non compris et y entre 300 et 350 non compris. Si le perso est dans cette zone 
          if pc.get_local_x() > 80 and pc.get_local_x() < 120 and pc.get_local_y() > 300 and pc.get_local_y() < 350 then
                   notice("Vous ne pouvez pas pénétrer dans cette zone")
                   pc.warp(x, y)
          end
    end
    
    

     

     

    Tu peux ainsi vérifier à toutes les secondes si le personnage ne pénètre pas dans la mauvaise zone. Si tu ajoutes une barrière (un NPC qui ne bloquera pas) pour mettre quelque chose de graphique, je pense que ça peut le faire.

  9. Bah... Admettons que tu veuilles allier les jaunes et les rouges contre les bleus :

     

    when kill with pc.get_empire() != npc.get_empire() begin
           if pc.get_empire() != 3 then
                   if npc.get_empire != 3 then
                           pc.warp(x, y)
                           notice("pas bien")
                   end
           end
    end
    

     

     

    set_state() ne s'appliquera qu'au personnage sélectionné qui accompli la quête donc le GM :)

     

    Pour qu'une lettre ou quoi que ce soit s'affiche chez les joueurs, t'es obligé de leur faire faire quelque chose que tu vas pouvoir détecter via les quêtes, donc parler à un PNJ, poser un item, tuer quelqu'un, se connecter, ...

     

    Théoriquement, il y a une autre solution mais elle est carrément barbare et ça m'étonnerait qu'elle fonctionne correctement. En utilisant le module mysql, tu sélectionnes tous les persos et pour chacun tu test s'il est co, et si oui tu fais afficher la lettre. Je te laisse imaginer les ressources que ça demande niveau serveur...

  10. Bonjour,

     

    je voudrais savoir si il est possible avec la commande de quête pc.get_empire () de bloquer le pvp entre 2 empire sur une map bien précise mais pas avec le 3eme un system de 2 vs 1 et si oui comment le codé.

     

    Il ne me semble pas que ça soit possible d'empêcher un empire de frapper un autre en utilisant une quête. Par contre, tu peux faire un système de "contournement de problème" : quand le joueur tue un autre joueur d'un empire qu'il doit pas attaquer, il se fait téléporter je ne sais où... ou il perd des items enfin des trucs comme ça...

     

    et 2eme question je voudrais que la quette soit reserver GM donc avec pc.is_gm() mais que sa envoie une quette au perso joueur comme une confirmation pour participer a un event j'aimerais des indication sur comment coder cette parti aussi car j'ai un problème les joueur ne reçoivent pas la quette je suis passer par la commande set_state aurait-il fallu la commande de flag ?

     

    Je ne suis pas sur d'avoir bien compris. D'après ce que j'ai compris, tu souhaites en gros qu'un perso GM puisse "lancer" une quête, un event j'imagine pour tous les autres joueurs du serveur ?

    Si c'est le cas, en effet, c'est via un event_flag qu'il faut procéder. Le problème est qu'il faudra un élément déclencheur pour tous les joueurs.

    Je m'explique : pour que le GM puisse lancer la quête, il faut par exemple qu'il actionne un item ou parle à un PNJ, pour lancer un état de quête qui va s'occuper de passer l'event_flag à 1 par exemple.

    Mais ça ne suffit pas. Il faut ensuite que les joueurs, les autres personnages, fassent une action pour qu'on puisse faire leur quête, car sans déclencheur rien ne se passera.

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.