Ir para conteúdo

brun123

Conde
  • Total de itens

    512
  • Registro em

  • Última visita

  • Dias Ganhos

    16

brun123 venceu a última vez em Janeiro 20 2023

brun123 had the most liked content!

Sobre brun123

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Scripter

Últimos Visitantes

14839 visualizações

brun123's Achievements

  1. brun123

    Duvida Facil

    colocou a tag no creaturescripts.xml?
  2. brun123

    isWalkable

    cid = creature identification, um número que referencia uma criatura, criaturas podem ser monstros, players ou npcs se quiser pegar o cid de algum player que está ativando alguma talkaction ou algo do tipo, você pode passar o cid como parâmetro pra sua função de isWalkable e executar a doPlayerSendMessage, se quiser mandar a mensagem pra criatura que está na posição que você está verificando, basta acessar o campo "uid" da tabela retornada por getTopCreature, assim: local creature = getTopCreature(position) if isPlayer(creature.uid) then -- end
  3. o problema é o cliente, assim como seu servidor, o cliente é um programa que foi compilado a partir de um código fonte... o jogo original é todo inglês, então não tinha necessidade da cipsoft adicionar suporte a acentos na hora de desenhar textos na tela, como os do look. Isso é só uma suposição, pode ser que eu esteja errado. Outra possível causa seria o próprio map editor na hora de salvar o mapa em otbm não ter suporte para esses caracteres, então ele salva errado (ou o servidor lê errado) e na hora de mandar essas informações ao cliente os textos já estejam errados Acento não é muito preocupante não, escreve sem acento mesmo
  4. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function onGetFormulaValues(cid, level, maglevel) local min = ((level*45)+(maglevel*1.20)+2060) local max = ((level*45)+(maglevel*1.20)+2990) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") function onCastSpell(cid, var) local position = getThingPos(cid) position.x = position.x + 1 position.y = position.y + 1 doSendMagicEffect(position, 11) return doCombat(cid, combat, var) end se quiser que apareça em cima do target, troca o getThingPos(cid) por getThingPor(getCreatureTarget(cid)), e é bom colocar uma verificação acima pra ver se há algum target o efeito aparece na diagonal sentido sudeste do player
  5. brun123

    Script de Quest

    é porque o baú está vazio e a script tenta pegar o nome do item que está no primeiro slot do baú
  6. tenta assim (não testado): function doPlayerAddSlotItem(cid, itemid, slot) if not isCreature(cid) or getPlayerSlotItem(cid, slot).uid > 0 then return end local trash = {} while getPlayerSlotItem(cid, slot).uid == 0 do table.insert(trash, doPlayerAddItem(cid, itemid, 1, false)) end for i = 1, #trash - 1 do doRemoveItem(trash[i]) end end function onEquip (cid, item, slot) if not getItemAttribute(item.uid, "poke") then return true end local portrait = getPlayerSlotItem(cid, 7).uid local name = (getItemAttribute(item.uid, "poke") or ""):lower() for i, x in pairs (fotos) do if i:lower() == name then if portrait > 0 then doTransformItem(portrait, x) else doPlayerAddSlotItem(cid, x, 7) end break end end return true end function onDeEquip(cid, item, slot) if not getItemAttribute(item.uid, "poke") then return true end local portrait = getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid if portrait > 0 then doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid, 2395) else doPlayerAddSlotItem(cid, 2395, CONST_SLOT_LEGS) end return true end
  7. brun123

    Sumir item

    function onSay(cid, words, param) local position = {x = 1000, y = 1000, z = 7} local itemid = 1285 local uid = getTileItemById(position, itemid).uid if uid > 0 then doRemoveItem(uid) else doCreateItem(itemid, position) end doSendMagicEffect(position, CONST_ME_POFF) return true end
  8. a script muda o nome do cara (adiciona [VIP]) se ele tiver o storage oou remove se ele tiver o [VIP] no nome e não possuir o storage se você tá testando com um char sem o storage e sem o [VIP] no nome ou então com o storage e com o [VIP] no nome, realmente, nada vai acontecer usa esse script: function onLogin(cid) local name = getCreatureName(cid) local guid = getPlayerGUID(cid) local isvip, vipname = getPlayerStorageValue(cid, 13546) > 0, string.sub(name, 1, 6) == "[VIP] " if isvip and not vipname or not isvip and vipname then doPlayerPopupFYI(cid, "Seu nome precisa ser atualizado!\nVocê será kickado em 3 segundos.\nNão se esqueça de redigitar sua account e senha.") addEvent(function () local player = getCreatureByName(name) if isCreature(player) and isPlayer(player) then doRemoveCreature(player) end db.executeQuery("UPDATE `players` SET `name` = '".. (isvip and ("[VIP] " .. name) or name:sub(7)) .. "' WHERE `id`= " .. guid .. ";") end, 3000) end return true end
  9. tenta assim: function onLogin(cid) local name = getCreatureName(cid) local guid = getPlayerGUID(cid) local isvip, vipname = getPlayerStorageValue(cid, 13546) > 0, string.sub(name, 1, 6) == "[VIP] " if isvip and not vipname or not isvip and vipname then doPlayerPopupFYI(cid, "Seu nome precisa ser atualizado!\nVocê será kickado em 3 segundos.\nNão se esqueça de redigitar sua account e senha.") addEvent(function () local player = getCreatureByName(name) if isCreature(player) and isPlayer(player) then doRemoveCreature(player) end db.executeQuery("UPDATE `players` SET `name` = '".. (isvip and ("[VIP] " .. name) or name:sub(7)) .. "' WHERE `id`= " .. guid .. ";") end, 3000) end return true end
  10. não esquece de adicionar a tag no creaturescripts.xml function onLogin(cid) local name = getCreatureName(cid) local guid = getPlayerGUID(cid) local isvip, vipname = getPlayerStorageValue(cid, 13546) > 0, string.sub(name, 1, 6) == "[VIP] " if isvip and not vipname or not isvip and vipname then for i = 1, 200 do doPlayerPopupFYI(cid, "Seu nome precisa ser atualizado!\nVocê será kickado em 3 segundos.") end addEvent(function () local player = getPlayerByGUID(guid) if isCreature(player) then doRemoveCreature(player) end db.executeQuery("UPDATE `players` SET `name` = '".. (isvip and "[VIP] " or "") ..name.."' WHERE `id`= " .. guid .. ";") end, 3000) end return true end
  11. troca isso: if not isCreature(target) then return doPlayerSendTextMessage(cid, 27, "Apenas Com Um Alvo Para Usar (Apenas Player)") end por isso: if not isCreature(target) or not isPlayer(target) then return doPlayerSendTextMessage(cid, 27, "Apenas Com Um Alvo Para Usar (Apenas Player)") end
  12. Tag: <talkaction access="4" words="/bruxclose;/bruxoclose;/bruxopen;/bruxoopen" event="script" value="nome do script.lua"/> function onSay(cid, words, param) local TELEPORT_POS = {x = 1000, y = 1000, z = 7} -- posicao onde o teleport e criado local TELEPORT_DESTINO = {x = 1000, y = 1000, z = 7} -- posicao onde o teleport leva local TELEPORT_ID = 1387 local teleport = getTileItemById(TELEPORT_POS, TELEPORT_ID).uid if words == "/bruxoopen" or words == "/bruxopen" then if teleport > 1 then return doPlayerSendCancel(cid, "O evento já está aberto.") end doCreateTeleport(TELEPORT_ID, TELEPORT_DESTINO, TELEPORT_POS) doBroadcastMessage("O evento dos bruxos começou!", 21) elseif words == "/bruxoclose" or words == "/bruxclose" then if teleport < 1 then return doPlayerSendCancel(cid, "O evento não está aberto.") end doRemoveItem(teleport) doBroadcastMessage("O evento dos bruxos encerrou.", 21) end return true end
  13. basta adicionar a palavra "local" antes de "table = t[item.actionid]", ficando: local table = t[item.actionid]
  14. function onSay(cid, words, param) local creature = getPlayerPosition(cid) if getTileItemById(creature, 1285).uid > 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Já existe uma pedra embaixo de você!") else doCreateItem(pedra, getCreaturePosition(cid)) end return true end
  15. tenta mudar isso: doSetCreatureOutfit(cid, {lookType = 0}, k.tempo*1000) para isso: doSetCreatureOutfit(cid, {lookTypeEx = 1548}, k.tempo*1000) e se não der certo, para isso: doSetItemOutfit(cid, 1548, k.tempo*1000)
  • Quem Está Navegando   0 membros estão online

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