Tópicos Fechados
Explore Perguntas
Não há nenhuma pergunta popular de mostrar agora
Não há novas perguntas para mostrar agora
0 questões neste fórum
Não há nenhuma pergunta neste fórum ainda
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Mais Reputados
-
Tópicos
-
Últimos Posts
-
Bom dia, alguem consegue me ajudar ? Como trocar esse script que da acesso por dia/dias para que seja feito por hora/horas ? 8.60 / 0.4 -- Script Feito Por Leandro Machado function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 1 -- coloque quantos dias o player terá acesso a essa área local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 19234) local timenow = os.time() if getPlayerStorageValue(cid, 19234) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ativou ".. days .." dias de booster!") setPlayerStorageValue(cid, 19234, time) local quantity = math.floor((getPlayerStorageValue(cid, 19234) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de booster!") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end Desde ja agradeço caso alguem possa dar essa ajuda!!
-
Para adicionar um tutor robô que responde automaticamente no canal de ajuda (Help Channel) quando um jogador escreve algo e o ADM não está online, você precisa editar o script do creaturescripts ou criar um sistema que detecta mensagens no canal de help. Como o TFS 0.3.6 (Tibia 8.60) não possui um sistema interno de interceptação direta no Help Channel, você pode contornar isso com um sistema de creaturescript que detecta mensagens no canal de help (canal 9) e responde automaticamente caso o ADM não esteja online. ✅ Passo a passo: Criando um tutor robô para o canal de ajuda 1. Abra ou crie este arquivo: data/creaturescripts/scripts/help_bot.lua 2. Adicione este script: lua Copiar Editar local ADM_NAME = "ADM" -- Nome do personagem do administrador local HELP_CHANNEL_ID = 9 function onTalk(cid, type, channel, msg) -- Verifica se a mensagem é no Help Channel if channel == HELP_CHANNEL_ID then -- Verifica se o ADM está online local admPlayer = getPlayerByNameWildcard(ADM_NAME) if not isPlayer(admPlayer) then doPlayerSendChannelMessage(0, "Tutor Robo", "Para suporte, mande um ticket para o ADM no e-mail: po-ca@hotmail.com ou adicione ele no WhatsApp: +55 11 91230-8360.", TALKTYPE_CHANNEL_O, HELP_CHANNEL_ID) end end return true end 3. Adicione o creaturescript no creaturescripts.xml: Abra o arquivo data/creaturescripts/creaturescripts.xml e adicione: xml Copiar Editar <event type="channel" name="HelpBot" script="help_bot.lua"/> 4. Registre o evento no login.lua: Abra o arquivo data/creaturescripts/scripts/login.lua e adicione esta linha dentro da função onLogin: lua Copiar Editar registerCreatureEvent(cid, "HelpBot") ✅ Resultado Agora, sempre que um jogador mandar uma mensagem no Help Channel (canal 9), se o personagem chamado "ADM" não estiver online, o tutor robô automaticamente responderá com: "Para suporte, mande um ticket para o ADM no e-mail: po-ca@hotmail.com ou adicione ele no WhatsApp: +55 11 91230-8360." Se quiser que o nome do ADM seja outro, é só mudar a variável ADM_NAME = "ADM". Quer que ele só responda uma vez a cada X segundos por jogador, ou algo mais inteligente? Posso melhorar o script. Você disse: nao pego no tfs 0.3.6 O ChatGPT disse: Perfeito, obrigado pelo retorno! Como o TFS 0.3.6 (8.60) não possui suporte ao evento onTalk com type="channel" no creaturescripts, precisamos usar uma outra abordagem, baseada em talkactions ou em modificações no source (mais avançado). A melhor solução sem mexer no source é usar talkactions para detectar mensagens específicas e simular um tutor robô. ✅ 1. Habilitar o evento onTalk no server (creaturescript) 📄 Arquivo: luascript.cpp 🔍 Procure por a função: cpp Copiar Editar void LuaScriptInterface::registerFunctions() `` ➡️ Dentro dela, **adicione esta linha** (se ainda não existir): ```cpp lua_register(m_luaState, "registerCreatureEvent", LuaInterface::luaRegisterCreatureEvent); 📄 Arquivo: creatureevent.h Procure a enumeração CreatureEventType e adicione o novo tipo TALK: cpp Copiar Editar enum CreatureEventType { ... CREATURE_EVENT_CHANNEL, ... CREATURE_EVENT_TALK, // ✅ Adicione isso }; 📄 Arquivo: creatureevent.cpp Adicione o novo tipo de evento ao final do getType: cpp Copiar Editar CreatureEventType CreatureEvents::getType(const std::string& str) { ... else if(str == "talk") return CREATURE_EVENT_TALK; // ✅ novo ... } Na função configureEvent, adicione suporte ao onTalk: cpp Copiar Editar bool CreatureEvent::configureEvent(xmlNodePtr p) { ... if(m_type == CREATURE_EVENT_TALK) m_interface->reserveScriptEnv(); // reserva ambiente para o script ... } ✅ 2. Chamar o evento onTalk quando jogador fala no canal 📄 Arquivo: chat.cpp Encontre a função: cpp Copiar Editar bool Chat::talkToChannel(Player* player, MessageClasses type, const std::string& text, uint16_t channelId) Logo no início dessa função, adicione a chamada do evento: cpp Copiar Editar if (player) { CreatureEventList talkEvents = player->getCreatureEvents(CREATURE_EVENT_TALK); for(CreatureEventList::iterator it = talkEvents.begin(); it != talkEvents.end(); ++it) (*it)->executeTalk(player, type, text, channelId); } ✅ 3. Criar a função executeTalk no CreatureEvent 📄 Arquivo: creatureevent.cpp Adicione esta função: cpp Copiar Editar bool CreatureEvent::executeTalk(Creature* creature, MessageClasses type, const std::string& text, uint16_t channel) { // Função só ativa se for script registrado if(m_type != CREATURE_EVENT_TALK) return false; // Prepara o script if (!m_interface->reserveScriptEnv()) { std::cout << "[Error - CreatureEvent::executeTalk] Call stack overflow." << std::endl; return false; } ScriptEnviroment* env = m_interface->getScriptEnv(); env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); // Empilha argumentos lua_State* L = m_interface->getLuaState(); m_interface->pushFunction(m_scriptId); LuaScriptInterface::pushThing(L, creature, false); lua_pushnumber(L, type); lua_pushstring(L, text.c_str()); lua_pushnumber(L, channel); return m_interface->callFunction(4); } 📄 Arquivo: creatureevent.h Adicione no final da classe CreatureEvent: cpp Copiar Editar bool executeTalk(Creature* creature, MessageClasses type, const std::string& text, uint16_t channel);
-
Entre os jogos mais populares hoje em dia está o jogo do aviador, que é algo como um clássico imortal e aqui podem vê-lo com mais detalhe, recomendo vivamente por isso, não vos vai deixar ficar mal baixar 888bets aviator, é sem dúvida uma boa opção para aderir ao jogo do aviador aqui em Moçambique!
-
can you upload the link again please !!
-
Esta não é uma publicação ... apenas um anuncio se escrever para ele no dc ele oferecerá para vender por 800 ou 2000 reais
-