Jump to content
×
×
  • Create New...

Mandrilux

Membre
  • Posts

    809
  • Joined

  • Last visited

Everything posted by Mandrilux

  1. Tu semble avoir des erreurs dans le "mobload" , hors je n'ai pas publié de code pour mob proto Donc non ce n'est pas moi qui est fourni le code que tu as. j'ai publié uniquement item proto. déja à la ligne 188 remplace std::auto_ptr pkMsg(CDBManager::instance().DirectQuery(query)); par std::auto_ptr<SQLMsg> pkMsg(CDBManager::instance().DirectQuery(query)); Les autres erreurs semble etre la meme chose , le template "sqlMSg qui n'est pas déclaré
  2. J'ai repris le code et appliqué au file 2016 V3 et il ne fonctionne pas. Voila la version corrigé pour les fichiers 2016 V3 pour l'item proto bool CClientManager::InitializeItemTable() { char query[2048]; fprintf(stderr,"Loading item_proto from MySQL"); snprintf(query, sizeof(query), "SELECT vnum,name,%s,type,subtype,weight,size,antiflag,flag,wearflag,immuneflag+0,gold,shop_buy_price,refined_vnum," "refine_set,magic_pct,limittype0,limitvalue0,limittype1,limitvalue1,applytype0,applyvalue0," "applytype1,applyvalue1,applytype2,applyvalue2,value0,value1,value2,value3,value4,value5,socket_pct,addon_type FROM item_proto%s ORDER BY vnum", g_stLocaleNameColumn.c_str(), GetTablePostfix()); std::auto_ptr<SQLMsg> pkMsg(CDBManager::instance().DirectQuery(query)); SQLResult * pRes = pkMsg->Get(); if (!pRes->uiNumRows) return false; int addNumber = pRes->uiNumRows; if (!m_vec_itemTable.empty()) { sys_log(0, "RELOAD: item_proto"); m_vec_itemTable.clear(); m_map_itemTableByVnum.clear(); } m_vec_itemTable.resize(addNumber-1); memset(&m_vec_itemTable[0], 0, sizeof(TItemTable) * m_vec_itemTable.size()); TItemTable * item_table = &m_vec_itemTable[0]; MYSQL_ROW data; //return true; set<int> vnumSet; while ((data = mysql_fetch_row(pRes->pSQLResult))) { str_to_number(item_table->dwVnum, data[0]); strlcpy(item_table->szName,data[1] , sizeof(item_table->szName)); strlcpy(item_table->szLocaleName, data[2], sizeof(item_table->szLocaleName)); str_to_number(item_table->bType, data[3]); str_to_number(item_table->bSubType, data[4]); str_to_number(item_table->bWeight, data[5]); str_to_number(item_table->bSize, data[6]); str_to_number(item_table->dwAntiFlags, data[7]); str_to_number(item_table->dwFlags, data[8]); str_to_number(item_table->dwWearFlags, data[9]); str_to_number(item_table->dwImmuneFlag, data[10]); str_to_number(item_table->dwGold, data[11]); str_to_number(item_table->dwShopBuyPrice, data[12]); str_to_number(item_table->dwRefinedVnum, data[13]); str_to_number(item_table->wRefineSet, data[14]); str_to_number(item_table->bAlterToMagicItemPct, data[15]); item_table->cLimitRealTimeFirstUseIndex = -1; item_table->cLimitTimerBasedOnWearIndex = -1; str_to_number(item_table->aLimits[0].bType, data[16]); str_to_number(item_table->aLimits[0].lValue, data[17]); if (LIMIT_REAL_TIME_START_FIRST_USE == item_table->aLimits[0].bType) item_table->cLimitRealTimeFirstUseIndex = (char)0; if (LIMIT_TIMER_BASED_ON_WEAR == item_table->aLimits[0].bType) item_table->cLimitTimerBasedOnWearIndex = (char)0; str_to_number(item_table->aLimits[1].bType, data[18]); str_to_number(item_table->aLimits[1].lValue, data[19]); if (LIMIT_REAL_TIME_START_FIRST_USE == item_table->aLimits[1].bType) item_table->cLimitRealTimeFirstUseIndex = (char)1; if (LIMIT_TIMER_BASED_ON_WEAR == item_table->aLimits[1].bType) item_table->cLimitTimerBasedOnWearIndex = (char)1; str_to_number(item_table->aApplies[0].bType, data[20]); str_to_number(item_table->aApplies[0].lValue, data[21]); str_to_number(item_table->aApplies[1].bType, data[22]); str_to_number(item_table->aApplies[1].lValue, data[23]); str_to_number(item_table->aApplies[2].bType, data[24]); str_to_number(item_table->aApplies[2].lValue, data[25]); str_to_number(item_table->alValues[0], data[26]); str_to_number(item_table->alValues[1], data[27]); str_to_number(item_table->alValues[2], data[28]); str_to_number(item_table->alValues[3], data[29]); str_to_number(item_table->alValues[4], data[30]); str_to_number(item_table->alValues[5], data[31]); str_to_number(item_table->bGainSocketPct, data[32]); str_to_number(item_table->sAddonType, data[33]); vnumSet.insert(item_table->dwVnum); m_map_itemTableByVnum.insert(std::map<DWORD, TItemTable *>::value_type(item_table->dwVnum, item_table)); // test_map_mobTableByVnum.insert(std::map<DWORD, TMobTable *>::value_type(test_mob_table->dwVnum, test_mob_table)); sys_log(0, "ITEM: #%-5lu %-24s %-24s VAL: %d %ld %d %d %d %d WEAR %d ANTI %d IMMUNE %d REFINE %lu REFINE_SET %u MAGIC_PCT %u", item_table->dwVnum, item_table->szName, item_table->szLocaleName, item_table->alValues[0], item_table->alValues[1], item_table->alValues[2], item_table->alValues[3], item_table->alValues[4], item_table->alValues[5], item_table->dwWearFlags, item_table->dwAntiFlags, item_table->dwImmuneFlag, item_table->dwRefinedVnum, item_table->wRefineSet, item_table->bAlterToMagicItemPct); item_table++; } fprintf(stderr,"Complete LOAD ITEM ! %d Items loaded.\r\n",addNumber); return true; }
  3. vous parler de la value 3 coté item_proto ?
  4. oui , j'ai bien déclarer le + 1 je ne comprend vraiment pas d'ou vien le problème .
  5. Hello, Merci mais , sa ne fonctionne pas mieux ...
  6. je vais essayer , mais c'est vraiment qu'avec une seul arme que je porte
  7. Bonjour a tous, j'ai implanté une armure sur mon serveur et j'ai un soucis , je ne comprend pas pourquoi l'armure s'affiche pas quand je la porte. j'ai copié le gr2 dans pc / pc2 baso_arcobaleno_war_m.gr2 est bien nommé comme sa et est dans le dossier pc/warrior le shapeIndex est q'une fois présent pour la valeur 77 . le group ShapeData158 est déclaré egalement qu'une fois. la valeur ShapeIndex est bien la valeur de value3 coté BDD. Et voila la parti que j'ai rajouté dans les fichier de conf .msm . Group ShapeData158 { SpecialPath "d:/ymir Work/pc/warrior/" ShapeIndex 77 Model "baso_arcobaleno_war_m.gr2" } Je suis en fichier 2014 coté serveur et client 2014 (lanceur non compilé, en tout cas pas par moi) Pouvez vous m'aider ? En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
  8. sa se ferme d'un coup genre quand je tue des mobs , j'ai meme pas besoin de me TP , j'ai l'impression que c'est quand je porte une arme en particulier , je me trompe peux etre mais je comprend pas pourquoi
  9. je n'ai pas compilé mon lanceur , et j'ai verifié mes fichiers .msa , rien de special
  10. Bonjour a tous, j'ai un soucis avec mon client, il se ferme tout seul regulierement voila mes erreurs sysserr 0629 17:12:09655 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/etc/buff/buff_item2.mse) Error 0629 17:12:09655 :: CInstanceBase::RegisterEffect(eEftType=270, c_szEftAttachBone=, c_szEftName=d:/ymir work/effect/etc/buff/buff_item2.mse, isCache=1) - Error 0629 17:12:09658 :: CEffectManager::RegisterEffect - LoadScript(d:/ymir work/effect/etc/buff/buff_item4.mse) Error 0629 17:12:09658 :: CInstanceBase::RegisterEffect(eEftType=272, c_szEftAttachBone=, c_szEftName=d:/ymir work/effect/etc/buff/buff_item4.mse, isCache=1) - Error 0629 17:13:17698 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x8000000f, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted. 0629 17:13:18311 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/warrior/wedding/run.msa) ERROR 0629 17:13:18739 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/warrior/wedding/run.msa) ERROR 0629 17:13:19233 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/assassin/wedding/run.msa) ERROR 0629 17:13:19670 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/assassin/wedding/run.msa) ERROR 0629 17:13:20261 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/sura/wedding/run.msa) ERROR 0629 17:13:20609 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/sura/wedding/run.msa) ERROR 0629 17:13:20862 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc/shaman/wedding/run.msa) ERROR 0629 17:13:21407 :: CRaceData::RegisterMotionData - LoadMotionData(c_szFileName=d:/ymir work/pc2/shaman/wedding/run.msa) ERROR 0629 17:13:22944 :: GRANNY: r:/granny/rt/granny_file_info.cpp(145): File has run-time type tag of 0x80000015, which doesn't match this version of Granny (0x80000010). Automatic conversion will be attempted. j'ai que sa Je suis en fichier 2014 , et j'ai ajouté des armures que j'avais sur des files 2012 Est ce que quelqun a déja eu ce soucis ? En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
  11. Merci c'est le tutoriel que je cherchais mais je ne l'ai pas retrouvé. Du coup doberman ton calcul est faux
  12. Bonjour tous j'ai un soucis avec une quette je voudrai que quand la personne clique sur une quette , elle soit tp au spawn de cette map grace a cette commande pc.warp() les coordonnée de la map sont : ScriptType MapSetting CellScale 200 HeightScale 0.500000 ViewRadius 128 MapSize 4 4 BasePosition 256000 51200 TextureSet textureset\metin2_A1.txt Environment A1.msenv et le spawn est : 50 50 Comment on calcul les coordonnée a mettre dans la quettes ? merci d'avance Version des files : 2014 Domaine (Base de données, Core, etc.) : Quest En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
  13. Le probleme est un peu plus grade , j'ai ouvert un nouveau thread
  14. Cette quette par exemple ne marche pas quest anneaudumagasinier begin state start begin when 40004.use begin say_title("Anneau du magasinier:") say("Tu m'as invoqué, choisis ce que tu souhaites faire?") local s = select("Ouvrir entrepot", "Ouvrir entrepot IS", "Fermer") setskin(NOWINDOW) if s == 1 then game.open_safebox() elseif s == 2 then game.open_mall() elseif s == 3 then return end end end end Elle fonctionne pourtant sur les fichiers 2012 je l'ai bien ajouté dans la liste des quette avec une ligne vide a la fin (elle est bien pris en compte sans erreur) le type est bien a 18 dans la BDD et dans les .txt Pour finir le type est bien 18 coté client. Quand je clique sur l'anneau rien ne se passe , je n'ai aucune erreur sysser la concernant. Est ce que cela peux etre un probleme d'antiflag ?
  15. Merci c'est exactement ce que je cherchais
  16. Aurai tu un lien valide pour le dump_proto ?
  17. si le type n'est pas a 18 coté client ...
  18. les .txt coté serveur ? je n'utilise plus les txt , j'utilise le format sql
  19. Bonjour, Je souhaite éditer l'item proto / mob_proto coté client. Existe t'il des outils pour le modifier ? je n'ai rien trouvé pour lire les proto Pouvez vous m'aider ? merci d'avance je suis en fichier 2014 : game 40k (game compilé) En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
  20. C'est une quête qui marchais sur les fichiers 2012. Les end sont la et pas de caractère spéciale a la fin d'un say J'utilise un game compilé , y'a rien a modifier coté source pour que sa sois pris en charge ? Est ce que sa peux venir du client ?

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.