Tudo que Emersonssss postou
- Dragon Ball Evolution + Source (Linux Ubuntu 12.04 e Windows)
-
[MultipleExp System]
Não pois as funções estão diferente, foram reformuladas, porem posso passar pra 1.2 mais da um trampin
- [8.60] The Forgotten Server 1.2 - SUPORTE PARA 8.6
-
[MultipleExp System]
Simples quando vc loga vai aparece a msg.... se não aparece é porq bugo
-
Check Turn and Position Target
ninguem ?
-
Check Turn and Position Target
Eae Galerinha estou com uma problema... preciso de uma função para usar em spells. Resumindo preciso que a função verifique o turn do CID e compare com a posição do TARGET e se o CID estiver olhando para a posição do TARGET returne TRUE ou FALSE CID > Target return true < CID Target return false
- Scripter King
-
[OTC] Form com ListBox
Boa Noite estou estudando um pouco a programação do OTC e gostaria de saber como cria um form com um listbox e como adicionar itens nesse listbox @ Snowsz Ajuda ae plx !!
-
[C++] Block Fast Anti-Push
é a mesma coisa que o push de perto Amigo pela minha experiencia acredito que só daria pra blokiar isso usando o "packetsPerSecond" mas somente algumas source tem essa opção
-
Removendo Account Salt
Praq server esse salt mesmo ?
-
[C++] Level Monster
Compilação em linux essa parte da bug : monster->name = monster->getName() + " [" + itoa(level, buffer, 10) + "]"; itoa(level, buffer, 10)
-
[C++] Attack Speed
Qualquer uma
-
[TFS 0.3.6] Console Error/Dúvidas
http://www.tibiaking.com/forum/topic/52779-c-attack-speed/
-
[C++] Attack Speed
Salve Galera, olhando em minhas libs achei um script muito bom !! Em alguns servidores derivados o Skill Fist Fighting influencia no Attack Speed do Player, Então .... Segue a Formula na source que faz essa magica : Em Player.cpp Procure : uint32_t Player::getAttackSpeed() const Mude Atualize para esse função : uint32_t Player::getAttackSpeed() const { int32_t SpeedAttack; SpeedAttack = vocation->getAttackSpeed() - (getSkill(SKILL_FIST, SKILL_LEVEL) * 10); if (SpeedAttack < 500) { return 500; } else { return (uint32_t) SpeedAttack; } } Explicando : Ele irá verifica o Attack Speed padrão no Vocations.xml e irá verifica o Skill Fist do Player e retornará a velocidade, caso a velocidade retorne menor que 500 ele sempre limitará a 500ms para que não haja erros. Simples e Facil ! Creditos ? Emerson Henrique
-
[Duvida] doUseItem(cid, item)
Alguem sabe alguma maneira ?
-
[Duvida] doUseItem(cid, item)
Galera instalei essa funcao e nao estou conseguindo usala Quero que quando o player usa uma talkaction o player use uma sudden death rune
-
[C++] function onLoginCharacter(cid, ERROR_TEXT)
Yeah
-
[C++] function onLoginCharacter(cid, ERROR_TEXT)
Salve Galera, primeiramente eu tentei postar o script na área certa porem o Button de "Criar Novo Tópico" está desativado, então vou postar aqui mesmo e depois um moderador move. Se colocarem aquele aviso tosco de "Presta atenção da proxima vez" não posto mais nada relacionado a Source. Vamos ao que interessa, olhando pela interneti achei um codigo muito interessante. "onLoginCharacter" porém no topico o código estava incompleto e eu tive que termina-lo. Não sei se posso Postar mais como eu modifiquei tenho diretos e como o proprio nome diz Open Source, não é justo eu guarda esse maravilhoso script só pra mim. Estou estudando C++ e adoro fazer modificações direto da Source e sem mais .... Vamos a protocolgame.cpp e localize isto: player->setID(); if(!IOLoginData::getInstance()->loadPlayer(player, name, true)) { disconnectClient(0x14, "Your character could not be loaded."); return false; } Embaixo coloque: std::string text = g_creatureEvents->loginCharacter(player); std::string str ("NO_ERROR"); std::size_t found = text.find(str); if (found==std::string::npos) { disconnectClient(0x14, text.c_str()); return false; } Depois vá creatureevents.cpp e procure: void CreatureEvent::copyEvent(CreatureEvent* creatureEvent) Abaixo dessa Function Adicione : std::string CreatureEvents::loginCharacter(Player* player) { bool result = true; lua_State* L = m_interface.getState(); std::string text; std::cout << text << std::endl; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if((*it)->getEventType() == CREATURE_EVENT_LOGINCHARACTER && !(*it)->executeLoginCharacter(player)) result = false; } text = m_interface.getGlobalString(L, "ERROR_TEXT"); if (result) { text = "NO_ERROR"; } return text; } Depois procure: uint32_t CreatureEvent::executeKill Abaixo dessa Function Adicione : uint32_t CreatureEvent::executeLoginCharacter(Player* player) { //onLoginCharacter(cid) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(player) << std::endl; scriptstream << "ERROR_TEXT = " << "LOGIN BLOCKED" << std::endl; scriptstream << m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); lua_pushstring(L, "LOGIN BLOCKED"); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeTextEdit] Call stack overflow." << std::endl; return 0; } } Procure: else if(type == "kill") _type = CREATURE_EVENT_KILL; Adicione Abaixo: else if(type == "logincharacter") _type = CREATURE_EVENT_LOGINCHARACTER; Procure: case CREATURE_EVENT_KILL: return "onKill"; Adicione Abaixo: case CREATURE_EVENT_LOGINCHARACTER: return "onLoginCharacter"; Procure: case CREATURE_EVENT_KILL: return "cid, target, damage, flags, war"; Adicione Abaixo: case CREATURE_EVENT_LOGINCHARACTER: return "cid"; Vá em creatureevents.h e procure: CREATURE_EVENT_LOGIN, Adicione Abaixo: CREATURE_EVENT_LOGINCHARACTER, Procure: bool playerLogin(Player* player); Embaixo coloque: std::string loginCharacter(Player* player); Procure: uint32_t executeCombat( Embaixo coloque: uint32_t executeLoginCharacter(Player* player); Prontinho o Sistema ta Instalado. Um Exemplo de como usar é um Anti-MC ERROR_TEXT = "MULTI MC DETECTED" function onLoginCharacter(cid, ERROR_TEXT) local tid = getPlayersOnline(cid) for i=1, #tid do if getPlayerIp(cid) == getPlayerIp(tid[i]) then return false end end return true end XML : <event type="logincharacter" name="LoginCharacter" event="script" value="LoginCharacter.lua"/> Login.lua registerCreatureEvent(cid, "LoginCharacter") Prontinho bom profeito e Boa Noite <3 Creditos ? Caotic / Emerson Henrique
-
[PESQUISA] Como se prevenir das disputas no PagSeguro?
Muito Simples, todo Sistema Pagseguro Automatico guarda um post do pagseguro de pontos entregue... Tira print da Database mostrando os dados informado do Post e cola na disputa: (Print) Pontos Entregue Automaticamente via POST, usuário malicioso tentando bular o sistema. FIM é Fatal !!!!
-
[C++] Block Fast Anti-Push
Eae Galera faz tempo que não posto nada...Tentei postar na área certa mais o button ta desabilitado, então segue aqui mesmo, mover para area de programaçao depois... Simples esse code em c++ bloqueia movimentos muito rapidos (BOT), assim evita qualquer tipo de bug. Sem mais... em Game.cpp Procure por : if(!canThrowObjectTo(mapFromPos, mapToPos) && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere)) { player->sendCancelMessage(RET_CANNOTTHROW); return false; } Abaixo Adicione : f (player->hasCondition(CONDITION_EXHAUST, EXHAUST_MOVE_ITEMS)){ player->sendTextMessage(MSG_STATUS_SMALL, "You cannot move this object.\nAnti-Push prevention."); return false; } player->addExhaust(500, EXHAUST_MOVE_ITEMS); Tempo do exaust = player->addExhaust(500, EXHAUST_MOVE_ITEMS); Simples rapido e facil Créditos: Desconhecido / Edição & Aperfeiçoamento: Emerson Henrique
-
Descompilar Client Nto Ultimate
Skype : Cristofer Martins ( Ele sabe proteger o client )
- [RETRO] tibia 8.6 com as caracteristicas 7.x
- [RETRO] tibia 8.6 com as caracteristicas 7.x
-
[Talk][AntiBot]
function TeleportBot(cid) if getPlayerStorageValue(cid, 934563) ~= -1 then doPlayerPopupFYI(cid, "Seu personagem foi teleportado para Templo, por uso de Bot 100% AFK") doTeleportThing(cid, getPlayerMasterPos(cid)) setPlayerStorageValue(cid, 934563, -1) end return true end function CheckBot(cid) local numer = math.random(2, 999) if isPlayer(cid) then doPlayerPopupFYI(cid, "Seu personagem esta sendo verificado por Bot AFK!\n\nVocê tem 1 minutos para responder.\n\nPor favor digite\n\n!check info, "..numer.."") setPlayerStorageValue(cid, 934563, numer) addEvent(TeleportBot, 60000, cid) end return true end function onSay(cid, words, param, channel) local param = param:lower() local t = string.explode(param, ",") local Numero = tonumber(t[2]) if (t[1] == "add") then if getPlayerGroupId(cid) < 2 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem permissão para fazer Verificações!") else doBroadcastMessage(""..getCreatureName(cid).." envio uma verificação de BOT para o player "..getCreatureName(getPlayerByName(t[2]))..".") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi enviado uma verificação para o player : "..getCreatureName(getPlayerByName(t[2])).."") CheckBot(getPlayerByName(t[2])) return true end elseif (t[1] == "info") then if Numero == nil then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa digitar o valor.") end if getPlayerStorageValue(cid, 934563) == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem verificações pendentes.") end if getPlayerStorageValue(cid, 934563) ~= -1 and getPlayerStorageValue(cid, 934563) == Numero then setPlayerStorageValue(cid, 934563, -1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Obrigado por fazer a verificação, Bom jogo!!") end end return true end Sistema Bem simples: Oque acontece você ADM está la ocupado arrumando algum bug e vem um player e fala "ADM o cara ta de bot" ai vai vc la fica falando "tae?tae?tae?".....Seus problemas acabaram. O sistema manda um POPUP (Qual o elfbot não é capaz de reconhecer) e manda 1 sequencia de numero e da 1 minuto para o player falar os numeros, caso não? será teleportado para o templo padrão. <talkaction log="yes" words="!check" event="script" value="CheckBot.lua"/> Comando : !check add, NICK --Adc o player para Checar se esta de bot ! !check info, NUMERO --Comando que o player precisa informar para não ser teleportado. O sistema é simples e não faz verificação de pzLocked ele solicita apenas o valor. Sempre de esse comando a player que realmente confia fazer a verificação, para que não tenha Power Abuses. Somente Tutor + pode executa-lo. Desculpe ficar fora do TK, não tenho muito tempo para programar(pois sou iniciante).
-
[MultipleExp System]
falta oq ?