Ir para conteúdo

Kemix

Membro
  • Registro em

  • Última visita

  1. markmv começou a seguir Kemix
  2. Kemix postou uma resposta no tópico em Suporte Tibia OTServer
    Resolvido! Os sites não são compatíveis com o php7.0 quem ja vem nativo dos ubuntu mais novos. Refiz tudo com o linux 14.04 e funcionou perfeito .
  3. Kemix postou uma resposta no tópico em Suporte Tibia OTServer
    Boa noite, Estou com um erro que não estou conseguindo consertar. O site gesior não cria account na database. Aparece que foi criado normal, mas quando entro na database vejo que não criou a account e não consigo logar no site. Acccounts criadas direto pela database eu consigo logar no site. o Site é esse: https://github.com/mudroock/Gesior-AAC Para a versão 11.40 O site esta funcionando todo certinho de resto. Configurações que estou usando: Quando tento criar um player pela acc que veio na database:
  4. Joga tudo dentro da pasta "html"
  5. Kemix postou uma resposta no tópico em Formação de Equipe
    Nome:Tiago Idade:28 Tempo que joga tibia: parei e voltei varias vezes Pretensão de valor ou ganhos:a conversar Tempo Disponível: não muito
  6. Huske reagiu a uma resposta no tópico: Sistema de Resete
  7. Kemix postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Melhor postar o erro aqui
  8. Kemix reagiu a uma resposta no tópico: [10.90] Vanaheim Global Opensource - TFS 1.2
  9. Kemix postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Esse npc não mostra os resets, pra mostrar você tem que recompilar a distro com o código do link
  10. neykos reagiu a uma resposta no tópico: NPC para Reset
  11. Kemix postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    @neyko config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset bonus = 100, ---- Bonus de vida e mana por reset maxresets = 50, ---- Maximo de resets levelbyreset = 0 --- Quanto de level vai precisar a mais no próximo reset } function addReset(cid) player = Player(cid) resets = getResets(cid) resethp = bonus * (resets + 1) player:setMaxHealth(resethp) resetmana = bonus * (resets + 1) player:setMaxMana(resetmana) playerid = player:getGuid() player:remove() db.query("UPDATE `players` SET `resets`="..resets.. + 1",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") db.query("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") return true end @mkmmkm Tem alguns sistemas, o link no inicio do tópico é para fazer isso, mas pela modificação na distro,
  12. Magalhaes92 reagiu a uma resposta no tópico: Sistema de Resete
  13. neykos reagiu a uma resposta no tópico: NPC para Reset
  14. Fir3element reagiu a uma resposta no tópico: Aumento de damage por resete
  15. vankk reagiu a uma resposta no tópico: Aumento de damage por resete
  16. Script usado em conjunto com: Sistema de resete COMBAT.CPP procure: int size0 = lua_gettop(L); adicionar abaixo: int mares = g_config.getNumber(ConfigManager::MAGIC_RES_DAM); procure: damage.primary.value = normal_random( LuaScriptInterface::getNumber<int32_t>(L, -2), LuaScriptInterface::getNumber<int32_t>(L, -1) ); lua_pop(L, 2); } substitua: damage.primary.value = normal_random( LuaScriptInterface::getNumber<int32_t>(L, -2) * ((player->getResets() * mares/100) + 1), LuaScriptInterface::getNumber<int32_t>(L, -1) * ((player->getResets() * mares/100) + 1) ); lua_pop(L, 2); } WEAPONS.H procure: static int32_t getMaxMeleeDamage(int32_t attackSkill, int32_t attackValue); adicone abaixo: static int32_t getMaxWeaponDamage(uint32_t level, uint32_t resets, int32_t attackSkill, int32_t attackValue, float attackFactor); WEAPONS.CPP procure: int32_t Weapons::getMaxWeaponDamage(uint32_t level, int32_t attackSkill, int32_t attackValue, float attackFactor) { int meres = g_config.getNumber(ConfigManager::MELEE_RES_DAM); return static_cast<int32_t>(std::ceil((2 * (attackValue * (attackSkill + 5.8) / 25 + (level - 1) / 10.)) / attackFactor)); } substitua: int32_t Weapons::getMaxWeaponDamage(uint32_t level, uint32_t resets, int32_t attackSkill, int32_t attackValue, float attackFactor) { int meres = g_config.getNumber(ConfigManager::MELEE_RES_DAM); return static_cast<int32_t>(std::ceil(((resets * meres/100) + 1) * (2 * (attackValue * (attackSkill + 5.8) / 25 + (level - 1) / 10.)) / attackFactor)); } procure: int32_t maxDamage = Weapons::getMaxWeaponDamage(player->getLevel(), attackSkill, attackValue, attackFactor); substitua: int32_t maxDamage = Weapons::getMaxWeaponDamage(player->getLevel(), player->getResets(), attackSkill, attackValue, attackFactor); procure: int32_t maxValue = Weapons::getMaxWeaponDamage(player->getLevel(), attackSkill, attackValue, attackFactor); substitua: int32_t maxValue = Weapons::getMaxWeaponDamage(player->getLevel(), player->getResets(), attackSkill, attackValue, attackFactor); procure: int32_t maxValue = static_cast<int32_t>(Weapons::getMaxWeaponDamage(player->getLevel(), attackSkill, attackValue, attackFactor) * player->getVocation()->meleeDamageMultiplier); substitua: int32_t maxValue = static_cast<int32_t>(Weapons::getMaxWeaponDamage(player->getLevel(), player->getResets(), attackSkill, attackValue, attackFactor) * player->getVocation()->meleeDamageMultiplier); procure: int32_t maxValue = Weapons::getMaxWeaponDamage(player->getLevel(), attackSkill, attackValue, attackFactor); substitua: int32_t maxValue = Weapons::getMaxWeaponDamage(player->getLevel(), player->getResets(), attackSkill, attackValue, attackFactor); procure: int32_t maxValue = static_cast<int32_t>(Weapons::getMaxWeaponDamage(player->getLevel(), attackSkill, attackValue, attackFactor) * player->getVocation()->distDamageMultiplier); substitua: int32_t maxValue = static_cast<int32_t>(Weapons::getMaxWeaponDamage(player->getLevel(), player->getResets(), attackSkill, attackValue, attackFactor) * player->getVocation()->distDamageMultiplier); COMFIGMANAGER.CPP procure: integer[RATE_SPAWN] = getGlobalNumber(L, "rateSpawn", 1); adicione abaixo: integer[MELEE_RES_DAM] = getGlobalNumber(L, "MeleeDamResMult", 10); integer[MAGIC_RES_DAM] = getGlobalNumber(L, "MagicDamResMult", 10); CONFIGMANAGER.H procure: RATE_SPAWN, adicione baixo: MELEE_RES_DAM, MAGIC_RES_DAM, LUASCRIPT.CPP procure: registerEnumIn("configKeys", ConfigManager::RATE_SPAWN) adicione abaixo: registerEnumIn("configKeys", ConfigManager::MELEE_RES_DAM) registerEnumIn("configKeys", ConfigManager::MAGIC_RES_DAM) Depois adicione no config.lua do seu servidor: -- Reset -- NOTE: % of damage for reset MeleeDamResMult = 100 MagicDamResMult = 100 Dessa forma cada resete o dano do player vai aumentar 100% em hit e 100% em magia.
  17. Kemix postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Obrigado! Corrigido.
  18. Kemix reagiu a uma resposta no tópico: Sistema de Resete
  19. vankk reagiu a uma resposta no tópico: NPC para Reset
  20. vankk reagiu a uma resposta no tópico: Sistema de Resete
  21. Kemix postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Npc para o sistema de reset: http://www.tibiaking.com/forum/topic/65646-sistema-de-resete/#comment-374457 data/npc/reseter.XML: <?xml version="1.0" encoding="UTF-8"?> <npc name="Reseter" script="reseter.lua"> <health now="1000" max="1000"/> <look type="133" head="95" body="86" legs="86" feet="38" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|.I've been waiting for you to come.. Say 'reset' or 'quantity'" /> <parameter key="message_farewell" value="Cya folk." /> <parameter key="message_walkaway" value="How Rude!" /> </parameters> </npc> data/npc/scripts/reseter.lua: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local player = Player(cid) config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset percent = 10, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, ---- Maximo de resets levelbyreset = 0 --- Quanto de level vai precisar a mais no próximo reset } function addReset(cid) player = Player(cid) resets = getResets(cid) hp = player:getMaxHealth() resethp = hp*(config.percent/100) player:setMaxHealth(resethp) mana = player:getMaxMana() resetmana = mana*(config.percent/100) player:setMaxMana(resetmana) playerid = player:getGuid() player:remove() db.query("UPDATE `players` SET `resets`="..resets.. + 1",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") db.query("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") return true end local newPrice = config.price + (getResets(cid) * config.priceByReset) local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset) if msgcontains(msg, 'reset') then if getResets(cid) < config.maxresets then npcHandler:say('You want to reset your character? It will cost '..newPrice..' gp\'s!', cid) npcHandler.topic[cid] = 1 else npcHandler:say('You already reached the maximum reset level!', cid) end elseif msgcontains(msg, 'yes') and npcHandler.topic[cid] == 1 then if player:getLevel() > newminlevel then if player:removeMoney(newPrice) then addEvent(function() if isPlayer(cid) then addReset(cid) end end, 3000) local number = getResets(cid)+1 local msg ="---[Reset: "..number.."]-- You have reseted! You'll be disconnected in 3 seconds." player:popupFYI(msg) npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) else npcHandler:say('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid) npcHandler.topic[cid] = 0 end else npcHandler:say('The minimum level for reseting is '..newminlevel..'!', cid) npcHandler.topic[cid] = 0 end elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then npcHandler.topic[cid] = 0 npcHandler:releaseFocus(cid) npcHandler:say('Ok.', cid) elseif msgcontains(msg, 'quantity') then npcHandler:say('You have a total of '..getResets(cid)..' reset(s).', cid) npcHandler.topic[cid] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Para configurar mexa nessa parte do npc: config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset percent = 10, ---- Porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, ---- Maximo de resets levelbyreset = 0 --- Quanto de level vai precisar a mais no próximo reset } Créditos: Flavio S
  22. Kemix postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Desculpe, resolvi o problema.
  23. Kemix alterou sua foto pessoal
  24. Kemix postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    MySQL: ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT "0"; Sources: player.h Procure por: uint32_t level; Adicione abaixo: uint32_t resets; iologindata.cpp Procure por: bool IOLoginData::loadPlayerById(Player* player, uint32_t id) Substitua a parte que tenha querry por: query << "SELECT `id`, `name`, `account_id`, `group_id`, `sex`, `vocation`, `experience`, `level`, `resets`, `maglevel`, `health`, `healthmax`, `blessings`, `mana`, `manamax`, `manaspent`, `soul`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `posx`, `posy`, `posz`, `cap`, `lastlogin`, `lastlogout`, `lastip`, `conditions`, `skulltime`, `skull`, `town_id`, `balance`, `offlinetraining_time`, `offlinetraining_skill`, `stamina`, `skill_fist`, `skill_fist_tries`, `skill_club`, `skill_club_tries`, `skill_sword`, `skill_sword_tries`, `skill_axe`, `skill_axe_tries`, `skill_dist`, `skill_dist_tries`, `skill_shielding`, `skill_shielding_tries`, `skill_fishing`, `skill_fishing_tries` FROM `players` WHERE `id` = " << id; Procure por: bool IOLoginData::loadPlayerByName(Player* player, const std::string& name) Substitua a parte que tenha querry por: query << "SELECT `id`, `name`, `account_id`, `group_id`, `sex`, `vocation`, `experience`, `level`, `resets`, `maglevel`, `health`, `healthmax`, `blessings`, `mana`, `manamax`, `manaspent`, `soul`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `posx`, `posy`, `posz`, `cap`, `lastlogin`, `lastlogout`, `lastip`, `conditions`, `skulltime`, `skull`, `town_id`, `balance`, `offlinetraining_time`, `offlinetraining_skill`, `stamina`, `skill_fist`, `skill_fist_tries`, `skill_club`, `skill_club_tries`, `skill_sword`, `skill_sword_tries`, `skill_axe`, `skill_axe_tries`, `skill_dist`, `skill_dist_tries`, `skill_shielding`, `skill_shielding_tries`, `skill_fishing`, `skill_fishing_tries` FROM `players` WHERE `name` = " << db->escapeString(name); Procure por: player->level = std::max<uint32_t>(1, result->getNumber<uint32_t>("level")); Adicione abaixo: player->resets = result->getNumber<uint32_t>("resets"); Procure por: query << "`level` = " << player->level << ','; Adicione abaixo: query << "`resets` = " << player->resets << ", "; player.cpp procure por: s << " (Level " << level << ")"; Substitua por: s << " You are " << vocation->getVocDescription() << ". [Resets " << resets << "]"; player.h procure por: uint32_t level; Abaixo adicione: uint32_t resets; procure por: uint32_t getLevel() const { return level; } Adicione abaixo: uint32_t getResets() const { return resets; } void setResets(int32_t amount) { resets += amount; if (resets < 0) { resets = 0; } } luascript.cpp Procure por: registerMethod("Player", "getLevel", LuaScriptInterface::luaPlayerGetLevel); Abaixo adicione: registerMethod("Player", "getResets", LuaScriptInterface::luaPlayerGetResets); registerMethod("Player", "setResets", LuaScriptInterface::luaPlayerSetResets); Procure por: int LuaScriptInterface::luaPlayerGetLevel(lua_State* L) { // player:getLevel() Player* player = getUserdata<Player>(L, 1); if (player) { lua_pushnumber(L, player->getLevel()); } else { lua_pushnil(L); } return 1; } Adicione abaixo: int LuaScriptInterface::luaPlayerGetResets(lua_State* L) { //getResets(cid) Player* player = getUserdata<Player>(L, 1); if (player) { lua_pushnumber(L, player->getResets()); } else { lua_pushnil(L); } return 1; } int LuaScriptInterface::luaPlayerSetResets(lua_State* L) { //setResets(cid, amount) int32_t amount = getNumber<int32_t>(L, 2); Player* player = getUserdata<Player>(L, 1); if (player) { player->setResets(amount); lua_pushboolean(L, true); } else { lua_pushnil(L); } return 1; } luascript.h procure por: static int luaPlayerGetLevel(lua_State* L); Adicione abaixo: static int luaPlayerGetResets(lua_State* L); static int luaPlayerSetResets(lua_State* L); - Npc para esse sistema de resete - Aumento de damage por esse sistema de reset
  25. Kemix postou uma resposta no tópico em Suporte Tibia OTServer
    Faça oque zipter98 mandou, mas no modules.lua Depois de : Coloque: Ficando assim:
  26. Kemix postou uma resposta no tópico em Formação de Equipe
    TIago Scripter skype: mega1409

Informação Importante

Confirmação de Termo