Jump to content

Search the Community

Showing results for tags 'Programação'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Tibia King
    • Rules
    • Portal
    • FeedBack
  • Open Tibia
    • Otserv
    • Tools
    • Codes
    • Clients
    • Maps
    • Websites
  • Management of Ot Servers
    • Otserv Discussions & Research
    • Support and Requests
    • Otserv Tutorials
  • Tibia and Bots
    • Tibia
    • Bots
  • Others
    • Announcements
    • Other Programming Languages
    • Graphics and Design
    • Playground (Off-topic)

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 1174 results

  1. .Qual servidor ou website você utiliza como base? ROX 8.6 Qual o motivo deste tópico? Quero desativar o aviso que aparece ao digitar um caracter da senha da conta. Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  2. Mano eu nao entendo oque Source, nao entendo nada, mas meu servidor nao tem isso cara, eu queria pra por um sistema de som ao fazer um ataque e tals, eu nao entendo nada, é so pega a source de outro servidor? ou tem algum programa q faz isso me ajudem cara eu n to entendendo nada
  3. apos compilar meu servidor em linux ele ta mostrando esse erro na funçao: data/npc/scripts/travel.lua:1: attempt to index global 'keywordhandler' (a nil value) como posso resolver isso? antes de compilar para linux nao mostrava esse erro.
  4. Fala galera! então, adicionei o tela estendida por meio do tópico abaixo e ele estende a tela certinho, porém, ao descer em certos buracos, o player trava (coisa que não acontecia no OTC sem tela estendida) e só mudando a posição dele para voltar a funcionar. Alguém já passou por isso ou sabe como corrigir? @L3K0T
  5. REV3884 TFS 0.4 OTC 0.6.6 OBSERVAÇÃO: Bom galera hoje vim trazer um código de expansão de visão para o otclient alterado por mim, usado somente para rev3884 e então se você usa um tfs 0.3.6 ou tfs 1.0 não vai dar certo, *Esse código foi alterado por mim para ser usado apenas para rev3884, procolo 8.60 e TFS 0.4 que no caso não achei e resolvi compartilhar essas alterações. 1° TUTORIAL 1 SOURCE DO SEU SERVIDOR. Abra Protocollgame.cpp 1 Ache ((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offsetz) && //(y >= myPos.y - 6 + offsetz) && (y <= myPos.y + 7 + offsetz)); ALTERE PARA: ((x >= myPos.x - Map::maxClientViewportX + offsetz) && (x <= myPos.x + (Map::maxClientViewportX+1) + offsetz) && (y >= myPos.y - Map::maxClientViewportY + offsetz) && (y <= myPos.y + (Map::maxClientViewportY+1) + offsetz)); 2 Ache: GetMapDescription(pos.x - 8, pos.y - 6, pos.z, 18, 14, msg); ALTERE PARA: GetMapDescription(pos.x - Map::maxClientViewportX, pos.y - Map::maxClientViewportY, pos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, msg); 3 Ache: if(oldPos.y > newPos.y) // north, for old x { msg->put<char>(0x65); GetMapDescription(oldPos.x - 8, newPos.y - 6, newPos.z, 18, 1, msg); } else if(oldPos.y < newPos.y) // south, for old x { msg->put<char>(0x67); GetMapDescription(oldPos.x - 8, newPos.y + 7, newPos.z, 18, 1, msg); } if(oldPos.x < newPos.x) // east, [with new y] { msg->put<char>(0x66); GetMapDescription(newPos.x + 9, newPos.y - 6, newPos.z, 1, 14, msg); } else if(oldPos.x > newPos.x) // west, [with new y] { msg->put<char>(0x68); GetMapDescription(newPos.x - 8, newPos.y - 6, newPos.z, 1, 14, msg); } ALTERE PARA: if (oldPos.y > newPos.y) { // north, for old x msg->put<char>(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } else if (oldPos.y < newPos.y) { // south, for old x msg->put<char>(0x67); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y + (Map::maxClientViewportY+1), newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } if (oldPos.x < newPos.x) { // east, [with new y] msg->put<char>(0x66); GetMapDescription(newPos.x + (Map::maxClientViewportX+1), newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); } else if (oldPos.x > newPos.x) { // west, [with new y] msg->put<char>(0x68); GetMapDescription(newPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); } 4 ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 5, 18, 14, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 4, 18, 14, 4, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 3, 18, 14, 5, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 2, 18, 14, 6, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 1, 18, 14, 7, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 0, 18, 14, 8, skip); Altere para GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 5, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 4, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 4, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 5, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 6, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 7, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 0, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 8, skip); 5 ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.z - 3, 18, 14, 3, skip); ALTERE PARA GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, oldPos.z - 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); 6 ACHE GetMapDescription(oldPos.x - 8, oldPos.y + 1 - 6, newPos.z, 1, 14, msg); ALTERE PARA GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - (Map::maxClientViewportY-1), newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); 7 ACHE GetMapDescription(oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 1, msg); ALTERE PARA GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); 8 Ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 14, -1, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 1, 18, 14, -2, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Altere para GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -1, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -2, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); 9 ache GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Altere para GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); 10 ache GetMapDescription(oldPos.x + 9, oldPos.y - 1 - 6, newPos.z, 1, 14, msg); Altere para GetMapDescription(oldPos.x + Map::maxClientViewportX+1, oldPos.y - (Map::maxClientViewportY+1), newPos.z, 1, ((Map::maxClientViewportY+1)*2), msg); AGORA EM MAP.H ache static const int32_t maxViewportX = 11; //min value: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6; altere para: static const int32_t maxViewportX = 18; //min value: maxClientViewportX + 1 static const int32_t maxViewportY = 18; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 14; static const int32_t maxClientViewportY = 12; Pronto agora é só compilar a source do seu servidor 8.60 rev3884 PARTE 2 OTCLIENT 0.6.6 abra o map.cpp da source do otclient ache void Map::resetAwareRange() { AwareRange range; range.left = 8; range.top = 6; range.bottom = 7; range.right = 9; setAwareRange(range); } ALTERE PARA void Map::resetAwareRange() { AwareRange range; range.left = 14; //Change this to = maxClientViewportX range.top = 12; //Change this to = maxClientViewportY range.bottom = range.top+1; range.right = range.left+1; setAwareRange(range); } COMPILE A SOURCE DO OTCLIENT E PRONTO!!! ESPERO TER SANADO VÁRIAS DÚVIDAS DE AUMENTAR TELA DO OTCLIENT EM REV3884. CRÉDITOS: Pra mim pela alterações funcionais. e pelo Flatlander por disponibilizar para tfs 0.3.6 e 1.0 pois esse está alterado pra tfs 0.4
  6. Bom dia pessoal, tenho enfrentado alguns problemas na hora de compilar o OTserv 8.60 no debian9, se alguém souber o motivo, serei grato! Obrigado.
  7. Alguem poderia me informar se, apenas eu apagar estas linhas do código da minha src do servidor ele para de dar o server save? game.cpp estou com medo de mexer em algo e fuder a src por inteira..
  8. .Qual servidor ou website você utiliza como base? TFS 1.3 Qual o motivo deste tópico? Galera,coloquei os ids e etc no imbuiment.lua Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: MESSAGEDIALOG_IMBUEMENT_ERROR = 1 MESSAGEDIALOG_IMBUEMENT_ROLL_FAILED = 2 MESSAGEDIALOG_IMBUING_STATION_NOT_FOUND = 3 MESSAGEDIALOG_CLEARING_CHARM_SUCCESS = 10 MESSAGEDIALOG_CLEARING_CHARM_ERROR = 11 -- tables Imbuements_Weapons = { ["ring"] = {13826}, ["armor"] = {21692, 2500, 2656, 2464, 2487, 2494, 2492, 2503, 12607, 2505, 32419, 2466, 23538, 10296, 2476, 3968, 2472, 7463, 8888, 23537, 2486, 15406, 8891, 18404}, -- ok ["shield"] = {34068, 2537, 2518, 15491, 2535, 2519, 25414, 2520, 15411, 2516, 32422, 32421, 30885, 2522, 2533, 21707, 2514, 10289, 2536, 6433, 6391, 7460, 2524, 15413, 2539, 25382, 21697, 3974, 10297, 12644, 10294, 2509, 2542, 2528, 2534, 2531, 15453}, -- ok ["boots"] = {34062, 24742, 2195, 2644, 9931, 3982, 11117, 15410, 11118, 12646, 7457, 7892, 2646, 11240, 2643, 7893, 7891, 23540, 24637, 2641, 5462, 18406, 2642, 2645, 7886, 25412, 21708, 11303, 35229, 36452}, --ok ["helmet"] = {13826,34065, 2499, 2139, 3972, 2458, 2491, 2497, 2493, 2502, 12645, 32415, 7458, 2471, 10299, 20132, 10298, 2662, 10291, 2498, 24848, 5741, 25410, 2475, 11302, 35232, 36412}, --ok ["helmetmage"] = {10016, 2323, 11368, 8820, 10570, 9778, 32414, 30882, 36417}, -- ok ["bow"] = {34055, 25946, 30690, 8855, 7438, 32418, 15643, 21696, 10295, 18454, 25522, 8857, 22417, 22418, 8854, 36416}, -- ok ["crossbow"] = {25950, 8850, 2455, 30691, 8849, 25523, 8851, 8852, 8853, 16111, 21690, 22420, 22421, 35228}, -- ok ["backpack"] = {1988, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2365, 3940, 3960, 5801, 5926, 5949, 7342, 9774, 10518, 10519, 10521, 10522, 11119, 11241, 11243, 11244, 11263, 15645, 15646, 16007, 18393, 18394, 21475, 22696, 23666, 23816, 24740, 26181, 27061, 27063, 35056, 33318}, ["wand"] = {29005, 2191, 8920, 8921, 8922}, --ok ["rod"] = {8910, 8911, 24839}, --ok ["axe"] = {30686, 2429, 3962, 7412, 30687, 18451, 8926, 2414, 11305, 7419, 2435, 7453, 2415, 2427, 7380, 8924, 7389, 15492, 7435, 2430, 7455, 7456, 2443, 25383, 7434, 6553, 8925, 2431, 2447, 22405, 22408, 22406, 22409, 2454, 15451, 11323}, --ok ["club"] = {7414, 7426, 2453, 7429, 2423, 7415, 2445, 15647, 7431, 7430, 23543, 30689, 2444, 2452, 20093, 7424, 30688, 25418, 18452, 8928, 7421, 7392, 15414, 7410, 7437, 7451, 2424, 2436, 7423, 12648, 7452, 8929, 22414, 22411, 22415, 22412, 2421, 2391}, --ok ["sword"] = {7404, 7403, 7406, 12649, 30684, 7416, 2407, 2413, 7385, 7382, 2451, 7402, 8930, 2438, 32423, 2393, 7407, 7405, 2400, 7384, 7418, 7383, 7417, 18465, 30685, 2383, 2376, 7391, 6528, 8931, 12613, 11309, 22399, 22403, 22400, 22402, 7408, 11307, 35233}, --ok ["spellbooks"] = {25411, 2175, 8900, 8901, 22423, 22424, 29004, 34069, 34058, 34064}, -- ok ["special_strike"] = {32417, 32416, 30693, 30692, 32523, 32522, 34063}, --ok ["special_wand"] = {35234}, ["special_rod"] = {35235}, ["elemental_swords"] = {30886, 34059, 34060, 36449}, ["elemental_axes"] = {32424, 35231}, ["elemental_clubs"] = {32425, 34057, 35230, 36415}, -- Note: if an armor has native protection, it can't be imbue with this protection ["armor_energy"] = {30883}, ["armor_only_energy"] = {34061}, ["armor_ice"] = {36414}, ["armor_earth"] = {34056, 36413}, ["armor_death"] = {15407, 36418} } local equipitems = { ["lich shroud"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_earth", "spellbooks", "shield"}, ["reap"] = {"axe", "club", "sword"}, ["vampirism"] = {"ring","axe", "club", "sword", "wand", "rod", "special_strike", "bow", "crossbow", "armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_earth", "armor_death", "elemental_swords", "elemental_axes", "elemental_clubs", "special_wand"}, ["cloud fabric"] = {"armor", "armor_earth", "armor_death", "spellbooks", "shield"}, ["electrify"] = {"axe", "club", "sword"}, ["swiftness"] = {"boots"}, ["snake skin"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_death", "spellbooks", "shield"}, ["venom"] = {"axe", "club", "sword"}, ["slash"] = {"sword", "helmet", "elemental_swords"}, ["chop"] = {"axe", "helmet", "elemental_axes"}, ["bash"] = {"club", "helmet", "elemental_clubs"}, ["hide dragon"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_death", "spellbooks", "shield"}, ["scorch"] = {"axe", "club", "sword"}, ["void"] = {"ring","axe", "club", "sword", "wand", "rod", "special_strike", "bow", "crossbow", "helmet","helmetmage", "elemental_swords", "elemental_axes", "elemental_clubs", "special_wand", "special_rod"}, -- Mana ["quara scale"] = {"armor", "armor_only_energy", "armor_earth", "armor_death", "spellbooks", "shield"}, ["frost"] = {"axe", "club", "sword"}, ["blockade"] = {"shield", "helmet", "spellbooks", "shield"}, ["demon presence"] = {"armor", "armor_energy", "armor_only_energy", "armor_ice", "armor_earth", "armor_death", "spellbooks", "shield"}, ["precision"] = {"bow", "crossbow", "helmet"}, ["strike"] = {"axe", "club", "sword", "bow", "crossbow", "special_strike", "elemental_swords", "elemental_axes", "elemental_clubs", "special_rod"}, ["epiphany"] = {"wand", "rod", "helmetmage", "special_strike", "special_wand", "special_rod"}, ["featherweight"] = {"backpack"}, } local enablingStorages = { ["lich shroud"] = Storage.ForgottenKnowledge.LadyTenebrisKilled, ["reap"] = Storage.ForgottenKnowledge.LadyTenebrisKilled, ["vampirism"] = Storage.ForgottenKnowledge.LadyTenebrisKilled, ["cloud fabric"] = Storage.ForgottenKnowledge.LloydKilled, ["electrify"] = Storage.ForgottenKnowledge.LloydKilled, ["swiftness"] = Storage.ForgottenKnowledge.LloydKilled, ["snake skin"] = Storage.ForgottenKnowledge.ThornKnightKilled, ["venom"] = Storage.ForgottenKnowledge.ThornKnightKilled, ["slash"] = Storage.ForgottenKnowledge.ThornKnightKilled, ["chop"] = Storage.ForgottenKnowledge.ThornKnightKilled, ["bash"] = Storage.ForgottenKnowledge.ThornKnightKilled, ["hide dragon"] = Storage.ForgottenKnowledge.DragonkingKilled, ["scorch"] = Storage.ForgottenKnowledge.DragonkingKilled, ["void"] = Storage.ForgottenKnowledge.DragonkingKilled, ["quara scale"] = Storage.ForgottenKnowledge.HorrorKilled, ["frost"] = Storage.ForgottenKnowledge.HorrorKilled, ["blockade"] = Storage.ForgottenKnowledge.HorrorKilled, ["demon presence"] = Storage.ForgottenKnowledge.TimeGuardianKilled, ["precision"] = Storage.ForgottenKnowledge.TimeGuardianKilled, ["strike"] = Storage.ForgottenKnowledge.LastLoreKilled, ["epiphany"] = Storage.ForgottenKnowledge.LastLoreKilled, ["featherweight"] = -1, } function Player.canImbueItem(self, imbuement, item) local item_type = "" for tp, items in pairs(Imbuements_Weapons) do if isInArray(items, item:getId()) then item_type = tp break end end local imb_type = "" for ibt, imb_n in pairs(enablingStorages) do if string.find(ibt, imbuement:getName():lower()) then imb_type = ibt break end end if imb_type == "" then print(">> [Imbuement::canImbueItem] Error on search imbuement '".. imbuement:getName() .. "'") return false end local equip = equipitems[imb_type] if not equip then print(">> [Imbuement::canImbueItem] Error on search Weapons imbuement '" .. imbuement:getName() .. "'") return false end local imbuable = false for i, p in pairs(equip) do if p:lower() == item_type then imbuable = true break end end if not imbuable then return false end local stg = enablingStorages[imb_type] if not stg then print(">> [Imbuement::canImbueItem] Error on search Storage imbuement '" .. imbuement:getName() .. "'") return false end if imbuement:getBase().id == 3 and not self:getGroup():getAccess() and stg > -1 and self:getStorageValue(stg) < 1 then return false end return true end -- Player functions function Player.sendImbuementResult(self, errorType, message) local msg = NetworkMessage() msg:addByte(0xED) msg:addByte(errorType or 0x01) msg:addString(message) msg:sendToPlayer(self) msg:delete() return end -- Items functions function Item.getImbuementDuration(self, slot) local info = 0 local binfo = tonumber(self:getCustomAttribute(IMBUEMENT_SLOT + slot)) if binfo then info = bit.rshift(binfo, 8) end return info end function Item.getImbuement(self, slot) local binfo = tonumber(self:getCustomAttribute(IMBUEMENT_SLOT + slot)) if not binfo then return false end local id = bit.band(binfo, 0xFF) if id == 0 then return false end return Imbuement(id) end function Item.addImbuement(self, slot, id) local imbuement = Imbuement(id) if not imbuement then return false end local duration = imbuement:getBase().duration local imbue = bit.bor(bit.lshift(duration, 8), id) self:setCustomAttribute(IMBUEMENT_SLOT + slot, imbue) return true end function Item.cleanImbuement(self, slot) self:setCustomAttribute(IMBUEMENT_SLOT + slot, 0) return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  9. .Qual servidor ou website você utiliza como base? Legacy-Serv-Master Qual o motivo deste tópico? queria modificar uma coisa na source, se eu ficar soltando magia, por exemplo de cura, o personagem não ataca... tipo que a magia bloqueia os ataques.... alguem ai sabe o que pode ser?
  10. Hoje estarei ensinando a instalar os seguintes novos atributos/sistemas em sua source CriticalHitChance e DodgeChance -- (Funciona da mesma maneira que o critical básico de script, porém sem bugs de callstack) Life e Mana Absorb -- (Regenera, de acordo com a % atribuida, a partir de dano recebido) Life e Mana Leech -- (Regenera, de acordo com a % atribuida, a partir do dano causado) Exemplo de como vai ficar Primeiro e antes de tudo, você terá de desativar o critical padrão do Tibia (Você pode pular essa parte se quiser) Vamos lá! Vá em items.cpp e procure por: attackSpeed = 0; Abaixo coloque: criticalHitChance = dodgeChance = lifeAbsorb = manaAbsorb = lifeLeech = manaLeech = 0; Depois, ainda em items.cpp, procure por: else if(tmpStrValue == "extradefense" || tmpStrValue == "extradef") { if(readXMLInteger(itemAttributesNode, "chance", intValue)) it.extraDefenseChance = intValue; if(readXMLInteger(itemAttributesNode, "value", intValue)) it.extraDefense = intValue; if(readXMLInteger(itemAttributesNode, "random_min", intValue)) it.extraDefenseRndMin = intValue; if(readXMLInteger(itemAttributesNode, "random_max", intValue)) it.extraDefenseRndMax = intValue; } Abaixo coloque: else if(tmpStrValue == "criticalhitchance") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.criticalHitChance = intValue; } else if(tmpStrValue == "dodgechance") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.dodgeChance = intValue; } else if(tmpStrValue == "lifeabsorb") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.lifeAbsorb = intValue; } else if(tmpStrValue == "manaabsorb") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.manaAbsorb = intValue; } else if(tmpStrValue == "lifeleech") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.lifeLeech = intValue; } else if(tmpStrValue == "manaleech") { if(readXMLInteger(itemAttributesNode, "value", intValue)) it.manaLeech = intValue; } Agora vá em items.h e procure por: int32_t attack, extraAttack, defense, extraDefense, armor, breakChance, hitChance, maxHitChance, runeLevel, runeMagLevel, lightLevel, lightColor, decayTo, rotateTo, alwaysOnTopOrder; Abaixo coloque: int32_t criticalHitChance, dodgeChance, lifeAbsorb, manaAbsorb, lifeLeech, manaLeech; Agora vá em item.cpp e procure por: case ATTR_ATTACK: { int32_t attack; if(!propStream.getLong((uint32_t&)attack)) return ATTR_READ_ERROR; setAttribute("attack", attack); break; } Acima coloque: case ATTR_CRITICALHITCHANCE: { int32_t criticalHitChance; if(!propStream.getLong((uint32_t&)criticalHitChance)) return ATTR_READ_ERROR; setAttribute("criticalhitchance", criticalHitChance); break; } case ATTR_DODGECHANCE: { int32_t dodgeChance; if(!propStream.getLong((uint32_t&)dodgeChance)) return ATTR_READ_ERROR; setAttribute("dodgechance", dodgeChance); break; } case ATTR_LIFEABSORB: { int32_t lifeAbsorb; if(!propStream.getLong((uint32_t&)lifeAbsorb)) return ATTR_READ_ERROR; setAttribute("lifeabsorb", lifeAbsorb); break; } case ATTR_MANAABSORB: { int32_t manaAbsorb; if(!propStream.getLong((uint32_t&)manaAbsorb)) return ATTR_READ_ERROR; setAttribute("manaabsorb", manaAbsorb); break; } case ATTR_LIFELEECH: { int32_t lifeLeech; if(!propStream.getLong((uint32_t&)lifeLeech)) return ATTR_READ_ERROR; setAttribute("lifeleech", lifeLeech); break; } case ATTR_MANALEECH: { int32_t manaLeech; if(!propStream.getLong((uint32_t&)manaLeech)) return ATTR_READ_ERROR; setAttribute("manaleech", manaLeech); break; } Procure por: if(it.attackSpeed || (item && item->getAttackSpeed())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "AS: " << (item ? item->getAttackSpeed() : it.attackSpeed); Abaixo coloque: if(it.criticalHitChance || (item && item->getCriticalHitChance())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Crit Chance:" << std::showpos << int32_t(item ? item->getCriticalHitChance() : it.criticalHitChance) << "%"<< std::noshowpos; } if(it.dodgeChance || (item && item->getDodgeChance())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Dodge Chance:" << std::showpos << int32_t(item ? item->getDodgeChance() : it.dodgeChance) << "%"<< std::noshowpos; } if(it.lifeAbsorb || (item && item->getLifeAbsorb())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Life Absorb:" << std::showpos << int32_t(item ? item->getLifeAbsorb() : it.lifeAbsorb) << "%"<< std::noshowpos; } if(it.manaAbsorb || (item && item->getManaAbsorb())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Mana Absorb:" << std::showpos << int32_t(item ? item->getManaAbsorb() : it.manaAbsorb) << "%"<< std::noshowpos; } if(it.lifeLeech || (item && item->getLifeLeech())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Life Leech:" << std::showpos << int32_t(item ? item->getLifeLeech() : it.lifeLeech) << "%"<< std::noshowpos; } if(it.manaLeech || (item && item->getManaLeech())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Mana Leech:" << std::showpos << int32_t(item ? item->getManaLeech() : it.manaLeech) << "%"<< std::noshowpos; } Procure por: int32_t tmp = it.armor; if(item) tmp = item->getArmor(); bool begin = true; if(tmp) { s << " (Arm:" << tmp; begin = false; } Abaixo coloque: if(it.criticalHitChance || (item && item->getCriticalHitChance())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Crit Chance:" << std::showpos << int32_t(item ? item->getCriticalHitChance() : it.criticalHitChance) << "%"<< std::noshowpos; } if(it.dodgeChance || (item && item->getDodgeChance())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Dodge Chance:" << std::showpos << int32_t(item ? item->getDodgeChance() : it.dodgeChance) << "%"<< std::noshowpos; } if(it.lifeAbsorb || (item && item->getLifeAbsorb())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Life Absorb:" << std::showpos << int32_t(item ? item->getLifeAbsorb() : it.lifeAbsorb) << "%"<< std::noshowpos; } if(it.manaAbsorb || (item && item->getManaAbsorb())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Mana Absorb:" << std::showpos << int32_t(item ? item->getManaAbsorb() : it.manaAbsorb) << "%"<< std::noshowpos; } if(it.lifeLeech || (item && item->getLifeLeech())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Life Leech:" << std::showpos << int32_t(item ? item->getLifeLeech() : it.lifeLeech) << "%"<< std::noshowpos; } if(it.manaLeech || (item && item->getManaLeech())) { if(begin) { begin = false; s << " ("; } else s << ", "; s << "Mana Leech:" << std::showpos << int32_t(item ? item->getManaLeech() : it.manaLeech) << "%"<< std::noshowpos; } Agora vá em item.h e procure por: ATTR_DUALWIELD = 43, Abaixo coloque: ATTR_CRITICALHITCHANCE = 44, ATTR_DODGECHANCE = 45, ATTR_LIFEABSORB = 46, ATTR_MANAABSORB = 47, ATTR_LIFELEECH = 48, ATTR_MANALEECH = 49, Procure por: int32_t getExtraDefense() const; Abaixo coloque: int32_t getCriticalHitChance() const; int32_t getDodgeChance() const; int32_t getLifeAbsorb() const; int32_t getManaAbsorb() const; int32_t getLifeLeech() const; int32_t getManaLeech() const; Procure por: inline int32_t Item::getExtraDefense() const { bool ok; int32_t v = getIntegerAttribute("extradefense", ok); if(ok) return v; return items[id].extraDefense; } Abaixo coloque: inline int32_t Item::getCriticalHitChance() const { bool ok; int32_t v = getIntegerAttribute("criticalhitchance", ok); if(ok) return v; return items[id].criticalHitChance; } inline int32_t Item::getDodgeChance() const { bool ok; int32_t v = getIntegerAttribute("dodgechance", ok); if(ok) return v; return items[id].dodgeChance; } inline int32_t Item::getLifeAbsorb() const { bool ok; int32_t v = getIntegerAttribute("lifeabsorb", ok); if(ok) return v; return items[id].lifeAbsorb; } inline int32_t Item::getManaAbsorb() const { bool ok; int32_t v = getIntegerAttribute("manaabsorb", ok); if(ok) return v; return items[id].manaAbsorb; } inline int32_t Item::getLifeLeech() const { bool ok; int32_t v = getIntegerAttribute("lifeleech", ok); if(ok) return v; return items[id].lifeLeech; } inline int32_t Item::getManaLeech() const { bool ok; int32_t v = getIntegerAttribute("manaleech", ok); if(ok) return v; return items[id].manaLeech; } Agora vá em player.cpp e procure por: int32_t Player::getArmor() const { int32_t i = SLOT_FIRST, armor = 0; for(; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) armor += item->getArmor(); } if(vocation->getMultiplier(MULTIPLIER_ARMOR) != 1.0) return int32_t(armor * vocation->getMultiplier(MULTIPLIER_ARMOR)); return armor; } Abaixo coloque: int32_t Player::getCriticalHitChance() const { int32_t i = SLOT_FIRST, crit = 0; for(; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) crit += item->getCriticalHitChance(); } return crit; } int32_t Player::getDodgeChance() const { int32_t i = SLOT_FIRST, dodge = 0; for(; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) dodge += item->getDodgeChance(); } return dodge; } int32_t Player::getLifeAbsorb() const { int32_t i = SLOT_FIRST, life = 0; for(; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) life += item->getLifeAbsorb(); } return life; } int32_t Player::getManaAbsorb() const { int32_t i = SLOT_FIRST, mana = 0; for(; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) mana += item->getManaAbsorb(); } return mana; } int32_t Player::getLifeLeech() const { int32_t i = SLOT_FIRST, life = 0; for(; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) life += item->getLifeLeech(); } return life; } int32_t Player::getManaLeech() const { int32_t i = SLOT_FIRST, mana = 0; for(; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) mana += item->getManaLeech(); } return mana; } Agora vá em player.h e procure por: virtual int32_t getDefense() const; Abaixo coloque: virtual int32_t getCriticalHitChance() const; virtual int32_t getDodgeChance() const; virtual int32_t getLifeAbsorb() const; virtual int32_t getManaAbsorb() const; virtual int32_t getLifeLeech() const; virtual int32_t getManaLeech() const; Agora vá em luascript.cpp e procure por: //getCreatureHealth(cid) lua_register(m_luaState, "getCreatureHealth", LuaInterface::luaGetCreatureHealth); Abaixo coloque: //getPlayerCriticalHitChance(cid) lua_register(m_luaState, "getPlayerCriticalHitChance", LuaInterface::luaGetPlayerCriticalHitChance); //getPlayerDodgeChance(cid) lua_register(m_luaState, "getPlayerDodgeChance", LuaInterface::luaGetPlayerDodgeChance); //getPlayerLifeAbsorb(cid) lua_register(m_luaState, "getPlayerLifeAbsorb", LuaInterface::luaGetPlayerLifeAbsorb); //getPlayerManaAbsorb(cid) lua_register(m_luaState, "getPlayerManaAbsorb", LuaInterface::luaGetPlayerManaAbsorb); //getPlayerLifeLeech(cid) lua_register(m_luaState, "getPlayerLifeLeech", LuaInterface::luaGetPlayerLifeLeech); //getPlayerManaLeech(cid) lua_register(m_luaState, "getPlayerManaLeech", LuaInterface::luaGetPlayerManaLeech); Procure por: int32_t LuaInterface::luaGetCreatureMaxHealth(lua_State* L) { //getCreatureMaxHealth(cid[, ignoreModifiers = false]) bool ignoreModifiers = false; if(lua_gettop(L) > 1) ignoreModifiers = popBoolean(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushnumber(L, creature->getPlayer() && ignoreModifiers ? creature->healthMax : creature->getMaxHealth()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Abaixo coloque: int32_t LuaInterface::luaGetPlayerCriticalHitChance(lua_State* L) { //getPlayerCriticalHitChance(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getCriticalHitChance()); else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } int32_t LuaInterface::luaGetPlayerDodgeChance(lua_State* L) { //getPlayerDodgeChance(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getDodgeChance()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } int32_t LuaInterface::luaGetPlayerLifeAbsorb(lua_State* L) { //getPlayerLifeAbsorb(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getLifeAbsorb()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } int32_t LuaInterface::luaGetPlayerManaAbsorb(lua_State* L) { //getPlayerManaAbsorb(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getManaAbsorb()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } int32_t LuaInterface::luaGetPlayerLifeLeech(lua_State* L) { //getPlayerLifeLeech(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getLifeLeech()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } int32_t LuaInterface::luaGetPlayerManaLeech(lua_State* L) { //getPlayerManaLeech(cid) ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) lua_pushnumber(L, player->getManaLeech()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Agora vá em luascript.h e procure por: static int32_t luaGetPlayerSpentMana(lua_State* L); Abaixo coloque: static int32_t luaGetPlayerCriticalHitChance(lua_State* L); static int32_t luaGetPlayerDodgeChance(lua_State* L); static int32_t luaGetPlayerLifeAbsorb(lua_State* L); static int32_t luaGetPlayerManaAbsorb(lua_State* L); static int32_t luaGetPlayerLifeLeech(lua_State* L); static int32_t luaGetPlayerManaLeech(lua_State* L); As funções Lua adicionadas foram getPlayerCriticalHitChance(cid) getPlayerDodgeChance(cid) getPlayerLifeAbsorb(cid) getPlayerManaAbsorb(cid) getPlayerLifeLeech(cid) getPlayerManaLeech(cid) Agora a parte do game.cpp. (Esta é uma parte opcional, você pode optar por não adicioná-la) Créditos: ~Mathias Kenfi
  11. É possivel converter o aquivo que está no formato SQL para S3DB? Caso seja possivel como converter?
  12. Galera me ajuda ai ja tem tudo mesmo assim percist no erro que será que ta de errado se alguem manjar ganha meu RP+ ABS; JA DELETEI DATABASE E DEIXEI ELA COMO NOVA E NADA JA BOTEI OS QURYS QUE TA PEDIDO E NADA NAO SEI MAIS QUE TÁ FALTANDO. @Nois AJUDA '-'
  13. Isso acontece quando eu dou o comando /save Alguém sabe me dizer como arrumar? Uma vez minha database bugou com isso e perdi tudo de lá. [23/05/2020 15:28:50] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: table global_storage has no column named world_id (INSERT INTO "global_storage" ("key", "world_id", "value") VALUES (123123, 0, '1')) [23/05/2020 15:28:50] > SAVE: Complete in 0.423 seconds using relational house storage.
  14. Base Utilizada: OTX2 Versão 8.60 (baseada em TFS 0.4) Qual é a sua pergunta? Estou tentando remover o limite de velocidade no meu servidor, pelo menos no mouse (quando se clica em algum lugar do mapa por exemplo). No meu antigo servidor SVN (XML) funcionava sem esse limite, de modo que quando o clicasse em algum local, mesmo que longe, o player iria quase instantaneamente. Porém utilizando o TFS, existe um delay a cada passo e isso causa um limite de velocidade, por exemplo: um player de level 100k terá exatamente a mesma velocidade que um 500k, mesmo que valor speed de ambos sejam diferentes na database. Eu já tentei alterar esse valor no player.h Isso fez diferença, porém pouca. De fato se eu colocar 5000 ou 50000 não há diferença nenhuma, portanto claramente existe outro lugar que está limitando esse valor. Tentei procurar alguma função que limita a quantidade máxima de movimento porém não fui capaz de encontrar. Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: https://github.com/mattyx14/otxserver/tree/otxserv2
  15. .Qual servidor ou website você utiliza como base? TFS 1.3 Qual o motivo deste tópico? Compilei tudo certinho, mas qdo vou abrir da esse erro alguem sabe resolver?
  16. .Qual servidor ou website você utiliza como base? OTXSERVER Qual o motivo deste tópico? Debug ao pisar em tiles Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
  17. Quando eu abro a store no cliente 10x ela funciona de boa Mas quando eu abro no cliente 12x ele crasha! Meu gamestore.lua e login.php https://github.com/Luciano0227/ot
  18. Galera ta dando o seguinte erro no console, mando a war, aceito de boas. Porem assim q mata uma vez, os escudos somes Erro no console: sqlite3_step(): SQLITE ERROR: column id is not unique OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: balance (UPDATE "guilds" SET "balance" = "balance" - 0 WHERE "id" = 2) Alguem pode me ajudar comm as Querys pf... Tfs 0.4 SQL
  19. Olá pessoal hoje estava mexendo na minha source, muitos me falavam, "porque você não coloca pro player ficar no respawn do pokemon" então hoje estou para a ajudar vocês, como minha source não tem a opção de blockspawn na config.lua, achei outra forma, vamos lá! Vá em spawn.cpp Procure: if(findPlayer(sb.pos)) { sb.lastSpawn = OTSYS_TIME(); continue; } Deixa assim abaixo: /*if(findPlayer(sb.pos)) { sb.lastSpawn = OTSYS_TIME(); continue; }*/ Agora salva, e recompila sua source. O que eu fiz fazendo isso ? removi definitivo o blockspawn se caso o player tiver no respawn do pokemon vai nascer do mesmo jeito. espero ter ajudado rep+ (acharam que era coisa difícil, sqn) Créditos a mim.
  20. Bom dia, por curiosidade, o que é melhor para o servidor, manter toda as falas do nps no .xml e somente questões de quests nos arquivos .lua, ou deixar somente shoop no .xml e todas as falas no .lua? isso afeta o servidor em questão de deixar mais lento ou mais rapido?
  21. Bom desde ontem, nosso servidor com mais de 300 jogadores está sofrendo um ataque de um grupo de ódio e inveja em relação ao nosso crescimento, não temos idéia do que eles estão fazendo para travar o servidor, mas anexaram o log. Agradeço sua ajuda urgente. Signal caught: SIGSEGV in 11/05 - 05:40:14 Thread 4 (Thread 0x7fffebfff700 (LWP 53190)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 No locals. #1 0x00007ffff631150c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 No symbol table info available. #2 0x00005555557112df in DatabaseTasks::threadMain() () No symbol table info available. #3 0x00007ffff6316e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 No symbol table info available. #4 0x00007ffff65e64a4 in start_thread (arg=0x7fffebfff700) at pthread_create.c:456 __res = <optimized out> pd = 0x7fffebfff700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737152808704, 4796436392901787467, 140737246902782, 140737246902783, 140737144418304, 3, -4796462781682761909, -4796419638551330997}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #5 0x00007ffff5a8bd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 No locals. Thread 3 (Thread 0x7ffff11bb700 (LWP 53189)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 No locals. #1 0x000055555563a550 in Scheduler::threadMain() () No symbol table info available. #2 0x00007ffff6316e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 No symbol table info available. #3 0x00007ffff65e64a4 in start_thread (arg=0x7ffff11bb700) at pthread_create.c:456 __res = <optimized out> pd = 0x7ffff11bb700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737238513408, 4796436392901787467, 140737488346430, 140737488346431, 140737230123008, 3, -4796404745937174709, -4796419638551330997}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #4 0x00007ffff5a8bd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 No locals. Thread 2 (Thread 0x7ffff19bc700 (LWP 53188)): #0 0x0000555555637f0c in Reward::getParent() const () No symbol table info available. #1 0x000055555574630f in Item::getTopParent() const () No symbol table info available. #2 0x0000555555746396 in Item::getTile() const () No symbol table info available. #3 0x0000555555643b1a in Thing::getPosition() const () No symbol table info available. #4 0x00005555556584b4 in Player::postAddNotification(Thing*, Cylinder const*, int, cylinderlink_t) () No symbol table info available. #5 0x0000555555762ae8 in Tile::postAddNotification(Thing*, Cylinder const*, int, cylinderlink_t) () No symbol table info available. #6 0x0000555555625550 in Map::moveCreature(Creature&, Tile&, bool) () No symbol table info available. #7 0x00005555557069e4 in Game::internalMoveCreature(Creature&, Tile&, unsigned int) () No symbol table info available. #8 0x00005555556df4e1 in Creature::onCreatureWalk() () No symbol table info available. #9 0x00005555556e0794 in Game::checkCreatureWalk(unsigned int) () No symbol table info available. #10 0x00005555556deec5 in Creature::addEventWalk(bool) () No symbol table info available. #11 0x00005555556df093 in Creature::startAutoWalk(std::forward_list<Direction, std::allocator<Direction> > const&) () No symbol table info available. #12 0x00005555557057c1 in Game::playerAutoWalk(unsigned int, std::forward_list<Direction, std::allocator<Direction> > const&) () No symbol table info available. #13 0x00005555556453eb in Dispatcher::threadMain() () No symbol table info available. #14 0x00007ffff6316e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 No symbol table info available. #15 0x00007ffff65e64a4 in start_thread (arg=0x7ffff19bc700) at pthread_create.c:456 __res = <optimized out> pd = 0x7ffff19bc700 now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737246906112, 4796436392901787467, 140737488346430, 140737488346431, 140737238515712, 3, -4796405844911931573, -4796419638551330997}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #16 0x00007ffff5a8bd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 No locals. Thread 1 (Thread 0x7ffff7fe5bc0 (LWP 53184)): #0 0x00007ffff5a8c303 in epoll_wait () at ../sysdeps/unix/syscall-template.S:84 No locals. #1 0x00005555555a0669 in main ()
  22. Fala Rapaziada BLz? Olha a gente aqui de novo kk estou migrando meu server para OTX e como sabem os erros surgem aos montes .-. quem puder dar aquela moral agradeço de coração e deixarei o REP+ ! ele da basicamente o mesmo erro em vários arquivos pelo que eu reparei (posso estar errado) mais o erro e o Seguinte ! [3/5/2020 2:30:53] [Error - NpcScript Interface] [3/5/2020 2:30:53] data/npc/scripts/bank.lua [3/5/2020 2:30:53] Description: [3/5/2020 2:30:53] data/npc/scripts/bank.lua:1: attempt to index global 'KeywordHandler' (a nil value) [3/5/2020 2:30:53] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/bank.lua [3/5/2020 2:30:54] [Error - NpcScript Interface] [3/5/2020 2:30:54] data/npc/scripts/blessing.lua [3/5/2020 2:30:54] Description: [3/5/2020 2:30:54] data/npc/scripts/blessing.lua:1: attempt to index global 'KeywordHandler' (a nil value) [3/5/2020 2:30:54] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/blessing.lua [3/5/2020 2:30:54] [Error - NpcScript Interface] [3/5/2020 2:30:54] data/npc/scripts/default.lua [3/5/2020 2:30:54] Description: [3/5/2020 2:30:54] data/npc/scripts/default.lua:1: attempt to index global 'KeywordHandler' (a nil value) [3/5/2020 2:30:54] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/default.lua fora o erro que da quando tento logar o personagem rs [3/5/2020 2:32:15] mysql_real_query(): SELECT `pid`, `sid`, `itemtype`, `count`, `attributes` FROM `player_inboxitems` WHERE `player_id` = 5348 ORDER BY `sid` DESC; - MYSQL ERROR: Table 'dbo.player_inboxitems' doesn't exist (1146) [3/5/2020 2:32:15] [ADM] Wooper has logged in. [3/5/2020 2:32:15] [Error - CreatureScript Interface] [3/5/2020 2:32:15] data/creaturescripts/scripts/login.lua:onLogin [3/5/2020 2:32:15] Description: [3/5/2020 2:32:15] data/lib/050-function.lua:350: attempt to call global 'getCreatureCondition' (a nil value) [3/5/2020 2:32:15] stack traceback: [3/5/2020 2:32:15] data/lib/050-function.lua:350: in function 'isPlayerGhost' [3/5/2020 2:32:15] data/creaturescripts/scripts/login.lua:31: in function <data/creaturescripts/scripts/login.lua:6> [3/5/2020 2:32:15] [ADM] Wooper has logged out. [3/5/2020 2:32:15] mysql_real_query(): DELETE FROM `player_inboxitems` WHERE `player_id` = 5348; - MYSQL ERROR: Table 'dbo.player_inboxitems' doesn't exist (1146) [3/5/2020 2:32:15] mysql_real_query(): DELETE FROM `player_inboxitems` WHERE `player_id` = 5348; - MYSQL ERROR: Table 'dbo.player_inboxitems' doesn't exist (1146) [3/5/2020 2:32:15] mysql_real_query(): DELETE FROM `player_inboxitems` WHERE `player_id` = 5348; - MYSQL ERROR: Table 'dbo.player_inboxitems' doesn't exist (1146) [3/5/2020 2:32:15] Error while saving player: [ADM] Wooper. .Qual o motivo deste tópico? Solução de Duvidas . Está surgindo algum erro? Se sim coloque-o aqui. Vários Seguem Anexo Imagens dos Erros. Estou Migrando Para essa Source [Inicialmente Foi a Melhor que me Recomendarão] Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Alguem Me Socorre ?
  23. Boa tarde primeiramente!!! Gostaria de saber oque pode ser esse problema... Bom vamos lá. Possuímos uma backpacks cheia com todos seus slot ocupados (Vol:20) nesse caso. Porém quando ela está cheia dessa forma, e você tenta juntar qualquer item que seja agrupável ele não permite, ele não da nenhum erro, mas ele não deixa realizar nenhuma ação. Não permite mover para as backpacks que estão todas vazias e não deixa juntar com o dinheiro que está dentro da backpack
  24. Boa noite, como faço para colocar limite de lvl no pvp? um lvl 700 esta atacando um lvl 300, nao teria como colocar uma diferença entre um e outro para que nao haja desigualdade no pvp ??
  25. tipo, eu vou botar um “exausth.set” em um script, e coloco 0.5 segundos, ai a database arredonda pra 1, alguem sabe resolver?

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...