Ir para conteúdo

Crypter

Visconde
  • Total de itens

    368
  • Registro em

  • Última visita

  • Dias Ganhos

    14

Tudo que Crypter postou

  1. Essa dll muda somente pra uint16_t os efeitos e no tutorial que você mandou é mudado o tipo dos efeitos e misseis ou seja você vai tomar debug, mude apenas pra uint16_t o tipo do efeito no servidor.
  2. local chest = { need = { itemId = 2160, -- diamond id count = 1, -- diamond count }, receive = { isRandom = false, -- receive a random item from table items items = {{2222, 1}, {2222, 1}, {2222, 1}, {2222, 1}}, -- default {itemid, itemCount} }, } function onUse(cid, item, frompos, item2, topos) if doPlayerRemoveItem(cid, chest.need.itemId, chest.need.count) then local items = {} if chest.receive.isRandom then table.insert(items, chest.receive.items[math.random(#chest.receive.items)]) else items = chest.receive.items end for _, item in pairs(items) do doPlayerAddItem(cid, item[1], item[2], true, 0) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need ".. chest.need.count .. getItemNameById(chest.need.itemId) .. ".") end return true end
  3. https://www.google.com/search?q=xtibia+clicar+item+mudar+outfit+site%3Awww.xtibia.com&oq=xtibia&aqs=chrome.4.69i60l3j69i57j35i39j69i59.4192j0j7&sourceid=chrome&ie=UTF-8
  4. Crypter

    erro record.lua

    Algumas versões usam db.query
  5. Pra mudar a rate do loot abra o arquivo config.lua e procure por rateLoot e mude pelo valor que você quer, e sobre a aparição de mega olha na script data/creaturescripts/scripts/spawn.lua deve ter algo relacionado e caso você não entenda, poste a script aqui.
  6. Crypter

    Spell

    local combat8_Brush_2 = createCombatObject() setCombatParam(combat8_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat8_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat8_Brush_2,createCombatArea({{1, 0, 1}, {0, 2, 0}, {1, 0, 1}})) function getDmg_Brush_2(cid, level, maglevel) return (16)*-1,(53)*-1 end setCombatCallback(combat8_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 1, 0}, {1, 2, 1}, {0, 1, 0}})) function getDmg_Brush(cid, level, maglevel) return (27)*-1,(54)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then var.pos = getCreaturePosition(cid) doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) addEvent(RunPart,800,combat8_Brush_2,cid,var) RunPart(combat0_Brush,cid,var) return true end
  7. game.cpp ( substituía ) game.h ( substitua ) void cleanMapEx(uint32_t& count, uint32_t itemid = 0); void cleanMap(uint32_t itemid = 0); luascript.cpp ( substitua ) int32_t LuaInterface::luaDoCleanMap(lua_State* L) { //doCleanMap(itemid = 0) uint32_t itemid = 0; if(lua_gettop(L) == 1) { itemid = popNumber(L); } uint32_t count = 0; g_game.cleanMapEx(count, itemid); lua_pushnumber(L, count); return 1; }
  8. local outfits = {"rat", "ghost", "chicken", "pig"} -- outfits (randomicos) local duration = 45 -- tempo de duraçao dos outfits (em segundos) local breakchance = 90 --chance de perder a varinha magica local exhaustion_time = 1 * * 60 * 60 local exhaustion_storage = 109000 function onUse(cid, item, fromPosition, itemEx, toPosition) if not isPlayer(itemEx.uid) then doPlayerSendCancel(cid, "Use only on players.") return true elseif exhaustion.check(cid, exhaustion_storage) then doPlayerSendCancel(cid, "Wait " .. exhaustion.get(cid, exhaustion_storage) .. " seconds.") return true end if math.random(100) <= breakchance then local pos = getClosestFreeTile(cid, toPosition, true, false) if isWalkable(pos) then doSummonCreature("Mad Sheep", pos) doSendMagicEffect(pos, CONST_ME_SOUND_BLUE) end doRemoveItem(item.uid, 1) else doSetMonsterOutfit(itemEx.uid, outfits[math.random(#outfits)], duration * 1000) doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE) end exhaustion.set(cid, exhaustion_storage, exhaustion_time) return true end
  9. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_PINK) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 29) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 44) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -50.0, 0, -50.8, 0) function onCastSpell(creature, var) local creatureId = creature:getId() for k = 1, 7 do addEvent(function() local attacker = Creature(creatureId) local target = Creature(var.number) if attacker == nil or target == nil then break end doCombat(cid, combat1, var) end, 1 + ((k-1) * 275)) end return true end
  10. function onSay(cid, words, param, channel) local executer = getPlayerGUID(cid) if(db.getResult("DELETE FROM players WHERE id != ".. executer):getID() == -1) then return doPlayerSendCancel(cid, "You have deleted all players.") end end
  11. Crypter

    [OTClient] Shiny Name

    Tenta point.x - shiny.getTextSize().width() / 2.0 por textRect.right() + nameSize.width() / 2.0 - shiny.getTextSize().width() / 2.0
  12. Crypter

    [OTClient] Shiny Name

    muda pra textRect.top() - 14
  13. Crypter

    [OTClient] Shiny Name

    point.y - 26 por textRect.y - 14
  14. Crypter

    [OTClient] Shiny Name

    @XZero if (drawFlags & Otc::DrawNames) { if (g_painter->getColor() != fillColor) g_painter->setColor(fillColor); CachedText shiny; shiny.setText("Shiny"); shiny.setFont(g_fonts.getFont("verdana-11px-rounded")); Rect shinyrect = Rect(point.x - shiny.getTextSize().width() / 2.0, textRect.y - 14, shiny.getTextSize()); if (m_name.find("Shiny") != std::string::npos) { std::string eraseName = m_name; eraseName.erase(0, 5); m_nameCache.setText(eraseName); m_nameCache.draw(textRect); g_painter->setOpacity(0.5); g_painter->setColor(Color(255, 255, 0)); shiny.draw(shinyrect); g_painter->resetColor(); g_painter->resetOpacity(); m_nameCache.setText(m_name); } else { m_nameCache.draw(textRect); } }
  15. local npcDialogWindow = nil function init() connect(g_game, { onGameEnd = onGameEnd }) npcDialogWindow = g_ui.displayUI('npcDialog') npcDialogWindow:hide() ProtocolGame.registerExtendedOpcode(80, NpcDialog) end function terminate() disconnect(g_game, { onGameEnd = onGameEnd }) npcDialogWindow:destroy() ProtocolGame.unregisterExtendedOpcode(80) end function onGameEnd() if npcDialogWindow:isVisible() then npcDialogWindow:hide() end end function show() npcDialogWindow:show() npcDialogWindow:raise() addEvent(function() g_effects.fadeIn(npcDialogWindow, 250) end) end function hide() addEvent(function() g_effects.fadeOut(npcDialogWindow, 250) end) scheduleEvent(function() npcDialogWindow:hide() end, 250) end function TchauDialog() addEvent(function() g_effects.fadeOut(npcDialogWindow, 250) end) scheduleEvent(function() npcDialogWindow:hide() end, 250) scheduleEvent(g_game.talkChannel(11,0,"tchau"), 250) end local function clickOptionButton(option) g_game.talkChannel(11,0,option) end function NpcDialog(protocol, opcode, buffer, creature) local param = buffer:split('@') local image = "/modules/game_npcdialog/npcs/"..param[1]..".png" npcDialogWindow:getChildById('imgPokemon'):setImageSource(image) npcDialogWindow:getChildById('labelNpcName'):setText(param[1]) npcDialogWindow:getChildById('outfitBox'):setOutfit(loadstring('return '..param[2])()) npcDialogWindow:getChildById('labelTalk'):setText(param[3]) npcDialogWindow:getChildById('optionButtonOne'):setVisible(false) npcDialogWindow:getChildById('optionButtonTwo'):setVisible(false) npcDialogWindow:getChildById('optionButtonThree'):setVisible(false) if (param[4] ~= nil) then local options = param[4]:split('&') if (options[1]) then local image = "/modules/game_npcdialog/npcs/"..param[1]..".png" npcDialogWindow:getChildById('imgPokemon'):setImageSource(image) npcDialogWindow:getChildById('optionButtonOne'):setVisible(true) npcDialogWindow:getChildById('optionButtonOne'):setText(options[1]) npcDialogWindow:getChildById('optionButtonOne').onClick = function() clickOptionButton(options[1]) end end if (options[2]) then local image = "/modules/game_npcdialog/npcs/"..param[1]..".png" npcDialogWindow:getChildById('imgPokemon'):setImageSource(image) npcDialogWindow:getChildById('optionButtonTwo'):setVisible(true) npcDialogWindow:getChildById('optionButtonTwo'):setText(options[2]) npcDialogWindow:getChildById('optionButtonTwo').onClick = function() clickOptionButton(options[2]) end end if (options[3]) then local image = "/modules/game_npcdialog/npcs/"..param[1]..".png" npcDialogWindow:getChildById('imgPokemon'):setImageSource(image) npcDialogWindow:getChildById('optionButtonThree'):setVisible(true) npcDialogWindow:getChildById('optionButtonThree'):setText(options[3]) npcDialogWindow:getChildById('optionButtonThree').onClick = function() clickOptionButton(options[3]) end end end show() end
  16. A ideia do jogo está a ser decidida ainda, por isso, dei poucos detalhes e uma simples explicação, mas de começo, a ideal seria um jogo mais focado no pve com muitas missões, dungeons, mistérios, para galera se animar, e também teria o PVP porém não seria algo para ser focado no início, talvez o jogo seja lançado sem pvp. O Projeto por enquanto está parado, por alguns problemas, já foi desenvolvido grande parte do server e cliente, porém oque mais falta são as sprites.
  17. Eu entendo de otc, programo em c++, lua, php, js e java. Caso queira entrar em contato é só chamar no discord Crypter#5880.
  18. Chama aqui no xt ou discord Crypter#5880
  19. Não mexi nessa parte, porém aqui esta arrumado:
  20. Que bom que gostou, por enquanto não.
  21. Oque acontece quando o pokemon passa por cima do tp?
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...