Ir para conteúdo
  • Cadastre-se

Nazo

Banido
  • Total de itens

    235
  • Registro em

  • Última visita

  • Dias Ganhos

    3

Histórico de Curtidas

  1. Obrigado
    Nazo recebeu reputação de jhenrique em (Resolvido)Erro nos Potions   
    O que me parece é que no OTX a função isInArray não existe, tenta adicionar numa lib aí:
    function isInArray(t, v, c) v = (c ~= nil and string.lower(v)) or v if type(t) == "table" and v ~= nil then for key, value in pairs(t) do value = (c ~= nil and string.lower(value)) or value if v == value then return true end end end return false end  
  2. Curtir
    Nazo recebeu reputação de Darcio Antonio em [PEDIDO] Script qe puxa todos os players   
    Toma:
    <talkaction words="/teleportall" value="teleportall.lua"/> function onSay(player, words, param) if not player:getGroup():getAccess() then return false end local playerPosition = player:getPosition() local players = Game.getPlayers() for _, p in ipairs(players) do p:teleportTo(playerPosition, true) end return true end  
  3. Curtir
    Nazo recebeu reputação de Cat em #mda2018 - Melhores do Ano no Tk (listão)   
    Feliz natal atrasado ano novo à todos!
    Fico extremamente contente de ter sido citado, e estar ao lado de tantos nomes que aí estão, e contribuíram muito com o fórum no ano de 2018!
    Que 2019 seja um ano de muitos avanços na vida de cada um, inclusive na expansão do nosso querido TibiaKing (=
  4. Gostei
    Nazo recebeu reputação de adolfbig em Erro na data base   
    Tem como você upar o código da database antiga?
    Isso pode ser uma solução temporária, mas não é garantida o funcionamento:
    ALTER TABLE guilds ADD COLUMN checkdata DATE; ALTER TABLE killers ADD COLUMN war INT; Execute essas duas linhas no MySQL do seu servidor, pelo seu xampp ou phpMyAdmin.
  5. Gostei
    Nazo recebeu reputação de Matheuus em (Resolvido)Ajuda em melhorar script de add/remover dias premium   
    function onSay(cid, words, param)     if param == "" then         return doPlayerPopupFYI(cid,"Está com problemas?\nAprenda os comandos!\n---------------\nAdicionar premium:\n/pa add days player\n/pa add 30 Wakon\n---------------\nRemover premium:\n/pa remove player\n/pa remove Wakon\n---------------\nVer Premium:\n/pa days player\n/pa days Wakon\n---------------")     end     if param:lower():find('add') == 1 and 3 then         local _,_,id,name = param:lower():find('add (%d+) (.+)')         name = name or ""         id = tonumber(id or 1) or 1         if tonumber(id) == nil or getPlayerByName(name) == false then             return doPlayerSendTextMessage(cid,25,"Adicionar premium:\n/pa add days player\n/pa add 30 Wakon\n [Player: "..name.."]")         end          if isPlayer(getPlayerByName(name)) == TRUE then             doPlayerAddPremiumDays(getPlayerByName(name), id)                                       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Foram adicionados "..tonumber(id).." dias de premium ao jogador "..name..".")             doPlayerSendTextMessage(getPlayerByName(name),25,"Você recebeu "..tonumber(id).." dias de premium, relogue para atualizar.")         else             doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"O jogador "..name.." não esta online ou não existe.")         end     elseif param:lower():find('remove') == 1 and 3 then         local _,_,id2,name2 = param:lower():find('remove (%d+) (.+)')         name2 = name2 or ""         id2 = tonumber(id2 or 1) or 1         if tonumber(id2) == nil or getPlayerByName(name2) == false then             return doPlayerSendTextMessage(cid,25,"Remover premium:\n/pa remove days player\n/pa remove 30 Wakon\n [Player: "..name2.."]")         end          if isPlayer(getPlayerByName(name2)) == TRUE and getPlayerPremiumDays(getPlayerByName(name2)) >= id2 then             doPlayerRemovePremiumDays(getPlayerByName(name2), id2)             return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Foram retirados "..tonumber(id2).." dias de premium do jogador "..name2..".")          end         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"O jogador "..name2.." não esta online, não existe ou tem menos dias de premium do que será removido.")     end     if param:lower():find('days') == 1 and 3 then         local _,_,name3 = param:lower():find('days (.+)')         name3 = name3 or ""         prem = getPlayerPremiumDays(getPlayerByName(name3))         if isPlayer(getPlayerByName(name3)) == false then             return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"O jogador "..name3.." não esta online ou não existe.")         end          if prem >= 1 then             return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "O jogador "..name3.." tem "..prem.." dias de premium.")         else             doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"O jogador "..name3.." é free account.")         end     end     return TRUE end  
  6. Gostei
    Nazo recebeu reputação de sauvadur em Arma fist não pode ser equipada   
    As sources do seu servidor são os códigos-fonte do arquivo executável que você inicia para rodar o servidor, então, primeiramente, você precisa ter acesso a estes códigos-fonte (que uma vez compilados no .exe, não podem ser obtidos novamente, portanto, trate de checar se o servidor que você utiliza tem estes arquivos disponibilizados em algum local); recomendo que dê uma estudada sobre, e refaça o post pedindo ajuda, para que possam melhor te ajudar.
    Minhas especialidades dentro dos otservers não incluem alterações nas sources, então, alguém pode te ajudar melhor que eu, xD.
     
    edit: esqueci-me de incluir na explicação, no código das sources, teoricamente, são definidas coisas que normalmente não seriam alteradas nos otservers, são os pilares do jogo (como o ato de andar, conexões de entrada, saída, skills existentes in-game, itens relacionados a estas skills, etc).
  7. Gostei
    Nazo recebeu reputação de Mark Coder em (Resolvido)Usar spell apenas em players   
    Não tenho certeza se vai funcionar baseado na versão do seu TFS, mas tenta:
    function onCastSpell(cid, var) local jogadorpos = getCreaturePosition(cid) local target = getCreatureTarget(cid) local monsterpos = getCreaturePosition(target) if (isPlayer(target)) then doTeleportThing(cid,monsterpos) doTeleportThing(target,jogadorpos) doSendMagicEffect(jogadorpos, 7) doSendMagicEffect(monsterpos, 7) else doPlayerSendTextMessage(cid,20,'You can only use it on players.') end end  
  8. Obrigado
    Nazo recebeu reputação de madagascar em Item que dá permissão para usar magia   
    Faz assim, em cada spell que necessita de um item específico equipado para ser utilizada, coloque a seguinte linha no começo do código:
    wand = 3074 -- id da wand  
    Abaixo de:
    function onCastSpell(cid, var)  
    Coloque:
    if (not ((getPlayerSlotItem(cid,CONST_SLOT_LEFT).itemid == wand) or (getPlayerSlotItem(cid,CONST_SLOT_RIGHT).itemid == wand))) then -- by Nazo (tibiaking.com) doPlayerSendCancel(cid, "Sorry, you need the wand.") return false end  
  9. Gostei
    Nazo recebeu reputação de King Laker em Item que dá permissão para usar magia   
    Faz assim, em cada spell que necessita de um item específico equipado para ser utilizada, coloque a seguinte linha no começo do código:
    wand = 3074 -- id da wand  
    Abaixo de:
    function onCastSpell(cid, var)  
    Coloque:
    if (not ((getPlayerSlotItem(cid,CONST_SLOT_LEFT).itemid == wand) or (getPlayerSlotItem(cid,CONST_SLOT_RIGHT).itemid == wand))) then -- by Nazo (tibiaking.com) doPlayerSendCancel(cid, "Sorry, you need the wand.") return false end  
  10. Curtir
    Nazo recebeu reputação de adolfbig em Adicionar CoolDown em Buff   
    Testa aqui:
    -- edited by Nazo (tibiaking.com) local outfit = {lookType = 154} -- outfit local tempo = 120 -- tempo em segundos. local effect = {191} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local cooldown = 300 -- cooldown em segundos. local ml = 45 -- quantos ira aumentar o skill de ML local skillfist = 40 -- quantos ira aumentar o skill de Fist local skillsword = 40 -- quantos ira aumentar o skill de Sword local skillaxe = 40 -- quantos ira aumentar o skill de Axe local skillclub = 45 -- quantos ira aumentar o skill de Club local skilldistance = 40 -- quantos ira aumentar o skill de Distance local skillshield = 40 -- quantos ira aumentar o skill de Shield local health = 150 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function magicEffect2076(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo*1000) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if (getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false) and (getPlayerStorageValue(cid, 102054) <= os.time()) then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect2076, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. setPlayerStorageValue(cid, 102054,os.time()+cooldown+tempo) -- adiciona o cooldown a partir do primeiro uso doCreatureSay(cid, "AAAAAAAAAAA QUE DELICIA CARA!", TALKTYPE_MONSTER) doSendMagicEffect(position129, 275) else doPlayerSendCancel(cid, "Sorry, you are transformed or the spell are in cooldown.") end end Deixei o cooldown de modo que ele comece após o término do tempo total do buff, ou seja, se eu usei a spell ao 00:00, e durar 5 minutos o buff, e o cooldown for de 5 minutos, 00:05 acaba o buff, 00:10 posso utilizar novamente.
  11. Curtir
    Nazo recebeu reputação de Fiiiiinz em [Pedido] Teleportar para o templo se tiver storage globalevent   
    TAG XML:
     
    <globalevent name="TPALL" time="00:00" event="script" value="tpall.lua"/>  
    Script tpall.lua:
    -- by Nazo (tibiaking.com) config = { storage = 232323, -- muda pra storage que você quer storageValue = 1 -- valor necessário para ser teleportado } function onTime() players = getPlayersOnline() for _, pid in ipairs(players) do if(getPlayerStorageValue(pid,config.storage) == storageValue) then doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) setPlayerStorageValue(pid, storage, -1) end end return true end  
    Caso ocorra algum erro, por favor, me cite aqui.
  12. Curtir
    Nazo deu reputação a Nogard em Quem vence permanece!   
    Wingardium              x                
  13. Gostei
    Nazo recebeu reputação de joaotmed em Modern AAC   
    mostra o config.php, um print do seu phpmyadmin e o config.lua ae xupinga
  14. Curtir
    Nazo recebeu reputação de Tchuka em (Resolvido)Erro Creaturescripts   
    @Tchuka, testa aí:
    local level = 0 local config = { tempo = 3, -- tempo, em segundos que o efeito demorará para sair. } local eggo = { ["Holy Pet"] = {id = 6541, mon = "Holy Pet", cor = TEXTCOLOR_YELLOW}, ["Fire Pet"] = {id = 6542, mon = "Fire Pet", cor = TEXTCOLOR_RED}, ["Ice Pet"] = {id = 6543, mon = "Ice Pet", cor = TEXTCOLOR_BLUE}, ["Terra Pet"] = {id = 6544, mon = "Terra Pet", cor = TEXTCOLOR_LIGHTGREEN}, ["Phoenix Pet"] = {id = 2695, mon = "Phoenix Pet", cor = TEXTCOLOR_GREY}, ["Draug Pet"] = {id = 6544, mon = "Draug Pet", cor = TEXTCOLOR_BROWN}, ["Many Pet"] = {id = 2695, mon = "Many Pet", cor = TEXTCOLOR_TEAL}, ["Energy Pet"] = {id = 6545, mon = "Energy Pet", cor = TEXTCOLOR_PURPLE} } function onThink(cid, interval) local function Macabro(cid) for k, v in pairs(eggo) do if(not cid) then break end if isMonster and getCreatureName(cid) == v.mon then doSendMagicEffect(getThingPos(cid), 37) doSendAnimatedText(getThingPos(cid), "level: ".. level .. "", v.cor) return addEvent(Macabro, 3000, cid) end end end if (getPlayerStorageValue(cid, 70071)) <= 0 then -- storage que guarda o tempo do efeito. Macabro(cid) setPlayerStorageValue(cid, 70071, config.tempo + os.time()) else return true end return TRUE end  
  15. Obrigado
    Nazo recebeu reputação de Ronald warsks em (Resolvido)[DUVIDA] Um player pode Usar Mais de uma Storage ?   
    A storage, como diz na própria palavra, é um armazenamento de valor, se você dá o valor 1 para a storage 123456 no player "Nazo", e fizer um script que o player "Nazo" só pode executar caso tenha o valor 1 na storage 123456, ocorrerá assim, entende?
     
    Toda storage por padrão, já existe, mas não fica salva no banco de dados, quando ela não foi declarada ainda, ela tem o valor "-1", e geralmente os valores para quests utilizados são "-1" (para caso não tenha feito ainda, e "1" para caso o player já tenha feito, exemplo rápido:
     
    function onUse(cid, item, frompos, item2, toPosition) config{ storage = 123456, -- valor da storage item = 2160 -- prêmio } if getPlayerStorageValue(cid,config.storage) == -1 then -- se o player não tiver nada na storage doPlayerSendTextMessage(cid,22,"Você ganhou 10k.") doPlayerAddItem(cid,config.item,10) setPlayerStorageValue(cid,config.storage,1) -- adiciona o valor 1 na storage else -- se não (se o player já tiver algo na storage) doPlayerSendTextMessage(cid,22,"Você já fez esta quest.") end end  
  16. Obrigado
    Nazo recebeu reputação de Ronald warsks em (Resolvido)[DUVIDA] Um player pode Usar Mais de uma Storage ?   
    Imagine os players como estantes com gavetas, as storages são como gavetas que são representadas por um número de até 65535 se não me engano, cada uma tem um conteúdo que é um número, imagine que você tem a gaveta de número 31223, e bota o valor 5 dentro dela, o player terá na storage 31223 o valor 5, entendeu?
    o valor padrão em todas storages é -1 se não houver sido setada
  17. Obrigado
    Nazo recebeu reputação de Hokograma em (Resolvido)Adicionar Delay A Cada Hit ( Weapons)   
    Testa isso, @Hokograma:
    local storage = 43103 -- mude caso dê conflito de storage apenas local delay = 5 -- delay em segundos local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 35) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0.0, -89, 0.0, -90) function onUseWeapon(cid, var) if(getPlayerStorageValue(cid,storage) < os.time()) then setPlayerStorageValue(cid,storage,os.time()+delay) return doCombat(cid, combat, var) else return false end end  
  18. Obrigado
    Nazo recebeu reputação de Mark Ackerman em (Resolvido)[PEDIDO] effect ao matar players   
    local storage = 13122 local effects = {10,11,12,13,14} function onKill(cid, target, lastHit) if not isPlayer(target) then return true end if(getPlayerStorageValue(cid,storage) > 5 and getPlayerStorageValue(cid,storage) < 1) then setPlayerStorageValue(cid,storage,1) else setPlayerStorageValue(cid,storage,getPlayerStorageValue(cid,storage)+1) end doSendMagicEffect(getCreaturePosition(cid), effects[getPlayerStorageValue(cid,storage)]) return true end  
  19. Gostei
    Nazo recebeu reputação de Nogard em one piece client   
    @Nogard, tá ficando lindo
    se estiver aberto a sugestões:
    tenta tirar todo o cinza do client, cinza é uma cor morta, dá desanimo, tem que ser divertido, e cinza não é divertido xD
  20. Obrigado
    Nazo recebeu reputação de Mark Ackerman em (Resolvido)[PEDIDO] effect ao matar players   
    @bismarkzika perdão, erro de atenção minha. Troque a linha adicionada em login.lua por essa:
    registerCreatureEvent(cid,"killPlayerMessage")  
  21. Obrigado
    Nazo recebeu reputação de Mark Ackerman em (Resolvido)[PEDIDO] effect ao matar players   
    @bismarkzika, testa aí:
     
    tag xml:
    <event type="kill" name="killPlayerMessage" event="script" value="killplayermessage.lua"/>  
    Arquivo creaturescripts\scripts\killplayermessage.lua:
    -- by Nazo (tibiaking.com) local storage = 13122 local msgs = { {"Killing Spree!", 10}, {"Double Kill!", 11}, {"Triple Kill!", 12}, {"Quadra Kill!", 13}, {"Penta Kill!", 14} } function onKill(cid, target, lastHit) if not isPlayer(target) then return true end if(getPlayerStorageValue(cid,storage)==-1) then setPlayerStorageValue(cid,storage,1) elseif(getPlayerStorageValue(cid,storage)<=5 and getPlayerStorageValue(cid,storage) >= 1) then setPlayerStorageValue(cid,storage,1) else setPlayerStorageValue(cid,storage,1) return true end doSendAnimatedText(getCreaturePosition(cid), msgs[getPlayerStorageValue(cid,storage)][1], msgs[getPlayerStorageValue(cid,storage)][2]) return true end  
    E antes do último 'return true' do creaturescripts\script\login.lua adicione a seguinte linha:
    registerCreatureEvent(cid,"killPlayerMessage")  
  22. Obrigado
    Nazo recebeu reputação de robson da silva em (Resolvido)error no order   
    @robson da silva, testa:
    https://hastebin.com/raw/ufifefedan
  23. Curtir
    Nazo deu reputação a noktuno em [LINK OFF]Nokturno's new zone   
    Nokturno's Mapping
    feel free to use my new zone i just made today.
    a little fancy but it can work in many ways
    love ya
    1:

    2:

     
    cords: 1000,1000, 1
     
    floating zone nokturno.otbm
  24. Curtir
    Nazo deu reputação a noktuno em Town Portal System (based Dota 2)   
    Learning Br with @Nazo, es muy parecido al español.
     
  25. Gostei
    Nazo recebeu reputação de joaotmed em Configurando email no Gesior   
    É possível que seja no xampp o problema, o mesmo tem algumas frescuras com emails e requer umas configurações, tente isso:
     
    Procure adicionar/editar essas linhas no sendmail/sendmail.ini do xampp:
    smtp_server=smtp.gmail.com smtp_port=465 [email protected] auth_password=obvioissokkk  
    Depois no php/php.ini:
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"  
    Não se esqueça de reiniciar o serviço apache após as edições.
     
    @joaotmed, aliás, no momento você utiliza sua própria máquina ou um host a parte?
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo