Jump to content
Close

lordzetros

Member
  • Content Count

    410
  • Joined

  • Last visited

  • Days Won

    28

lordzetros last won the day on May 21

lordzetros had the most liked content!

10 Followers

About lordzetros

  • Rank
    Não derivo e nem integro.
  • Birthday 11/14/1998

Profile Information

  • Gender
    Masculino
  • Localization
    Ceará
  • I am
    Tibiano
  • My character
    Jr
  • Interests
    Aprender e ensinar.

Recent Profile Visitors

2109 profile views
  1. Show de bola, cara. Muito bom!
  2. @torresmo01 Por nada. Acho que você não entendeu, ou não me expressei bem. O que quis dizer é que, quando o caster não tem party (nil), e um player alvo não tem party também (nil), vai entrar nessa condição que criou para party iguais: if castersParty == targetsParty then Porque nil == nill, logo, não terá dano aplicado sobre ele. Uma forma de solucionar este problema, seria checkar se o caster tem party, e se tiver, ser igual ao do target (caso ele tenha), para que assim, o dano seja anulado sobre amigos de party. Veja bem: local targetsParty = target:getParty() if (castersParty and castersParty == targetsParty) then return true end
  3. local config = { storage1 = 25091, storage2 = 25092, storage3 = 25093 } function onStepIn(cid, item, position, fromPosition) if (getPlayerStorageValue(cid, config.storage1) <= 0) then doPlayerSendCancel(cid, "You have not completed the first mission.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 12) elseif (getPlayerStorageValue(cid, config.storage2) <= 0) then doPlayerSendCancel(cid, "You have not completed the second mission.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 12) elseif (getPlayerStorageValue(cid, config.storage3) <= 0) then doPlayerSendCancel(cid, "You have not completed the third mission.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 12) else doPlayerSendCancel(cid, "You accessed the prohibited area.") doSendMagicEffect(position, 13) end return true end Faça o teste, acredito que era só algum erro de codificação (às vezes acontece ao copiar e colar o código de algum fórum/site).
  4. Cuidado com as verificações antes de confirmar a existência de dados. Por exemplo, suponha que nem o player (caster) tenha party e o alvo (player também), ou seja, (castersParty == nil and targetsParty == nil) ---> nil == nil Enfim, quando ambos não tiverem party, não será removido vida do jogador. O que você pode fazer, é verificar se castersParty existe antes de verificar a igualdade entre as que citei acima.
  5. data/movements/scripts/ crie um arquivo chamado pushEscada.lua e adicione isto dentro: local tempo = 3 -- tempo em segundos para o player ser movido local function isWalkable(pos) if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false elseif isCreature(getTopCreature(pos).uid) then return false elseif getTileInfo(pos).protection then return false elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then return false end return true end local function ver_tile(c, p, t) addEvent(function() local at_pos = getCreaturePosition(c) if (at_pos.x == p.x and at_pos.y == p.y and at_pos.z == p.z) then local tb = { {0, -1}, {-1, -1}, {-1, 0}, {-1, 1}, {0, 1}, {1, 1}, {1, 0}, {1, -1} } local l_rnd = math.random(1, #tb) local n_pos = {x = at_pos.x + tb[l_rnd][1], y = at_pos.y + tb[l_rnd][2], z = at_pos.z} if (isWalkable(n_pos)) then doTeleportThing(c, n_pos, true) else ver_tile(c, p, 1) end end end, t * 1000) end function onStepIn(cid, item, position, fromPosition) if (isPlayer(cid)) then ver_tile(cid, position, tempo) end end E em data/movements/movements.xml adicione isto abaixo de uma linha semelhante: <movevent type="StepIn" actionid="48758" event="script" value="pushEscada.lua"/>
  6. @Yinz kkkkkk, doente demais. Já já tô logando no counter para tu me dá aquelas aulinhas lá, ( ͡° ͜ʖ ͡°)
  7. Introdução Estive procurando no fórum e não encontrei esse sistema de TP para versões com modal, aliás, até achei um semelhante, só que possuía algumas instabilidades e também com uma ideia de waypoints (que estava também fazendo dessa forma, mas não vem ao caso o motivo disso não ser viável no Tibia). O que trago aqui é algo mais simples, porém o necessário. O sistema de TP é muito importante em alguns servidores que fogem um pouco de RPG (não que seja exclusivamente para estes), ele possibilita viagens de um local para outro em instantes, como por exemplo, do Templo para o Depot ou para qualquer outra localização configurada no script (a seu gosto). Uma coisa adicional que coloquei no script, foi de listar também a house do jogador que utilizar o comando, onde você poderá configurar se será necessário pagar ou não para o mesmo ser teleportado, enfim, dê uma olhada no código depois, tá tudo comentado. Informações do sistema - Locais configuráveis - Configurável se é necessário pagar ou não para determinado local - Configurável a quantidade de dinheiro de cada local - Condições ao utilizar o comando (Protect Zone e tempo para utilizar o comando novamente) - É requisitado o jogador está possuindo a quantia necessária para o teleport Instalação 1 - crie um arquivo chamado teleportSystem.lua em data/talkactions/scripts/ e cole o código abaixo: 2 - Em seguida, cole este trecho de código em data/talkactions/talkactions.xml abaixo de algum semelhante: 3 - Agora crie um arquivo chamado modalTpSystem.lua em data/creaturescripts/scripts/ e cole o código abaixo nele: 4 - E para finalizar, cole este código em data/creaturescripts/creaturescripts.xml abaixo de um semelhante: Explicação do script A única coisa que você vai mexer é no teleportSystem, onde terá a opção de configurar os preços, locais, etc. Configurando as houses: houses_modal = Se será habilitado o player teleportar para a house dele house_pago = Se será pago o teleport para a house house_custo = Custo do teleport para a house, caso seja pago Configurando o local: nome = Nome do local a ser mostrado na janela pago = Se ele vai ser pago ou não, coloque false caso queira que não cobre nada do jogador custo = Caso tenha colocado como pago, o custo do teleport para o local pos = Posição do local (X,Y,Z) Quando for adicionar outro, copie esta mesma parte acima e altera o número [3] para [4] e os outros dados também, assim por diante. O restante também tá explicado no script, basta ler. Demonstração UTILIZE O COMANDO !tp Enfim, script simples, tem para outras versões, mas como falei, não tinha encontrado ainda para 1.x com esse funcionamento. Qualquer coisa, só comentar, .
  8. Parece bacana, boa sorte com o projeto. Tentarei acompanhar.
  9. Substitua seu talkaction por este: -- Em talkactions local modaldialog = { title = "Quick Access", message = "Where are you going?", buttons = { { id = 1, text = "Go" }, { id = 2, text = "Cancel" }, }, buttonEnter = 1, buttonEscape = 2, choices = { { id = 1, text = "Dorion" }, { id = 2, text = "Thais" }, { id = 3, text = "Mirand Theraan" }, { id = 4, text = "Saari" }, { id = 5, text = "Alfon" }, { id = 6, text = "Venonh" }, { id = 7, text = "Infernium" }, { id = 8, text = "Anknor" }, { id = 9, text = "Yalahar" }, { id = 10, text = "Smallville" }, { id = 11, text = "Flam" }, { id = 12, text = "Farmine" }, { id = 13, text = "Roshamuul" }, { id = 14, text = "Gray Island" }, { id = 15, text = "Goroma" } }, popup = false } function onSay(player, words, param) if (Tile(player:getPosition()):hasFlag(TILESTATE_PROTECTIONZONE)) then modalWindow = ModalWindow(1003, modaldialog.title, modaldialog.message) if modalWindow:getId() == 1003 then for _, v in ipairs(modaldialog.buttons) do modalWindow:addButton(v.id, v.text) end for _, v in ipairs(modaldialog.choices) do modalWindow:addChoice(v.id, v.text) end modalWindow:setDefaultEnterButton(modaldialog.buttonEnter) modalWindow:setPriority(modaldialog.popup) modalWindow:setDefaultEscapeButton(modaldialog.buttonEscape) end modalWindow:sendToPlayer(player) player:registerEvent("ModalTP") else player:sendCancelMessage("You need to be in a safe zone to use teleport system.") end return false end
  10. No TFS 1.3 não tem função para adicionar o pzLocked que gostaria no jogador, portanto, modifique sua source com essas alterações: em Luascript.h static int luaPlayerPzLocked(lua_State* L); E em Luascript.cpp (cole abaixo de um semelhante) Código 1: registerMethod("Player", "pzLock", LuaScriptInterface::luaPlayerPzLocked); Código 2 (abaixo/acima de um semelhante também): int LuaScriptInterface::luaPlayerPzLocked(lua_State* L) { // player:pzLock(true/false, default = false) Player* player = getUserdata<Player>(L, 1); if (!player) { lua_pushnil(L); return 1; } bool pzLock = getBoolean(L, 2, false); player->pzLocked = pzLock; return 1; } E para finalizar, vai na sua spell de magic wall e deixe desta forma: local combat = Combat() combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) combat:setParameter(COMBAT_PARAM_CREATEITEM, ITEM_MAGICWALL) function onCastSpell(creature, variant, isHotkey) creature:pzLock(true) return combat:execute(creature, variant) end
  11. @Eduardozim if (target->isInGhostMode() && targetPlayer->getAccountType() < ACCOUNT_TYPE_GAMEMASTER && targetPlayer->getAccountType() < ACCOUNT_TYPE_GOD) { Tá estranho essa verificação, no caso, você está bloqueando hit para todos os players que não são GOD (e estão invisível - detalhe: targetPlayer não foi instanciado na função), não acha? Posso está enganado, mas... se quer que o hit seja bloqueado apenas para GM para cima e que estejam invisíveis, seria mais ou menos assim: if (target->getPlayer() && target->isInGhostMode() && target->getPlayer()->getAccountType() > ACCOUNT_TYPE_SENIORTUTOR) {
  12. Bacana. Sucesso para o servidor, 👍.
  13. Pasta da sua source/vocation.h Uma variável chamada attackSpeed
  14. Só lhe ajudei em corrigir o erro, o crédito dos scripts é seu. 🤤

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 partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade 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! A publicação do seu anuncio é instantânea!

×
×
  • Create New...