Ir para conteúdo

Linguagens de Programação

Relacionado a programação de linguagens e scripts em geral. O conteúdo presente nesta seção não necessita de ser necessariamente voltado a Open Tibia, mas se encontra em tal para servir como material auxiliar.

 


Subfóruns

  1. 16
    topics
    16
    posts
  2. Programação Web

    Área destinada às linguagens de programação Javascript, PHP e ASP e às linguagens de marcação HTML e CSS.

    161
    topics
    161
    posts
  3. C e C++

    Tudo relacionado a programação das linguagens C e C++.

    55
    topics
    55
    posts
  4. Java

    Tudo relacionado a linguagem de programação Java.

    49
    topics
    49
    posts
  5. C# e Visual Basic

    Conteúdo relacionado às linguagens de programação C# e Visual Basic, desenvolvidas pela Microsoft.

    80
    topics
    80
    posts
  6. Pascal (Delphi)

    Tudo relacionado a programação da linguagem Pascal, usada no Delphi.

    35
    topics
    35
    posts
  7. Outras Linguagens

    Fórum destinado para outras linguagens.

    40
    topics
    40
    posts

306 tópicos neste fórum

    • 13 respostas
    • 2.3k visualizações
    • 9 respostas
    • 3.5k visualizações
    • 4 reações

    • 23 respostas
    • 5.9k visualizações
  1. Opa eae rapaziada

    • 0 respostas
    • 305 visualizações
    • 8 respostas
    • 3.3k visualizações
    • 7 respostas
    • 1.9k visualizações
  2. [C++] TV SYSTEM 1 2

    • 15 respostas
    • 2k visualizações
    • 11 respostas
    • 1.9k visualizações
    • 3 respostas
    • 1.7k visualizações
  3. Atribute isPokeball 1 2

    • 20 respostas
    • 2.7k visualizações
    • 1 reação

    • 1 resposta
    • 483 visualizações
    • 1 reação

    • 4 respostas
    • 881 visualizações
  4. [Pedido] NPC de teleport

    • 0 respostas
    • 264 visualizações
    • 1 reação

    • 7 respostas
    • 1.2k visualizações
    • 3 reações

    • 0 respostas
    • 545 visualizações
  5. Salvar Mapa In Game

    • 11 respostas
    • 3.4k visualizações
    • 24 respostas
    • 6.5k visualizações
    • 2 reações

    • 2 respostas
    • 896 visualizações
    • 11 reações

    • 33 respostas
    • 4.5k visualizações
    • 2 reações

    • 1 resposta
    • 534 visualizações
  6. poke wish - ivs,

    • 1 resposta
    • 957 visualizações
    • 2 reações

    • 112 respostas
    • 16.4k visualizações
    • 1 resposta
    • 362 visualizações
    • 1 resposta
    • 331 visualizações
    • 9 reações

    • 5 respostas
    • 1.3k visualizações
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
  • Mais Reputados

    Ninguém foi reputado ainda esta semana.

  • Tópicos

  • Últimos Posts

    • Olá amigos!! Estou com um problema ao criar minha página web. Estou tentando instalar o OT 8.60 no meu computador. Uso o TFS 0.3.6 e o UniServer Zero XV com myaac-1.2. E aparece este erro que não entendo, é o seguinte!! Já vi tudo, revisei tudo e ainda recebo este erro no console. Configurei assim. Já tentei mudar para Plain ou PLAIN - sha1 e nada funciona. Também verifiquei a senha inserida no phpmyadmind e está tudo correto, mas ainda assim não funciona. Só funciona quando a insiro no "sqlite". Configurei assim:   sqlType = "mysql"   sqlHost = "127.0.0.1"   sqlPort = 3306   sqlUser = "root"   sqlPass = "mypassword which is obviously the same as phpmyadmind""   sqlDatabase = "name the database"   sqlFile = "schemas/forgotten.s3db"   sqlKeepAlive = 0   mysqlReadTimeout = 10   mysqlWriteTimeout = 10   encryptionType = "plain"  
    • 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 !! 
×
×
  • Criar Novo...