-
Total de itens
235 -
Registro em
-
Última visita
-
Dias Ganhos
3
Histórico de Curtidas
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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 (=
-
Nazorecebeu 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.
-
Nazorecebeu 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
-
Nazorecebeu 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).
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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.
-
Nazorecebeu 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.
-
-
Nazorecebeu reputação de joaotmed em Modern AAC
mostra o config.php, um print do seu phpmyadmin e o config.lua ae xupinga
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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
-
Nazorecebeu 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")
-
Nazorecebeu 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")
-
Nazorecebeu reputação de robson da silva em (Resolvido)error no order
@robson da silva, testa:
https://hastebin.com/raw/ufifefedan
-
Nazodeu 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
-
Nazodeu reputação a noktuno em Town Portal System (based Dota 2)
Learning Br with @Nazo, es muy parecido al español.
-
Nazorecebeu 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?