-
Compteur de contenus
1488 -
Inscription
-
Dernière visite
-
Jours gagnés
14
Type de contenu
Profils
Forums
Boutique
Calendrier
Tout ce qui a été posté par Kameyu
-
Le problème de "Does not support 3D Graphics" vient des drivers pas à jour. Télécharge GeForce Experience et mets à jour les pilotes.
-
Pour régler ce problème: Tu as juste à taper la commande qui suit: fsck -y Il cherchera automatiquement. S'il te demande de confirmer, tu dis oui à chaque fois. (y)
-
affect.add_collect et questlib.lua
Kameyu a répondu à un(e) question de Jinzo dans Questions & Réponses
Super, alors je classe ;). -
affect.add_collect et questlib.lua
Kameyu a répondu à un(e) question de Jinzo dans Questions & Réponses
Dans les sources quand tu fais un affect.add, il utilise cette liste (aApplyInfo[APPLY_MAX_NUM]): { POINT_NONE, }, // APPLY_NONE, 0 { POINT_MAX_HP, }, // APPLY_MAX_HP, 1 { POINT_MAX_SP, }, // APPLY_MAX_SP, 2 { POINT_HT, }, // APPLY_CON, 3 { POINT_IQ, }, // APPLY_INT, 4 { POINT_ST, }, // APPLY_STR, 5 { POINT_DX, }, // APPLY_DEX, 6 { POINT_ATT_SPEED, }, // APPLY_ATT_SPEED, 7 { POINT_MOV_SPEED, }, // APPLY_MOV_SPEED, 8 { POINT_CASTING_SPEED, }, // APPLY_CAST_SPEED, 9 { POINT_HP_REGEN, }, // APPLY_HP_REGEN, 10 { POINT_SP_REGEN, }, // APPLY_SP_REGEN, 11 { POINT_POISON_PCT, }, // APPLY_POISON_PCT, 12 { POINT_STUN_PCT, }, // APPLY_STUN_PCT, 13 { POINT_SLOW_PCT, }, // APPLY_SLOW_PCT, 14 { POINT_CRITICAL_PCT, }, // APPLY_CRITICAL_PCT, 15 { POINT_PENETRATE_PCT, }, // APPLY_PENETRATE_PCT, 16 { POINT_ATTBONUS_HUMAN, }, // APPLY_ATTBONUS_HUMAN, 17 { POINT_ATTBONUS_ANIMAL, }, // APPLY_ATTBONUS_ANIMAL, 18 { POINT_ATTBONUS_ORC, }, // APPLY_ATTBONUS_ORC, 19 { POINT_ATTBONUS_MILGYO, }, // APPLY_ATTBONUS_MILGYO, 20 { POINT_ATTBONUS_UNDEAD, }, // APPLY_ATTBONUS_UNDEAD, 21 { POINT_ATTBONUS_DEVIL, }, // APPLY_ATTBONUS_DEVIL, 22 { POINT_STEAL_HP, }, // APPLY_STEAL_HP, 23 { POINT_STEAL_SP, }, // APPLY_STEAL_SP, 24 { POINT_MANA_BURN_PCT, }, // APPLY_MANA_BURN_PCT, 25 { POINT_DAMAGE_SP_RECOVER, }, // APPLY_DAMAGE_SP_RECOVER,26 { POINT_BLOCK, }, // APPLY_BLOCK, 27 { POINT_DODGE, }, // APPLY_DODGE, 28 { POINT_RESIST_SWORD, }, // APPLY_RESIST_SWORD, 29 { POINT_RESIST_TWOHAND, }, // APPLY_RESIST_TWOHAND, 30 { POINT_RESIST_DAGGER, }, // APPLY_RESIST_DAGGER, 31 { POINT_RESIST_BELL, }, // APPLY_RESIST_BELL, 32 { POINT_RESIST_FAN, }, // APPLY_RESIST_FAN, 33 { POINT_RESIST_BOW, }, // APPLY_RESIST_BOW, 34 { POINT_RESIST_FIRE, }, // APPLY_RESIST_FIRE, 35 { POINT_RESIST_ELEC, }, // APPLY_RESIST_ELEC, 36 { POINT_RESIST_MAGIC, }, // APPLY_RESIST_MAGIC, 37 { POINT_RESIST_WIND, }, // APPLY_RESIST_WIND, 38 { POINT_REFLECT_MELEE, }, // APPLY_REFLECT_MELEE, 39 { POINT_REFLECT_CURSE, }, // APPLY_REFLECT_CURSE, 40 { POINT_POISON_REDUCE, }, // APPLY_POISON_REDUCE, 41 { POINT_KILL_SP_RECOVER, }, // APPLY_KILL_SP_RECOVER, 42 { POINT_EXP_DOUBLE_BONUS, }, // APPLY_EXP_DOUBLE_BONUS, 43 { POINT_GOLD_DOUBLE_BONUS, }, // APPLY_GOLD_DOUBLE_BONUS,44 { POINT_ITEM_DROP_BONUS, }, // APPLY_ITEM_DROP_BONUS, 45 { POINT_POTION_BONUS, }, // APPLY_POTION_BONUS, 46 { POINT_KILL_HP_RECOVERY, }, // APPLY_KILL_HP_RECOVER, 47 { POINT_IMMUNE_STUN, }, // APPLY_IMMUNE_STUN, 48 { POINT_IMMUNE_SLOW, }, // APPLY_IMMUNE_SLOW, 49 { POINT_IMMUNE_FALL, }, // APPLY_IMMUNE_FALL, 50 { POINT_NONE, }, // APPLY_SKILL, 51 { POINT_BOW_DISTANCE, }, // APPLY_BOW_DISTANCE, 52 { POINT_ATT_GRADE_BONUS, }, // APPLY_ATT_GRADE, 53 { POINT_DEF_GRADE_BONUS, }, // APPLY_DEF_GRADE, 54 { POINT_MAGIC_ATT_GRADE_BONUS, }, // APPLY_MAGIC_ATT_GRADE, 55 { POINT_MAGIC_DEF_GRADE_BONUS, }, // APPLY_MAGIC_DEF_GRADE, 56 { POINT_CURSE_PCT, }, // APPLY_CURSE_PCT, 57 { POINT_MAX_STAMINA }, // APPLY_MAX_STAMINA 58 { POINT_ATTBONUS_WARRIOR }, // APPLY_ATTBONUS_WARRIOR 59 { POINT_ATTBONUS_ASSASSIN }, // APPLY_ATTBONUS_ASSASSIN 60 { POINT_ATTBONUS_SURA }, // APPLY_ATTBONUS_SURA 61 { POINT_ATTBONUS_SHAMAN }, // APPLY_ATTBONUS_SHAMAN 62 { POINT_ATTBONUS_MONSTER }, // APPLY_ATTBONUS_MONSTER 63 { POINT_ATT_BONUS }, // 64 // APPLY_MALL_ATTBONUS { POINT_MALL_DEFBONUS }, // 65 { POINT_MALL_EXPBONUS }, // 66 APPLY_MALL_EXPBONUS { POINT_MALL_ITEMBONUS }, // 67 { POINT_MALL_GOLDBONUS }, // 68 { POINT_MAX_HP_PCT }, // 69 { POINT_MAX_SP_PCT }, // 70 { POINT_SKILL_DAMAGE_BONUS }, // 71 { POINT_NORMAL_HIT_DAMAGE_BONUS }, // 72 // DEFEND_BONUS_ATTRIBUTES { POINT_SKILL_DEFEND_BONUS }, // 73 { POINT_NORMAL_HIT_DEFEND_BONUS }, // 74 // END_OF_DEFEND_BONUS_ATTRIBUTES // PC_BANG_ITEM_ADD { POINT_PC_BANG_EXP_BONUS }, // 75 { POINT_PC_BANG_DROP_BONUS }, // 76 // END_PC_BANG_ITEM_ADD { POINT_NONE, }, // 77 »ç¿ë½Ã HP ¼Ò¸ð APPLY_EXTRACT_HP_PCT { POINT_RESIST_WARRIOR, }, // 78 ¹«»ç¿¡°Ô ÀúÇ× APPLY_RESIST_WARRIOR { POINT_RESIST_ASSASSIN, }, // 79 ÀÚ°´¿¡°Ô ÀúÇ× APPLY_RESIST_ASSASSIN { POINT_RESIST_SURA, }, // 80 ¼ö¶ó¿¡°Ô ÀúÇ× APPLY_RESIST_SURA { POINT_RESIST_SHAMAN, }, // 81 ¹«´ç¿¡°Ô ÀúÇ× APPLY_RESIST_SHAMAN { POINT_ENERGY }, // 82 ±â·Â { POINT_DEF_GRADE }, // 83 ¹æ¾î·Â. DEF_GRADE_BONUS´Â Ŭ¶ó¿¡¼ µÎ¹è·Î º¸¿©Áö´Â ÀǵµµÈ ¹ö±×(...)°¡ ÀÖ´Ù. { POINT_COSTUME_ATTR_BONUS }, // 84 ÄÚ½ºÆ¬¿¡ ºÙÀº ¼Ó¼º¿¡ ´ëÇØ¼¸¸ º¸³Ê½º¸¦ ÁÖ´Â ±â·Â { POINT_MAGIC_ATT_BONUS_PER }, // 85 ¸¶¹ý °ø°Ý·Â +x% { POINT_MELEE_MAGIC_ATT_BONUS_PER }, // 86 APPLY_MELEE_MAGIC_ATTBONUS_PER { POINT_RESIST_ICE, }, // APPLY_RESIST_ICE, 87 { POINT_RESIST_EARTH, }, // APPLY_RESIST_EARTH, 88 { POINT_RESIST_DARK, }, // APPLY_RESIST_DARK, 89 { POINT_RESIST_CRITICAL, }, // APPLY_ANTI_CRITICAL_PCT, 90 { POINT_RESIST_PENETRATE, }, // APPLY_ANTI_PENETRATE_PCT, 91 Donc ça me semble bizarre que le tien n'applique pas le bon bonus... -
Salut, quel est l'ID de la coiffure que tu essaies de mettre ? La base de données limite les types à 32767 par défaut (smallint(6)). Si tu dépasses ce nombre, il le rajuste automatiquement à 32767, mais comme tu n'as aucune coiffure avec l'id 32767, il te dit qu'elle n'existe pas. Vérifie dans ton item_proto que tu n'aies pas de coiffure dont l'ID dépasse 32767. Si c'est le cas, change dans ta table le type de smallint à mediumint. Pour ce faire, ouvre la table dans navicat et appuie sur Ctrl+D. Change ensuite ce que j'ai dit au-dessus.
-
affect.add_collect et questlib.lua
Kameyu a répondu à un(e) question de Jinzo dans Questions & Réponses
C'est en effet bizarre, côté sources les fonctions sont correctes ? -
affect.add_collect et questlib.lua
Kameyu a répondu à un(e) question de Jinzo dans Questions & Réponses
Logiquement sur un add_collect, les bonus devraient être bons. Dans ta table, je vois rien qui cloche. Les bonus affichés sont ceux sur ton deuxième questlib. -
affect.add_collect et questlib.lua
Kameyu a répondu à un(e) question de Jinzo dans Questions & Réponses
Salut, Je ne comprends pas le sens de ta question ? La fonction add_collect() ne marche pas avec des bonus précis c'est bien ça ? -
Bienvenue, en espérant que tu trouves ton bonheur chez nous :).
-
Ça me semble pas hyper développé tout ça
-
Question sur affiche bonus via affect.add_collect
Kameyu a répondu à un(e) question de Jinzo dans Questions & Réponses
Je m'en occupe :). -
Question sur affiche bonus via affect.add_collect
Kameyu a répondu à un(e) question de Jinzo dans Questions & Réponses
En gros ce qu'il dit c'est que la table Affect possède déjà les infos de quel affect a été appliqué à quel joueur et pour combien de temps. Tu peux faire une quête pour récupérer ces données via la fonction mysql_query en Lua, et afficher tout ça dans ta quête. -
Salut, C'est noté. Essaie d'apporter une réponse dans la semaine sans quoi on le déplacera automatiquement ^^.
-
La fonction IsChild te permettra d'évaluer si l'objet a bien été créé, si c'est pas le cas il renverra false. Si c'est le cas c'est que ton objet n'existe pas (encore) mais que ton client essaie d'y accéder, ce qui cause l'erreur "KeyError". En gros, tu dois faire un truc dans le genre: if self.IsChild("PercentExp") == True: ##suite du code
-
Il faut toujours vérifier que le Child existe avant de l'appeler/l'utiliser...
-
Il crash toujours après ou avant d'avoir testé ma solution ?
-
C'est ce que je recherchais, mais on ne dirait pas vraiment qu'il y a un problème avec ces deux listes. Comme l'indique ton syserr, c'est la ligne 712 qui fait planter, m'est avis que ta variable max_show ne soit pas tout à fait correcte. Peut-être que dans le cas où tu aurais plus d'HPs que de HP max (disons 50206 HP sur 25103 au total), ton max_show vaudrait -76... Ce qui cause un out of range exception. En fait, ce qu'ils (par ils j'entends les créateurs du design) n'ont pas pensé, c'est qu'on pouvait pour X raison avoir plus d'HP que d'HP Max (avec une commande GM par exemple ). Du coup dans ce cas précis (ou en cas de bug), le client cherche à accéder à la case -76... Qui n'existe pas, en fait. Et accéder à une case qui n'existe pas crée un "list index out of range". Change la fonction comme qui suit: def SetMp(self, _actual, _recovery, _max): max_show = 76 -int(76.0 * float(_actual)/ float(_max)) max_rec = 76 -int(76.0 * float(_recovery)/ float(_max)) ## Si max_show ou max_rec n'est pas compris entre 0 et 76 ## On corrige le dépassement pour éviter tout out of range max_show = 76 if max_show > 76 else max_show max_show = 0 if max_show < 0 else max_show max_rec = 76 if max_rec > 76 else max_rec max_rec = 0 if max_rec < 0 else max_rec for i in xrange(0,77): self.MpFull[i].Hide() self.MpRefresh[i].Hide() self.MpRefresh[max_rec].Show() self.MpFull[max_show].Show()
-
Y'a une des deux listes MpFull ou MpRefresh qui ne possèdent pas tous les éléments que tu cherches à accéder. Si ta liste possède 50 éléments et que tu veux accéder au 57ème, il va planter et te renvoyer l'erreur que tu as eue. Pour résumer: c'est quoi MpFull et MpRefresh ?
-
Salut, tu es sûr d'avoir hashé le mot de passe en MySQL 5.x ? Il ne faut pas le marquer en brut. Un mot de passe "test" hashé donne ça: *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29
-
Du coup est-ce que le topic est résolu ?
-
Tout à fait, mais c'est pas super sécurisé tout ça... Il vaudrait mieux utiliser un fichier dans lequel les mots de passe sont cryptés que stocker les IDs en brut sur le PC.
-
Non il insère juste le PATH "SOFTWARE\TWIX Work" dans ton registre. J'vois pas trop l'intérêt, mais si ton truc utilise le PATH alors tu devrais le laisser. M'est avis que ça ne présage rien de bon.
-
Du nouveau ?
-
Warning Nous tenons à rappeler que ce sujet n'est pas un post d'aide et de support ! En cas de question ou toute demande d'aide, merci de créer un sujet dans le forum prévu à cet effet ou en cliquant ici.
