Ir para conteúdo

JcA

Membro
  • Registro em

  • Última visita

Tudo que JcA postou

  1. @Dwarfer CARALHOOOOOOOOOOOOOOOOOOO, funcionou perfeitamente, valeu deuso!
  2. @PedroSTT Bro, deu esse erro:
  3. JcA postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    Esse sistema de reset, tem como fazer para voltarem para hp normal de cada vocação no level 8?
  4. Então, estou com uma ideia assim, ao matar o boss, desaparece um item que esta em x posição, e libera passagem, alguém ajuda? 8.60 tfs 0.4
  5. @luangop Foi mal, é a drogas, que maluquice! Bom, agora sim, é um problema real, quando estou em cima do sqm certo, e uso o comando, da essa mensagem, e não acontece nada, nem erros no distro: 15:18 Lugar inadequado para usar o comando.
  6. local pos1 = {x=932}, y=1039, z=7} local pos2 = {x=933, y=1041, z=7} local pos3 = {x=935, y=1043, z=7} local pos4 = {x=935, y=1045, z=7} local pos5 = {x=933, y=1047, z=7} local config1 = { -- config da pos 1 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2153, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config2 = { -- config da pos 2 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2154, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config3 = { -- config da pos 3 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2155, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config4 = { -- config da pos 4 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2156, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config5 = { -- config da pos 5 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2158, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } function onSay(cid, words, param, channel) if getCreaturePosition(cid) ~= pos1 and getCreaturePosition(cid) ~= pos2 and getCreaturePosition(cid) ~= pos3 and getCreaturePosition(cid) ~= pos4 and getCreaturePosition(cid) ~= pos5 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Lugar inadequado para usar o comando.") return true end if getCreaturePosition(cid) == pos1 then local config = config1 elseif getCreaturePosition(cid) == pos2 then local config = config2 elseif getCreaturePosition(cid) == pos3 then local config = config3 elseif getCreaturePosition(cid) == pos4 then local config = config4 elseif getCreaturePosition(cid) == pos5 then local config = config5 end if getPlayerItemCount(cid, config.need) >= config.price then if getPlayerStorageValue(cid, config.alavancaStr) <= os.time() then doPlayerRemoveItem(cid, config.need, config.price) doPlayerAddItem(cid, config.item, config.count) setPlayerStorageValue(cid, config.alavancaStr, config.time + os.time()) doCreatureSay(cid, "Você comprou ".. config.count .." ".. getItemNameById(config.item) ..".", TALKTYPE_MONSTER) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Espere ".. getPlayerStorageValue(cid, config.alavancaStr) - os.time() .." segundos para comprar novamente.") return true end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem ".. config.price .." ".. getItemNameById(config.need) ..".") return true end end <talkaction words="!buy" event="script" value="buy.lua" />
  7. Me desculpe, erro meu memso na hora de por as posições. Mas e esse?
  8. JcA postou uma resposta no tópico em Suporte Tibia OTServer
    http://www.tibiaking.com/forum/forums/topic/35473-anunciar-morte-fulano-acabou-de-morrer-para-ciclano/
  9. Jhow, acho que faltou esses fechamento, so não sei onde poe, segue o anexo local pos1 = {x=932], y=1039, z=7} local pos2 = {x=933, y=1041, z=7} local pos3 = {x=935, y=1043, z=7} local pos4 = {x=935, y=1045, z=7} local pos5 = {x=933, y=1047, z=7} local config1 = { -- config da pos 1 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2153, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config2 = { -- config da pos 2 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2154, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config3 = { -- config da pos 3 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2155, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config4 = { -- config da pos 4 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2156, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } local config5 = { -- config da pos 5 price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 2158, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente } function onSay(cid, words, param, channel) if getCreaturePosition(cid) ~= pos1 and getCreaturePosition(cid) ~= pos2 and getCreaturePosition(cid) ~= pos3 and getCreaturePosition(cid) ~= pos4 and getCreaturePosition(cid) ~= pos5 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Lugar inadequado para usar o comando.") return true end if getCreaturePosition(cid) == pos1 then local config = config1 elseif getCreaturePosition(cid) == pos2 then local config = config2 elseif getCreaturePosition(cid) == pos3 then local config = config3 elseif getCreaturePosition(cid) == pos4 then local config = config4 elseif getCreaturePosition(cid) == pos5 then local config = config5 end if getPlayerItemCount(cid, config.need) >= config.price then if getPlayerStorageValue(cid, config.alavancaStr) <= os.time() then doPlayerRemoveItem(cid, config.need, config.price) doPlayerAddItem(cid, config.item, config.count) setPlayerStorageValue(cid, config.alavancaStr, config.time + os.time()) doCreatureSay(cid, "Você comprou ".. config.count .." ".. getItemNameById(config.item) ..".", TALKTYPE_MONSTER) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Espere ".. getPlayerStorageValue(cid, config.alavancaStr) - os.time() .." segundos para comprar novamente.") return true end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem ".. config.price .." ".. getItemNameById(config.need) ..".") return true end end
  10. Não consegui encontrar no fórum, então eu gostaria de um script se possível, dessa forma: Um movements, ou action, não sei bem qual é o correto, mas um script que eu possa por uma actionid em um BASIN, e ao jogar X item em cima, aparece um monstro especifico, se o player jogar qualquer outro item diferente do permitido, o item pega fogo, sei la, some. (obs: quando jogar o x item correto, ele some também e aparece o monstro na posição X, ahhh e adiciona uma storage) tfs 0.4 8.60
  11. tfs 0.4 8.60 É possivel uma talk de !buy se o player estiver parado em determinado sqm? Por exemplo, no server tem 5 sqm espalhado, permitir o uso da talk !buy apenas se tiver em cima destes sqm e em cada sqm, vai vir um item diferente com um preço diferente, vou tentar explicar em forma de variável (KKKKKKKKK SQN, ENTENDO PORRA NENHUMA, mas vao entender) !buy ham local config = { price = 30, -- Quantidade de items necessário para comprar. count = 1, -- Quantidade que irá vender. item = 666, -- ID do item que vai vender. need = 9971, -- ID do item necessário. alavancaStr = 3332, -- Storage para salvar e checar o tempo (tempo para o usar o comando de novo) time = 5 -- Tempo de espera para usar novamente pos = {x=500, y=550, z=7} }
  12. Então, eu tentei só mudar as storages abaixo, porém a contagem do tempo etc... ta todo errada, alguém pode fazer esse favor? Quando uso o item aparece a contagem errada: Se esta 1 dia, esta aparecendo que adicionou 15 minutos, e que tem 10 dias de vip, se não tinha nenhum antes, wtf? 20:29 Were added 15 VIP minutes on your character. 20:29 You have 10 VIP days/minutes remaining. Eu uso o sistema mock 100% function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 1 -- coloque os dias que serão a VIP! local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 55555) local timenow = os.time() if getPlayerStorageValue(cid, 55555) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Were added ".. days .." VIP days on your character.") setPlayerStorageValue(cid, 55555, time) local quantity = math.floor((getPlayerStorageValue(cid, 55555) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have ".. quantity .." VIP days remaining.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end
  13. JcA postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    Aqui deu erro, o que eu faço? Error while executing query: Cannot add a NOT NULL column with default value NULL
  14. Quando vou criar um char, ao escolher a vocação e dar yes, o server crash e fecha, alguém tem uma sugestão do que pode ser?
  15. JcA postou uma resposta no tópico em Suporte Tibia OTServer
    Não deu certo, acho que ja era mesmo
  16. JcA postou uma resposta no tópico em Suporte Tibia OTServer
    Estava mexendo no map ontem, quando caiu a energia em casa e voltou, quando liguei o computador me deparei que o server não abria mais, e o mapa também não, fica só carregando e trava no 77% no rme, e da esse erro no distro. Acho eu que ja era, não deve ter solução pra isso. Segue o anexo.
  17. Bro, você podia fazer um para 6 storage e teleportar para um local se tiver as 6?
  18. JcA postou uma resposta no tópico em Suporte Tibia OTServer
    Fala galera, se puder dar uma ajuda, quando uso o comando /jail, o jogador vai pra prisão, porém em seguida volta pro templo, qual e o erro do script? Se o time esta 999999999 -- Sistema adaptado por FreaksOT -- -- Tempo em segundos que alguém ficará na prisão -- default_jail = 99999999999999999999999 -- O group ID da permissão para alguém manda o outro para a cadeia. -- grouprequired = 2 -- StorageValue that the player gets -- jailedstoragevalue_time = 1338 jailedstoragevalue_bool = 1339 -- POSICAO DA CADEIA: -- jailpos = { x = 1131, y = 1236, z = 7 } -- POSICAO DO LUGAR QUE ELE VOLTARÁ (RECOMENDADO TEMPO): -- unjailpos = { x = 1023, y = 1027, z = 7 } -- auto kicker, dont edit jail_list = {} jail_list_work = 0 function checkJailList(param) addEvent(checkJailList, 1000, {}) for targetID,player in ipairs(jail_list) do if isPlayer(player) == TRUE then if getPlayerStorageValue(player, jailedstoragevalue_time) < os.time() then doTeleportThing(player, unjailpos, TRUE) setPlayerStorageValue(player, jailedstoragevalue_time, 0) setPlayerStorageValue(player, jailedstoragevalue_bool, 0) table.remove(jail_list,targetID) doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'Você foi chutado da prisão! Até logo') end else table.remove(jail_list,targetID) end end end function onSay(cid, words, param) if jail_list_work == 0 then jail_list_work = addEvent(checkJailList, 1000, {}) end if param == '' and (words == '!unjail' or words == '/unjail') then if getPlayerStorageValue(cid, jailedstoragevalue_time) > os.time() then doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você está preso até ' .. os.date("%H:%M:%S", getPlayerStorageValue(cid, jailedstoragevalue_time)) .. ' (Agora são: ' .. os.date("%H:%M:%S", os.time()) .. ').') else if getPlayerStorageValue(cid, jailedstoragevalue_bool) == 1 then table.insert(jail_list,cid) doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você vai ser expulso da prisão em um segundo.') else doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você não está preso.') end end return TRUE end local jail_time = -1 for word in string.gmatch(tostring(param), "(%w+)") do if tostring(tonumber(word)) == word then jail_time = tonumber(word) end end local isplayer = getPlayerByName(param) if isPlayer(isplayer) ~= TRUE then isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+1)) if isPlayer(isplayer) ~= TRUE then isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+2)) if isPlayer(isplayer) ~= TRUE then isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+3)) end end end if jail_time ~= -1 then jail_time = jail_time * 60 else jail_time = default_jail end if words == '!jail' or words == '/jail' then if getPlayerGroupId ( cid ) >= grouprequired then if isPlayer(isplayer) == TRUE then doTeleportThing(isplayer, jailpos, TRUE) setPlayerStorageValue(isplayer, jailedstoragevalue_time, os.time()+jail_time) setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 1) table.insert(jail_list,isplayer) doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Você está preso '.. getCreatureName(isplayer) ..' até ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (Agora são: ' .. os.date("%H:%M:%S", os.time()) .. ').') doPlayerSendTextMessage ( isplayer, MESSAGE_INFO_DESCR, 'Você foi preso por '.. getCreatureName(cid) ..' até ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (Agora sao: ' .. os.date("%H:%M:%S", os.time()) .. ').') return TRUE else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player com este nome não existe ou está offline.") return FALSE end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode libertar outros jogadores.") return FALSE end elseif words == '!unjail' or words == '/unjail' then if getPlayerGroupId ( cid ) >= grouprequired then if isPlayer(isplayer) == TRUE then doTeleportThing(isplayer, unjailpos, TRUE) setPlayerStorageValue(isplayer, jailedstoragevalue_time, 0) setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 0) table.remove(jail_list,targetID) doPlayerSendTextMessage(isplayer,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(cid) .. 'vou deixar você sair da prisão!') doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'Voce está solto '.. getCreatureName(isplayer) ..'.') else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player com este nome não existe ou está offline.") return FALSE end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não pode libertar outros jogadores.") return FALSE end end return FALSE end
  19. Ainda não funcionou, o player ainda continua acessando
  20. Então, o problema é simples, quando usa a action em um item especifico para adcionar os dias, ocorre tudo certo, o problema é que, quando acaba, a merda da storage não sai do char, e ele continua acessando a vip, e muito menos leva teleporting pro temple. Sera que precisa de algum creaturescript? function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 1 -- coloque os dias que serão a VIP! local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 10102) local timenow = os.time() if getPlayerStorageValue(cid, 10102) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Were added ".. days .." VIP days on your character.") setPlayerStorageValue(cid, 10102, time) local quantity = math.floor((getPlayerStorageValue(cid, 10102) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have ".. quantity .." VIP days remaining.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end movements.xml para impossibilitar a entrada do mesmo na vip. local config = { vipStorage = 10102, -- storage VIP kick = { kickPosition = true, -- se for "true" então vai jogar para a posição que o jogador estava, se for false, irá jogar para a posição a baixo. kickPos = {x=1023, y=1018, z=7}, }, newPosition = {x=632, y=737, z=7} -- posição que jogara o jogador caso ele for vip } function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if (getPlayerStorageValue(cid, config.vipStorage) - os.time()) <= 0 then if config.kick.kickPosition then doTeleportThing(cid, fromPosition) else doTeleportThing(cid, config.kick.kickPos) end doPlayerSendTextMessage(cid, 19, "Voce nao possui acesso vip, faça a quest!.") return true end doPlayerSendTextMessage(cid, 19, "Bem Vindo a ViP 1.") doSendMagicEffect(getPlayerPosition(cid), 2) doTeleportThing(cid, config.newPosition) doSendMagicEffect(config.newPosition, 10) return true end
  21. Obrigado meu querido! Funcionaram perfeitamente!

Informação Importante

Confirmação de Termo