-
Total de itens
301 -
Registro em
-
Última visita
-
Dias Ganhos
3
Tudo que MatheusEnjoy postou
-
Então amigo, baixando outra versão do Gessior resolveu? Qual a versão que utiliza atualmente?
-
@Akr Faiz seguinte manda contato pelo Pm~. para eu te ajudar melhor. Poxa amigo vamos ajudar via tópico e não PM. Já pensou quantas pessoas podem ter a mesma duvida e não iriam encontrar a solução se responder via PM. @ tópico Então o problema foi resolvido? Posso mover para Duvidas sanadas?
-
Xdevelopers - Lista De Convocados & Primeiros Passos!
tópico respondeu ao Administrador de MatheusEnjoy em Noticias
Ao meu ver não seria tão interessante criar um site em plataforma ASP, devido ao uso de ISS ser mais complicado que o do Apache. Se formos para inovar deveríamos usar C# (sharp), mais ainda creio que com o bom e velho PHP podemos criar algo muito inovador. -Edit: Apesar de concordar que o D##### esteja em plena expansão creio que na balança o PHP ganha por utilizar o Apache. -
Xdevelopers - Lista De Convocados & Primeiros Passos!
tópico respondeu ao Administrador de MatheusEnjoy em Noticias
Tamo junto galera. Espero que posso evoluir muito projeto. Conto com a ajuda da comunidade. Att -
Anti-Palavrão E Anti-Spam
tópico respondeu ao MatheusEnjoy de MatheusEnjoy em Linguagens de Programação
Não estamos aqui para discutir se em Lua ou C++ fica melhor ou pior, sou estou expondo o modo que se faz em C++. -
Opção "manager" No Vocations.xml
tópico respondeu ao Oneshot de MatheusEnjoy em Linguagens de Programação
Muito bom código. Funciona em qual TFS? -
[Função Lua] Clipboardcopy(Text) - Funciona Com Coordenadas
tópico respondeu ao MatheusEnjoy de MatheusEnjoy em Linguagens de Programação
E um pouco complexo explicar o que a função faz. Igual esta e um "Ctrl+c / Ctrl +v" -
Lançamento De 2 Novos Servidores da Global OTS! Venha Ser TOP!
tópico respondeu ao dwhfms de MatheusEnjoy em Noticias
Até que enfim encontrei um servidor de war dahora. Vamos lá, menos de 1 dia para o lançamento. -
Galera apesar dele ali esta falando que vem com o mapa mais novo, já existe uma atualização do mapa. Caso queiram acessem http://www.xtibia.com/forum/topic/190486-eternal-kindoms/
-
Mais um tópico do OtLand para o XTibia. o topico original pode ser encontrado clicando aqui. Informações Técnicas tamanho: 1280 pixels (sem o problema das tabelas saindo do layout) cores: Azul Escuro menu: dinâmico em JavaScript (2 erros encontrados) Informações sobre o Menu: Feito de modo dinâmico em JavaScript. E igual o do Tibia.com Ele tem um problema com Opera e Safari, e não sabemos reparar. PSD: Contem todos os PSDs. Download: Speedyshare Scan: Virustotal Créditos: Vean - OtLand
-
Gostei dos mapas, parecem bastante jogaveis e não focados em show off.
-
[Encerrado] Dedicados E Semi Dedicados Gratis
tópico respondeu ao 200s52 de MatheusEnjoy em Tópicos Sem Resposta
Amigo, se quer abrir um OT tente formar uma equipe seria. Dedique alguns dias no desenvolvimento e divida um VPS com a equipe. See ya, -
Parabéns continue assim. Esta melhorando consideravelmente.
-
[Patrimônio XTibia] Sua última Foto - Mapping
tópico respondeu ao Feyzer de MatheusEnjoy em Mapping Show-Off
Estou gostando de ver os posts aqui. Parabéns Laug. -
O Que Você Acha Sobre "marketplace" No Xtibia.com!
tópico respondeu ao Administrador de MatheusEnjoy em Noticias
Minha ideia de convidar o membro e melhor, nós da comunidade iriamos julgar se o membro tem ou não os requisitos para poder vender seus serviços no market place. Creio que seja interessante pois iremos convidar apenas membros que se destacarem divulgando seus serviços gratuitamente. @Gustavo Se quiser referencia sobre o assunto de market place sugiro que leia: http://themeforest.n...ecome_an_author http://themeforest.n...y/payment_rates http://themeforest.n...filiate_program See ya -
O Que Você Acha Sobre "marketplace" No Xtibia.com!
tópico respondeu ao Administrador de MatheusEnjoy em Noticias
Gostei da sua ideia, um marketplace no qual somente pessoas convidadas poderiam vender seus serviços. -
Andar Com Wasd No Teclado
tópico respondeu ao MatheusEnjoy de MatheusEnjoy em Linguagens de Programação
Sim, mais isso e um addon aparte, não e integrado as Source do Server. -
Anti-Palavrão E Anti-Spam
tópico respondeu ao MatheusEnjoy de MatheusEnjoy em Linguagens de Programação
Sim, irei continuar a trazer conteúdo de qualidade para o Eks, minha meta diária são 3 novos post. -
Anti Divulgaçao De Otservers.
tópico respondeu ao MatheusGlad de MatheusEnjoy em Linguagens de Programação
Simplesmente LOOOOOOOL. O sistema funciona perfeitamente quer o player digite "servegame" ou servegame. lol 2 aqui em casa nao deu certo, so se eu falace com aspas que dava certo... Talvez seja o distro que esta usando. @Tópico Criei com base nesse script uma versão mais nova que bloqueia mais coisas. http://www.xtibia.com/forum/topic/190077-anti-palavrao-e-anti-spam/ -
Nome: Andar Com WASD No Teclado Versão: 1.0 Código: Anstice Forum Origem: OTLand.net Versão: Funcionando no Tibia Global e em OTs. Descrição: Cansado de poder andar somente pela setinha, então essa source foi feita para você. Agora e possível andar utilizando WASD e para ativar/desativar clique em #. Bom vamos ao código: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Anstice's WASD Program //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Will change WASD to up left down right movements and # for active/disable // Made primarily for tibia, but i suppose it can be used for other games as well //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Version 1.0 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Code Cleaned & Edited By Three Magic on Otland // Portuguese version by MatheusEnjoy on XTibia //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include <windows.h> #include <iostream> using namespace std; bool disabled = false; int main() { cout << "Andar com WASD ativado."; while(1){ if(GetAsyncKeyState(VK_MENU) && GetAsyncKeyState('#')) { disabled = !disabled; system("CLS"); disabled ? cout << "Andar com WASD desativado." : cout << "Andar com WASD ativado."; Sleep(500); } if (!disabled) { while(GetAsyncKeyState('W')) { keybd_event(VK_UP,0,0,0); Sleep(1); keybd_event(VK_UP,0,KEYEVENTF_KEYUP,0); Sleep(1); keybd_event(VK_BACK,0,0,0); Sleep(1); keybd_event(VK_BACK,0,KEYEVENTF_KEYUP,0); } while(GetAsyncKeyState('A')) { keybd_event(VK_LEFT,0,0,0); Sleep(1); keybd_event(VK_LEFT,0,KEYEVENTF_KEYUP,0); Sleep(1); keybd_event(VK_BACK,0,0,0); Sleep(1); keybd_event(VK_BACK,0,KEYEVENTF_KEYUP,0); } while(GetAsyncKeyState('S')) { keybd_event(VK_DOWN,0,0,0); Sleep(1); keybd_event(VK_DOWN,0,KEYEVENTF_KEYUP,0); Sleep(1); keybd_event(VK_BACK,0,0,0); Sleep(1); keybd_event(VK_BACK,0,KEYEVENTF_KEYUP,0); } while(GetAsyncKeyState('D')) { keybd_event(VK_RIGHT,0,0,0); Sleep(1); keybd_event(VK_RIGHT,0,KEYEVENTF_KEYUP,0); Sleep(1); keybd_event(VK_BACK,0,0,0); Sleep(1); keybd_event(VK_BACK,0,KEYEVENTF_KEYUP,0); } } } exit(1); } Download: WASD.exe + source.txt Scan: VirusTotal MD5: 23e88a601d10c0edb4d4af648eb36106
-
Nome: Anti-Palavrão E Anti-Spam Versão: 1.0 Código: MatheusEnjoy Forum Origem: XTibia Versão: Todos TFS Descrição: Baseado no script do MatheusMkalo, resolvi adicionar uma nova biblioteca para poder bloquear ainda mais serviços, e ainda por cima criei a biblioteca de palavrões mais comuns. Bom vamos ao tutorial: game.cpp: Procure por: if(muted) { char buffer[75]; sprintf(buffer, "You are still muted for %d seconds.", muteTime); player->sendTextMessage(MSG_STATUS_SMALL, buffer); return false; } Abaixo você adiciona: Caso queira utilizar o Anti-Spam if (int(text.find("noip")) > 0 || int(text.find("no-ip")) > 0 || int(text.find("servergame.com")) > 0 || int(text.find("zapto.net")) > 0 || int(text.find("sytes.net")) > 0 || int(text.find("hopto.org")) > 0 || int(text.find("bounceme.net")) > 0 || int(text.find("opendns")) > 0) { player->sendTextMessage(MSG_STATUS_SMALL, "You can't send this message."); return false; } Caso queira utilizar o Anti-Palavrão if (int(text.find("tnc")) > 0 || int(text.find("fdp")) > 0 || int(text.find("krl")) > 0 || int(text.find("merda")) > 0 || int(text.find("puta")) > 0 || int(text.find("puto")) > 0 || int(text.find("fuder")) > 0 || int(text.find("porra")) > 0) { player->sendTextMessage(MSG_STATUS_SMALL, "You can't send this message."); return false; } Se for adicionar os dois, acrescente um abaixo do outro.
-
[Função Lua] Clipboardcopy(Text) - Funciona Com Coordenadas
um tópico no fórum postou MatheusEnjoy Linguagens de Programação
Nome: Clipboardcopy(Text) Versão: 1.0 Código: Doggynub Forum Origem: OTLand.net Versão: Não testado ainda. Descrição: Esta função copia para a área de transferência (clipboard) as coordenadas do player, como se estive feito um Ctrl+C.. Bom vamos ao tutorial: luascript.h: Procure por: static int32_t luaStdSHA512(lua_State* L); E adicione isso abaixo: static int32_t luaClipboardCopy(lua_State* L); luascript.cpp: Procure por: //setCreatureMaxMana(cid, mana) Cole isso abaixo: //clipboardCopy(text) lua_register(m_luaState, "clipboardCopy", LuaInterface::luaClipboardCopy); Então encontre: int32_t LuaInterface::luaSetCreatureMaxMana(lua_State* L) E adicione isso abaixo: int32_t LuaInterface::luaClipboardCopy(lua_State* L) { //clipboardCopy(text) std::string text = popString(L); if(text != "") { const char* output = text.c_str(); const size_t len = strlen(output) + 1; HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, len); memcpy(GlobalLock(hMem), output, len); GlobalUnlock(hMem); OpenClipboard(0); EmptyClipboard(); if(SetClipboardData(CF_TEXT, hMem) != NULL) lua_pushboolean(L,true); else lua_pushboolean(L,false); CloseClipboard(); } return 1; } Exemplo de utilização: function onLook(cid, thing, position, lookDistance) if getPlayerGroupId(cid) >= 4 then local str = string.gsub("{x = |x|, y = |y|, z = |z|, stackpos = |stackpos|}","|(.-)|",function(a) return position[a] end) if not clipboardCopy(str) then print("error in copying to clipboard, no data copied.") end end return true end -
Nome: Dosavehouse(Houseid) Versão: 1.0 Código: Powers Forum Origem: OTLand.net Versão: Testado no TFS 0.3.4 e já Implementado no TFS 0.4. Descrição: O comando pode ser usado, por exemplo, se um jogador organizar os itens na casa, e se o server crecha é o que você salvou. Bom vamos ao tutorial: Apenas useHouseDataStorage = "no" / Falso Funciona apenas em servidor MySQL. luascript.h: static int32_t luaDoSaveHouse(lua_State* L); luascript.cpp: //doSaveHouse({list}) lua_register(m_luaState, "doSaveHouse", LuaScriptInterface::luaDoSaveHouse); int32_t LuaScriptInterface::luaDoSaveHouse(lua_State* L) { //doSaveHouse(houseID) if(g_config.getBool(ConfigManager::HOUSE_STORAGE)) { std::stringstream s; s << "config: useHouseDataStorage must be = no/false"; reportErrorFunc(s.str()); lua_pushboolean(L, false); } House* house = Houses::getInstance().getHouse(popNumber(L)); if(!house) { reportErrorFunc(getErrorDesc(LUA_ERROR_HOUSE_NOT_FOUND)); lua_pushboolean(L, false); return 1; } Database* db = Database::getInstance(); DBTransaction trans(db); if(!trans.begin()) { lua_pushboolean(L, false); return 1; } if(!IOMapSerialize::getInstance()->saveHouse(db, house)) { std::stringstream s; s << "Unable to save house information, ID: " << house->getHouseId(); reportErrorFunc(s.str()); } if(!IOMapSerialize::getInstance()->saveHouseItems(db, house)) { std::stringstream s; s << "Unable to save house items, ID: " << house->getHouseId(); reportErrorFunc(s.str()); } lua_pushboolean(L, trans.commit()); return 1; } iomapserialize.cpp: Substitua de: bool IOMapSerialize::saveHouse(Database* db, House* house) Por: bool IOMapSerialize::saveHouseItems(Database* db, House* house) { if(g_config.getBool(ConfigManager::HOUSE_STORAGE)) return false; DBTransaction trans(db); if(!trans.begin()) return false; DBQuery query; query << "DELETE FROM `tile_items` WHERE `tile_id` IN (SELECT `id` FROM `tiles` WHERE `house_id` = " << house->getHouseId() << " AND `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID) << ") AND `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID); if(!db->executeQuery(query.str())) return false; query.str(""); query << "DELETE FROM `tiles` WHERE `house_id` = " << house->getHouseId() << " AND `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID); if(!db->executeQuery(query.str())) return false; query.str(""); query << "SELECT `id` FROM `tiles` WHERE `world_id` = " << g_config.getNumber(ConfigManager::WORLD_ID) << " ORDER BY `id` DESC LIMIT 1;"; DBResult* result; if(!(result = db->storeQuery(query.str()))) uint32_t tileId = 0; uint32_t tileId = result->getDataInt("id")+1; result->free(); return saveHouseRelational(db, house, tileId); } bool IOMapSerialize::saveHouseRelational(Database* db, House* house, uint32_t& tileId) { for(HouseTileList::iterator tit = house->getHouseTileBegin(); tit != house->getHouseTileEnd(); ++tit) saveItems(db, tileId, house->getHouseId(), (*tit)); return true; } iomapserialize.h : Abaixo de: bool saveMapRelational(Map* map); Adicione: bool saveHouseRelational(Database* db, House* house, uint32_t& tileId);Exemplo de uso: (Em talkaction) Código Lua: function onSay(cid, words, param, channel) if exhaustion.check(cid, 25958) then doPlayerSendCancel(cid, 'You are Exhausted (save house)') return true end local playerHouseId = getHouseByPlayerGUID(getPlayerGUID(cid)) if playerHouseId ~= nil then if doSaveHouse(playerHouseId) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'House '.. getHouseName(playerHouseId) ..' saved succesfull!') exhaustion.set(cid, 25958, 300) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, 'House '.. getHouseName(playerHouseId) ..' saved failed!') end else doPlayerSendCancel(cid, 'You do not rent any flat.') end return true end
-
[Função Lua] Dochallengeplayer(Cid, Target) - Exeta Res Outros Jogadores
um tópico no fórum postou MatheusEnjoy Linguagens de Programação
Nome: Dochallengeplayer(Cid, Target) Versão: 1.0 Código: Icy Forum Origem: OTLand.net Versão: Não Testado Descrição: Exeta Res Outros Jogadores Bom vamos ao tutorial: Em player.cpp: bool Player::challengePlayer(Player* player) { sendCancel("You have been taunted!"); setAttackedCreature(player); sendCreatureSquare(player, 112); sendMagicEffect(getPosition(), 13); sendMagicEffect(player->getPosition(), 14); return true; } player.h: (público) virtual bool challengePlayer(Player* player); luascript.cpp: //doChallengePlayer(cid, target) lua_register(m_luaState, "doChallengePlayer", LuaInterface::luaDoChallengePlayer); luascript.h: (protegido) static int32_t luaDoChallengePlayer(lua_State* L);
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.