Ir para conteúdo

GM Volcano

Artesão
  • Total de itens

    115
  • Registro em

  • Última visita

Tudo que GM Volcano postou

  1. hdsuiAHIUDhoIAEhIADoIAHWDiAHWDiouHAWDiAIWUdhiauwdh Qm q eh esse rayfox ae??? ============================ =========== Edit ============== ============================ uhduiAHSdiuHIDhiaeUdhoAIUhIOASHDIOASDHAS owneddd ============================ =========== Edit2 ============== ============================ Poderia por ao menos um spoiler neh??? kkkkkkkkkkkkkkkkk Na hora foi zuado!!! asdhihid
  2. Just a noob. ;] Zuera gazelinha.. Poderia ao menos mostrar os skills não? Nice House. Gratz pelo 110.
  3. AHuahuaHUAhaUhAUhauhaUhaUhauha Realidade garotão! =D Penso logo existo. Eu falo o que penso. ;]
  4. MUUUUITOOO LOKO!!!!!!
    Na prox. é quote!!
    hAEIhIOAEhIAOEhae
    Saudações à Nasa :D
  5. Mito!
    Não botei fé que você é mais novo que eu!!
    E sua voz é estranha pra krleo!!!!!!!
    haUhaeuHAERUhAE
  6. Cara, equipe exelente, excluindo a mim é claro.. Tenho certeza que será uma explosão no mundo Tibiano quando lançarmos! Porem, acho que você (DropBlood), poderia postar mais informações sobre nosso ATS, argumentos você sabe, não falta!! E estruturar melhor o tópico, pois, um grande servidor merece ! Fora isso, está de parabens. E incentivo a nossa equipe a melhorar a cada passo que seguimos ;] É Isso! 2009 aí vamos nós!!!!
  7. gazela :P
    Fato!
    huehAEUhAEUhAEU
  8. AHUAHUAHUAHAUHAUhAUHAUhAUHAUhauhA MITOOO!!!!!!!!! =DDDD Mais dicas plx!!! kkkkkkkkkkkk
  9. Huhuhuhuhu =D Novo projeto, novos membros!!! To voltando ao XTibia graças ao mesmo, e tambem por muitas pessoas que eu considero ;] É isso, parabens ao organizador dessa grande equipe, que vai muito alem de todo Tibia. Abraços, RayFoX
  10. " GM Volcano
    Eae, feliz aniver ^^
    14 Nov 2007 - 13:44"
    Eae, feliz niver ^^[2]
    heuHEAe
    =D
  11. Sorcerer roxzin Apesar de ser destinado a outro ATs, ficou legal =] A do Druid ficou 'meio' escura =/ + o resto ta rox.. Abraço // RayaN
  12. lol
    vc eh estranho!
    hauah
    zuera =]
  13. GM Volcano

    Frost Iceberg

    Faltou effects!!! Capricha no brilho la =P
  14. GM Volcano

    "crazy Flames"

    Legal Achei que falta alguma coisa...+ não sei o que.. Ficando bom/ruim ânimo! Repentindo as palavras do picachu, O que vale é a intenção!! Realmente parabens..
  15. GM Volcano

    2 Avatares

    Rox Porem a do dragaozin com o portal é somente uma aproximação com detalhes em volta da tela =/ + mesmo assim curti! Parabens!!
  16. Esses arquivos fazem parte da source(o projeto não compilado do otserver).. Para compilar, siga corretamente algum tutorial no forum(..existem muitos)
  17. Feliz aniversario =]
    Parabens pelos seus 17 anos =P
  18. Arruma sua ortografia aí... Vou testar e responder-lhe se há erros... Arrume no script aquela parte : Coloque hífens antes da explicação...Ficando correto :
  19. Wow, muito bom cara =] :weight_lift: :weight_lift: :weight_lift: Está realmente de parabens! Este script ajudará muitos XTibianos.. :smile_positivo: Continue fazendo seus ótimos scripts para a comunidade =]
  20. Codigo criado por Lejjo de outro fórum, portanto todos os créditos à ele.. Funções que serão adicionadas : Explicação de cada : doCreatureChangeMaxHealth : Muda o life de certo player. doCreatureChangeMaxMana : Muda a mana de certo player. getPlayerSummonCount : "checa" o número total de sumons de algum player. getCreatureSummonCountByName : "checa" o número total dos sumons pelo nome Exemplos de uso : doCreatureChangeMaxHealth doCreatureChangeMaxMana getPlayerSummonCount getCreatureSummonCountByName Ao codigo : Em luascript.cpp após : //escapeString(str) lua_register(m_luaState, "escapeString", LuaScriptInterface::luaEscapeString); Adicione : //doCreatureChangeMaxHealth(cid, newHealth) lua_register(m_luaState, "doCreatureChangeMaxHealth", LuaScriptInterface::luaDoCreatureChangeMaxHealth); //doCreatureChangeMaxMana(cid, newMana) lua_register(m_luaState, "doCreatureChangeMaxMana", LuaScriptInterface::luaDoCreatureChangeMaxMana); //getPlayerSummonCount(cid) lua_register(m_luaState, "getPlayerSummonCount", LuaScriptInterface::luaGetPlayerSummonCount); //getCreatureSummonCountByName(cid, name) lua_register(m_luaState, "getCreatureSummonCountByName", LuaScriptInterface::luaGetCreatureSummonCountByNam e); Após : int32_t LuaScriptInterface::luaEscapeString(lua_State* L) { //escapeString(str) std::string str = popString(L); lua_pushstring(L, Database::escapeString(str).c_str()); return 1; } Adicione : int32_t LuaScriptInterface::luaDoCreatureChangeMaxHealth(l ua_State* L) { //doCreatureChangeMaxHealth(uid,newHealth) int32_t healthChange = (int32_t)popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getScriptEnv(); Creature* creature = env->getCreatureByUID(cid); if(creature) { creature->changeMaxHealth(healthChange); lua_pushnumber(L, LUA_NO_ERROR); } else { reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_ FOUND)); lua_pushnumber(L, LUA_ERROR); } return 1; } int32_t LuaScriptInterface::luaDoCreatureChangeMaxMana(lua _State* L) { //doCreatureChangeMaxMana(uid,newMana) int32_t manaChange = (int32_t)popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getScriptEnv(); Creature* creature = env->getCreatureByUID(cid); if(creature) { creature->changeMaxMana(manaChange); lua_pushnumber(L, LUA_NO_ERROR); } else { reportErrorFunc(getErrorDesc(LUA_ERROR_PLAYER_NOT_ FOUND)); lua_pushnumber(L, LUA_ERROR); } return 1; } int32_t LuaScriptInterface::luaGetPlayerSummonCount(lua_St ate* L) { //getPlayerSummonCount(cid) uint32_t cid = popNumber(L); ScriptEnviroment* env = getScriptEnv(); Creature* creature = env->getCreatureByUID(cid); if(creature) { int32_t summons = creature->getSummonCount(); lua_pushnumber(L, summons); } else { reportErrorFunc(getErrorDesc(LUA_ERROR_CREATURE_NO T_FOUND)); lua_pushnumber(L, LUA_ERROR); } return 1; } int LuaScriptInterface::luaGetCreatureSummonCountByNam e(lua_State *L) { std::string name = popString(L); uint32_t uid = popNumber(L); ScriptEnviroment* env = getScriptEnv(); Creature* creature = env->getCreatureByUID(uid); if(creature){ int count = 0; std::list<Creature*>::iterator cit; for(cit = creature->summons.begin(); cit != creature->summons.end(); ++cit){ if((*cit)->getName() == name){ count = count + 1; } } if(count > 0){ lua_pushnumber(L, count); } } else{ reportErrorFunc(getErrorDesc(LUA_ERROR_CREATURE_NO T_FOUND)); lua_pushnumber(L, LUA_ERROR); } return 1; } Agora em luascript.h, após : static int32_t luaEscapeString(lua_State* L); Adicione : static int32_t luaDoCreatureChangeMaxHealth(lua_State* L); static int32_t luaDoCreatureChangeMaxMana(lua_State* L); static int32_t luaGetPlayerSummonCount(lua_State* L); static int luaGetCreatureSummonCountByName(lua_State *L); Agora em creature.cpp, após : void Creature::changeHealth(int32_t healthChange) { if(healthChange > 0) health += std::min(healthChange, getMaxHealth() - health); else health = std::max((int32_t)0, health + healthChange); g_game.addCreatureHealth(this); } Adicione : void Creature::changeMaxHealth(int32_t healthChange) { healthMax = (int32_t)healthChange; g_game.addCreatureHealth(this); } void Creature::changeMaxMana(int32_t manaChange) { manaMax = (int32_t)manaChange; } Agora em creature.h,após : virtual void changeHealth(int32_t healthChange); Adicione : virtual void changeMaxHealth(int32_t healthChange); virtual void changeMaxMana(int32_t manaChange); Agora Recompile tudo (ctrl+F11).. Explicação + créditos no inicio do tópico..
  21. Tá aí um code feito pelo programador Brasileiro Proglin(membro de outro fórum) Feito para servidores SQL.. Foi testado na svn de dezembro(12/07) Bom, vamos ao codigo : Em game.cpp, depois de : #include "talkaction.h" #include "spells.h" #include "configmanager.h" Adicione : #include "tools.h" Depois de : Game::Game() { Adicione : #ifdef __UCB_DDOS_PROTECTION__ connectionTestFalseValidUntil = std::time(NULL) + 2*60; //Ignore verification in first 2 minutes connectionTestTrueValidUntil = connectionTestFalseValidUntil; connectionTestOk = true; #endif Adicione no final : #ifdef __UCB_DDOS_PROTECTION__ bool Game::isOutSideWorldResponding(){ OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::isOutSideWorldResponding()"); uint32_t now = std::time(NULL); if( !connectionTestOk ){ if( now > connectionTestFalseValidUntil ){ //Redo test connectionTestOk = isWorldReachable(); connectionTestFalseValidUntil = now + 60; //False result is valid for 60 seconds } } else { if( now > connectionTestTrueValidUntil ){ //Redo test connectionTestOk = isWorldReachable(); connectionTestTrueValidUntil = now + 10; //Ok result is valid for 10 secongs } } return connectionTestOk; } #endif Agora em game.h, depois de : void internalCreatureChangeVisible(Creature* creature, bool visible); void changeLight(const Creature* creature); #ifdef __SKULLSYSTEM__ void changeSkull(Player* player, Skulls_t newSkull); #endif Adicione : #ifdef __UCB_DDOS_PROTECTION__ bool isOutSideWorldResponding(); #endif Depois de : uint32_t inFightTicks; uint32_t exhaustionTicks; uint32_t fightExhaustionTicks; Adicione : #ifdef __UCB_DDOS_PROTECTION__ bool connectionTestOk; uint32_t connectionTestTrueValidUntil; uint32_t connectionTestFalseValidUntil; #endif Agora em tools.cpp, adicione no final : #ifdef __UCB_DDOS_PROTECTION__ bool isWorldReachable(){ int32_t ret; #if defined __WINDOWS__ ret = system("ping -n 1 -w 500 google.com > NUL"); #else ret = system("ping -q -c 1 -w 1 google.com > /dev/null"); #endif return (ret == 0); } #endif Agora em tools.h, adicione no final : #ifdef __UCB_DDOS_PROTECTION__ bool isWorldReachable(); #endif Agora em players.cpp, substitua : if(skillLoss){ Por : #ifdef __UCB_DDOS_PROTECTION__ if(skillLoss && g_game.isOutSideWorldResponding()){ #else if(skillLoss){ #endif Substitua : experience -= getLostExperience(); Por : #ifdef __UCB_DDOS_PROTECTION__ if( g_game.isOutSideWorldResponding() ){ experience -= getLostExperience(); } #else experience -= getLostExperience(); #endif Agora vá em Projeto > Opções do Projeto > Parâmetros > Compilador C++ e adicione no final : -D__UCB_DDOS_PROTECTION__ Agora Recompile tudo (Ctrl + F11)! Créditos constam no inicio do tópico..
  22. @henage Não é o local apropriado para expressar suas dúvidas... Porem, verifique no seu commands.xml para que access está o /clean,em seguida edite o npc para o acesso necessario. @Topico Bem criativo. Acredito que isto não seja um tutorial, e sim um script pronto.. Acredito eu que o Local correto seria Programação & Scripting > Npc/Monsters
  23. Feliz Aniversario =]
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...