
vitinhoo96
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
vitinhoo96 deu reputação a Vodkart em Alguem ajudar a adicionar comando nesse MOD<talkaction words="/task;!task" event="buffer"><![CDATA[ domodlib('task_func') param,task,daily = param:lower(), getTaskMission(cid), getDailyTaskMission(cid) if isInArray({"counter","contador"},param) then setPlayerStorageValue(cid, task_sys_storages[8], getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"[Task System] O contador foi "..(getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and "ativado" or "desativado")..".") return true elseif isInArray({"daily","diaria"},param) then if not daily_task[daily] or getPlayerStorageValue(cid, task_sys_storages[7]) <= 0 then doPlayerSendCancel(cid, "Desculpe, Mas você não está em nenhuma Daily Task.") return true elseif getPlayerStorageValue(cid, task_sys_storages[6]) - os.time() <= 0 and getPlayerStorageValue(cid, task_sys_storages[5]) < daily_task[daily].count then doPlayerSendCancel(cid,"Desculpe, Mas Você não terminou a Daily Task a tempo! Por favor volte ao npc e comece uma nova Daily Task!") return true end return doShowTextDialog(cid, 8983, "[->] CURRENT DAILY TASK INFO [<-]\n\nNome: "..daily_task[daily].name.."\nProgresso: ["..(getPlayerStorageValue(cid, task_sys_storages[5]) < 0 and 0 or getPlayerStorageValue(cid, task_sys_storages[5])).."/"..daily_task[daily].count.."]\nPrazo para entrega: "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,task_sys_storages[6])).."\nMonstros para caçar: "..getMonsterFromList(daily_task[daily].monsters_list).."\n\n[->] CURRENT TASK REWARDS [<-]\n\nMoney: "..(daily_task[daily].money > 0 and daily_task[daily].money or 0).."\nExperiencia: "..(daily_task[daily].exp > 0 and daily_task[daily].exp or 0).."\nTask Points: "..daily_task[daily].points.."\nItems: "..(#daily_task[daily].reward > 0 and getItemsFromList(daily_task[daily].reward) or "Nenhum item de recompensa")..".") end if not task_sys[task] or getPlayerStorageValue(cid, task_sys[task].start) <= 0 then doPlayerSendCancel(cid, "você não está em nenhuma task.") return true end return doShowTextDialog(cid, 8983, "-> CURRENT TASK ["..getTaskMission(cid).."/"..#task_sys.."] <-\n\nTask Name: "..task_sys[task].name.."\nTask Level: "..task_sys[task].level.."\nTask Progress: ["..(getPlayerStorageValue(cid, task_sys_storages[3]) < 0 and 0 or getPlayerStorageValue(cid, task_sys_storages[3])).."/"..task_sys[task].count.."]\nMonster To Hunt: "..getMonsterFromList(task_sys[task].monsters_list)..".\nItens Para Entrega: "..(#task_sys[task].items > 0 and getItemsFromList(task_sys[task].items) or "Nenhum")..".\n\n[->] CURRENT TASK REWARDS [<-]\n\nReward Money: "..(task_sys[task].money > 0 and task_sys[task].money or 0).."\nReward Experiencia: "..(task_sys[task].exp > 0 and task_sys[task].exp or 0).."\nReward Points: "..task_sys[task].points.."\nRedward Items: "..(#task_sys[task].reward > 0 and getItemsFromList(task_sys[task].reward) or "Nenhum item de recompensa")..".") ]]></talkaction>
por
<talkaction words="/task;!task" event="buffer"><![CDATA[ domodlib('task_func') param,task,daily = param:lower(), getTaskMission(cid), getDailyTaskMission(cid) if isInArray({"counter","contador"},param) then setPlayerStorageValue(cid, task_sys_storages[8], getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and 1 or 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"[Task System] O contador foi "..(getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and "ativado" or "desativado")..".") return true elseif isInArray({"pontos","points","ponto","point"},param) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"[Task System] Voce tem ".. getTaskPoints(cid) .." Task Points.") return true elseif isInArray({"daily","diaria"},param) then if not daily_task[daily] or getPlayerStorageValue(cid, task_sys_storages[7]) <= 0 then doPlayerSendCancel(cid, "Desculpe, Mas você não está em nenhuma Daily Task.") return true elseif getPlayerStorageValue(cid, task_sys_storages[6]) - os.time() <= 0 and getPlayerStorageValue(cid, task_sys_storages[5]) < daily_task[daily].count then doPlayerSendCancel(cid,"Desculpe, Mas Você não terminou a Daily Task a tempo! Por favor volte ao npc e comece uma nova Daily Task!") return true end return doShowTextDialog(cid, 8983, "[->] CURRENT DAILY TASK INFO [<-]\n\nNome: "..daily_task[daily].name.."\nProgresso: ["..(getPlayerStorageValue(cid, task_sys_storages[5]) < 0 and 0 or getPlayerStorageValue(cid, task_sys_storages[5])).."/"..daily_task[daily].count.."]\nPrazo para entrega: "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,task_sys_storages[6])).."\nMonstros para caçar: "..getMonsterFromList(daily_task[daily].monsters_list).."\n\n[->] CURRENT TASK REWARDS [<-]\n\nMoney: "..(daily_task[daily].money > 0 and daily_task[daily].money or 0).."\nExperiencia: "..(daily_task[daily].exp > 0 and daily_task[daily].exp or 0).."\nTask Points: "..daily_task[daily].points.."\nItems: "..(#daily_task[daily].reward > 0 and getItemsFromList(daily_task[daily].reward) or "Nenhum item de recompensa")..".") end if not task_sys[task] or getPlayerStorageValue(cid, task_sys[task].start) <= 0 then doPlayerSendCancel(cid, "você não está em nenhuma task.") return true end return doShowTextDialog(cid, 8983, "-> CURRENT TASK ["..getTaskMission(cid).."/"..#task_sys.."] <-\n\nTask Name: "..task_sys[task].name.."\nTask Level: "..task_sys[task].level.."\nTask Progress: ["..(getPlayerStorageValue(cid, task_sys_storages[3]) < 0 and 0 or getPlayerStorageValue(cid, task_sys_storages[3])).."/"..task_sys[task].count.."]\nMonster To Hunt: "..getMonsterFromList(task_sys[task].monsters_list)..".\nItens Para Entrega: "..(#task_sys[task].items > 0 and getItemsFromList(task_sys[task].items) or "Nenhum")..".\n\n[->] CURRENT TASK REWARDS [<-]\n\nReward Money: "..(task_sys[task].money > 0 and task_sys[task].money or 0).."\nReward Experiencia: "..(task_sys[task].exp > 0 and task_sys[task].exp or 0).."\nReward Points: "..task_sys[task].points.."\nRedward Items: "..(#task_sys[task].reward > 0 and getItemsFromList(task_sys[task].reward) or "Nenhum item de recompensa")..".") ]]></talkaction>
só usa agora !task points
-
vitinhoo96 deu reputação a L3K0T em (Resolvido)Exausted em todas talkactionse isso la no final
doPlayerSetStorageValue(cid, config.storage, os.time() + config.exhaust) -
vitinhoo96 deu reputação a Toruk em Erro talkactions AutolootNão tem nada a ver com "AND", mas sim, uma função que está aberta e que deveria ser fechada na linha 60 (expected (to close 'function' at line 60) near 'elseif'). Provavelmente algum erro de digitação, porém n tem como ver aqui, pq n ta em spoiler.
-
vitinhoo96 deu reputação a El Capitchi em Erro talkactions AutolootOpa, pelo que estou vendo aqui alguém editou este script porém tem uma função que nunca vi no caso a função "AND" geralmente é usado "END".
Tente trocar todos os "AND" por "END".
-
vitinhoo96 deu reputação a Aksz em (Resolvido)Erro faltando coluna no PHPMyadminBom dia!
CREATE TABLE `account_storage` ( `account_id` int(11) NOT NULL default '0', `key` int(10) unsigned NOT NULL default '0', `value` varchar(255) NOT NULL default '0', UNIQUE KEY `account_id_2` (`account_id`,`key`), KEY `account_id` (`account_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -
vitinhoo96 deu reputação a FeeTads em Erro no cast ot 8.6verifica se existe essa função na sua source, essa é uma função do luascript.cpp
caso não exista, va em luascript.cpp
procure por:
doPlayerOpenChannel ou doCreatureChannelSay
e adicione abaixo isso:
//doPlayerOpenPrivateChannel(cid) lua_register(m_luaState, "doPlayerOpenPrivateChannel", LuaInterface::luaDoPlayerOpenPrivateChannel);
depois procure novamente por doPlayerOpenChannel ou doCreatureChannelSay
vai achar uma função +/- assim:
int32_t LuaInterface::luaDoPlayerOpenChannel(lua_State* L) { //doPlayerOpenChannel(cid, channelId) uint16_t channelId = popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getEnv(); if(env->getPlayerByUID(cid)) { lua_pushboolean(L, g_game.playerOpenChannel(cid, channelId)); return 1; } errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); return 1; }
ADICIONE ABAIXO DELA isso:
int32_t LuaInterface::luaDoPlayerOpenPrivateChannel(lua_State* L) { //doPlayerOpenPrivateChannel(cid) uint32_t cid = popNumber(L); ScriptEnviroment* env = getEnv(); if(env->getPlayerByUID(cid)) { lua_pushboolean(L, g_game.playerCreatePrivateChannel(cid)); return 1; } errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); return 1; }
depois abra o luascript.h
procure por luaDoPlayerOpenChannel
vai ser algo tipo:
static int32_t luaDoPlayerOpenChannel(lua_State* L);
e ADICIONE ABAIXO:
static int32_t luaDoPlayerOpenPrivateChannel(lua_State* L);
após isso, RECOMPILE SUA SOURCE, e REABRA SEU OT com o novo arquivo que foi compilado e teste.
-
vitinhoo96 deu reputação a FeeTads em Erro no cast ot 8.6tenta modificar o script da sua source pelo que mandei, e verifica se existe a acc de cast tudo certinho
-
vitinhoo96 deu reputação a Apache em Erro castle closeem lib/050-function.lua adicione
function getTomorrowsDate() local info = {} local format = {"%d", "%m", "%y"} for i = 1, 3 do table.insert(info, tonumber(os.date(format[i], os.time() + 24 * 60 * 60))) end return info end
-
vitinhoo96 deu reputação a Ramon Bernardo em Erro no items.xmlIsso é um problema de codificação para UTF-8, qual o editor que está usando? Recomendo visual studio code.
Preste atenção ao console, linha 2055 é o primeiro erro.
Tente com o arquivo abaixo
items.xml
-
vitinhoo96 deu reputação a So volto tarde em Erro castle actionstenta mudar teu action pra esse:
na verdade, em lua, é possível instanciar as funções através das locais, e os paramêtros só são passados quando vc chama a função instanciada, como por exemplo:
local rem = doRemoveCreature rem(cid)
-
vitinhoo96 deu reputação a FeeTads em Erro castle actionsah então é só vc por isso:
local gsto = getGlobalStorageValue(realCastle.dateStorages)
no lugar da gsto
-
vitinhoo96 deu reputação a FeeTads em Erro castle actionsé pq teu gsto, não ta recebendo nada mano
o certo era
getGlobalStorageValue(6565656), ai sim funcionaria normal, tem q ver daonde ele puxa essa global storage
isso foi só um exemplo ta, ele precisa receber algum numero que ta no seu script.
eu tenho aqui esse script 100% funcional, mas ele n tem o removeplayers, que no caso serve pra hunt do castelo, se vc não tiver hunt dentro do castelo posso te passar, ou se usar tbm, ai vc só precisar ajustar ele
-
vitinhoo96 deu reputação a So volto tarde em Erro castle actionsEste tópico foi movido para a seção de Suporte Otserv.
não tem nada relacionado ao castle na sua pasta lib?
-
vitinhoo96 deu reputação a quemtuacha em Alguem me ajuda com o Castcria uma conta com o nome de usuário 10, deixa ela sem nenhum personagem.
-
vitinhoo96 deu reputação a quemtuacha em Alguem me ajuda com o CastCria uma nova conta no seu ot, coloca o nome de usuario 10 e deixa ela sem nenhum personagem. O cast so vai funcionar depois que criar a conta.
-
vitinhoo96 deu reputação a quemtuacha em Alguem me ajuda com o Castdeixa qualquer coisa
-
vitinhoo96 deu reputação a WooX em Baiak-PvP [8.60] - Watch System + Cast LookBaiak-PvP
A algum tempo atrás este servidor esteve online e atingiu um grande numero de jogadores, foi projeto de um amigo meu, porem com o passar do tempo ele decidiu seguir adiante com outras coisas e abandonou este projeto. Eu nunca cheguei a olhar a fundo o conteúdo deste servidor, mas pelo pouco que vi me parece estar muito bem feito, e alem disto, o servidor conta com alguns sistemas que não eram públicos até o momento em que foi postado, então eu garanto que valê a pena dar uma olhada.
Por que o servidor está sendo postado?
No tempo em que ainda estava em desenvolvimento e até mesmo quando já estava online, ele investiu pesado no servidor, com sistemas, fixes e segundo ele até mesmo algumas otimizações. Quando ele decidiu abandonar o projeto, por um tempo ele tentou vender o servidor, mas nenhuma das ofertas que ele recebeu chegava perto do que ele havia investido no mesmo, frustado com isso ele decidiu postar gratuitamente pra comunidade. Mas ele acabou postando em grupos de Facebook e não nos forum de Open Tibia, alguns dias depois da postagem ela foi apagada e poucos tiveram a oportunidade de baixar os arquivos, devido a isto, recentemente alguns oportunistas vem tentando vender este conteúdo que a um bom tempo foi liberado gratuitamente.
Como bom destruidor de sonhos de trambiqueiros, quando eu vi isso acontecendo eu decidi entrar em contato com o dono do projeto, e perguntar se eu podia postar o conteúdo aqui, sem surpresa alguma ele permitiu a postagem e aqui estou. É importante lembrar que todo este conteúdo foi postado pelo próprio dono do servidor gratuitamente.
Informações sobre o servidor
Como mencionei anteriormente eu não cheguei a analisar o conteúdo do servidor a fundo, então vou citar apenas algumas das features e sistemas que contem.
Watch system: é um sistema que permite o jogador a assistir casts sem ter que deslogar o personagem, há poucos servidores online com este sistema mas ainda assim pode ser familiar pra alguns. Cast system: alem do cast com setas para realizar troca de um cast para outro de forma dinâmica, este servidor exibe informações extras no cast, como tempo de stream, vocação na lista de casts e também permite o espectador a utilizar a função de look além de adicionar um bônus de experiencia aos jogadores com cast aberto sem senha. Anti entrosa: a maioria já deve ser familiar com este sistema, o diferencial neste servidor é que possui limitador de level que reduz o level do player ao level definido incluindo status como life, mana e speed, alem disso também é possivel limitar a quantidade de knights e paladins. Anti divulgação: o servidor também conta com sistema anti-divulgação que faz quem está divulgando acreditar que suas mensagens estão chegando aos jogadores quando na verdade não estão. Party share: diferente do sistema comum que divide por igual a experiência entre dois ou mais jogadores, este sistema adiciona um bônus aos jogadores dependendo da quantidade de vocações diferentes na mesma party. Exhaust: a source do servidor possui alterações para impedir que algumas ações causem efeito em outras, tornando assim possivel que seja executado vários tipos de ações simultaneamente. Boosted creature: todo dia uma criatura é selecionada de forma randômica para dar mais XP e Loot.
Enfim... este são apenas alguns dos sistemas e features que me recordo que o servidor possui, mas tenho certeza que além disso há muito mais.
Algumas imagens:
Aviso + Créditos
Diferente do Classic-Yurots que eu trabalhei por um tempo no servidor, com este eu não estou familiarizado e não pretendo dar suporte a eventuais duvidas e problemas, só estou postando pra evitar que paguem por algo que pode ser obtido de graça então nem adianta vir me mandar mensagem privada pedindo ajuda que vai ser ignorado.
O servidor vai acompanhado da source e site (que contém sistema de pagamento com entrega automática de pontos para serviços como PicPay e Mercado Pago).
Créditos
Nenhum dos sistemas contidos no servidor é de minha autoria, tudo foi adquirido pelo dono e idealizador do projeto
Links para Download
Servidor
Download - Scan
Source
Download - Scan
Site
-
vitinhoo96 deu reputação a matsantos em Erro globalevents/scripts/eventsEu respondi la na outro post
-
vitinhoo96 deu reputação a matsantos em (Resolvido)Erro no site gesior loterytá dando erro no script do dtt (Defend the tower), pode remover o evento do server se quiser, só remover a linha em globalevents.xml.
mas se pretende usar, o script ta tentando criar um item que não existe, ai tem q dar uma editadinha
-
vitinhoo96 deu reputação a matsantos em (Resolvido)Erro no site gesior loteryExecuta na database
CREATE TABLE `lottery` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `item` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -
vitinhoo96 deu reputação a Belmont em Executável compatível com Alfa-Baiak@vitinhoo96 Baixa as dll e o executável do Classic Yourst