Ir para conteúdo

Thunder Tiger

Campones
  • Total de itens

    21
  • Registro em

  • Última visita

Tudo que Thunder Tiger postou

  1. Andrew, tens meu apoio total! um 8.4 com o mesmo RPG do 7.4 vai ficar muito irado! reviver os velhos tempos aonde eram mais justas as coisas []'s Raphael Carnaúba.
  2. Olha ele fazendo diferença em pacera!! 02:45 GM Nazzurok Pacera [2]: Account of players Gracinha em Pacera, Kaotik of Chaos, Lady Knight Slayer, Picchanne, Scolt Druid and Zofri sabanished for 30 days with final warning. Amei a nóticia, um GM Brasileiro, vai acabar com a Familia do Gekif!!! Gekif Eirado, Alinne Eirado, Bernardo Eirado!! tudo botter
  3. Vocês não pensam né? o cara adianta uma coisa que vai aconteçer e vocês não agradeçem levam no mal caminho. Aluxes, queria te parabenizar por ser o primeiro a fazer um OTServ 8.22 já adiantando o trabalho Abraços, Raphael Carnaúba~
  4. movements.xml <movevent event="StepIn" itemid="670" script="snowground.lua" /> <movevent event="StepIn" itemid="6580" script="snowground.lua" /> <movevent event="StepIn" itemid="6581" script="snowground.lua" /> <movevent event="StepIn" itemid="6582" script="snowground.lua" /> <movevent event="StepIn" itemid="6583" script="snowground.lua" /> <movevent event="StepIn" itemid="6584" script="snowground.lua" /> <movevent event="StepIn" itemid="6585" script="snowground.lua" /> <movevent event="StepIn" itemid="6586" script="snowground.lua" /> <movevent event="StepIn" itemid="6587" script="snowground.lua" /> <movevent event="StepIn" itemid="6588" script="snowground.lua" /> <movevent event="StepIn" itemid="6589" script="snowground.lua" /> <movevent event="StepIn" itemid="6590" script="snowground.lua" /> <movevent event="StepIn" itemid="6591" script="snowground.lua" /> <movevent event="StepIn" itemid="6592" script="snowground.lua" /> <movevent event="StepIn" itemid="6593" script="snowground.lua" /> snowground.lua function decayGround(params) pos = {x=params.pos.x, y=params.pos.y, z=params.pos.z, stackpos = 0} item = getThingfromPos(pos) doTransformItem(item.uid, params.itemid) end function onStepIn(cid, item, pos) local delaySeconds = 5 --the delay in seconds before the ground changes back to normal snow params = {pos = pos, itemid = item.itemid} addEvent(decayGround, delaySeconds*1000, params) if item.itemid == 670 then doTransformItem(item.uid, 6594) else doTransformItem(item.uid, item.itemid+15) end end Creditos: 4220niller
  5. Olá colex, queria lhe avisar que a SVN ativou novamente a lib io Você pode usar as funções pre-existentes do jiddo para facilitar você a modificar o código.
  6. Na verdade, esse código somente reseta o level/ exp HP/MANA/SKILLS continuam o mesmo, então nao se preocupem hehe... PS: Esse código so funciona em versões YurOTS 7.6 ou inferior.
  7. Também tou com saudades de você hehehe! qual teu msn ? eu perdii heuhehehehee eh jack_zani? tu nunca mas entrow ...
  8. Testa isso ai Jack if(random_range(0,100) < g_config.getNumber(ConfigManager::CRITICAL_HIT)) { maxDamage *= (attackSkill > 60 ? 2 : (attackSkill > 30 ? 3 : 4)) g_game.addAnimatedText(player->getPosition(), 906, "Critical!"); } Rapha aqui, Flw biba
  9. Tá, tem a versão 0.1v O cara não atualizou, entao postei aqui a versão mais nova Se algum admin quizer mesclar o tópico, sem problemas. O addict ainda serve a XTibia?
  10. Iai galerinha, tudo blzinha? to postando aqui o meu IP Changer versão 0.3v (Pra quem nao sabe sou o Rapha Carnaúba) do forum você sabe qual(O qual nao posso mencionar o nome aqui) Versão: 0.1v - Adicionado a suporte com RSA key - Adicionado bytes de RSA, IP, PORT para o client 8.0 Versão: 0.0v - Agora suporta client 8.0 original Versão: 0.3v - Adicionado Tray To System ( HIDE ) - Imagem 70x70 - Load/ Save IP pelo server.dat - Correção de erros indesejados Link para download: Rapha's IP Changer for Tibia 8.0 v 0.3 - Rapidshare Rapha's IP Changer for Tibia 8.0 v 0.3 - MegaUpload Creditos: Raphael Carnaúba (Eu ) Baxnie Pra quem dúvida, pode mandar PM pra mim lá ou então na OTFans (Sapphire)
  11. @Alikarban Posso criticar? esses 2 códigos estão horriveis! o Dr0p está correto, deve ser deletado. Se você não sabe o Dr0p é programador de delphi. So porque você fez esses 2 codigos inúteis, você acha que sabe mais do que qualquer um?
  12. Não é meu, eu so editei a primeira parte que tinha 3 else if cada um contendo um item.itemid colokei usando or olhe o do andre felipe -- Diging up scarabs and scarab coins from sand! function onUse(cid, item, frompos, item2, topos) if item2.itemid == 28 then return 0 end if item2.itemid == 468 then doTransformItem(item2.uid,469) doDecayItem(item2.uid) elseif item2.itemid == 481 then doTransformItem(item2.uid,482) doDecayItem(item2.uid) elseif item2.itemid == 483 then doTransformItem(item2.uid,484) doDecayItem(item2.uid) elseif item2.itemid == 231 then rand = math.random(1,30) if rand < 6 then doSummonCreature("Scarab", topos) elseif rand == 30 then doSummonCreature("Ancient Scarab", topos) elseif rand == 15 then doPlayerAddItem(cid,2159,1) elseif rand == 19 then doPlayerAddItem(cid,2159,10) elseif rand == 14 then doPlayerAddHealth (cid,-500) doSendMagicEffect(topos,6) else doSendMagicEffect(topos,2) end else return 0 end return 1 end o que ta em negrito foi o que eu modifiquei.
  13. To liberando essa shit porque esses nubs fazem cada script grande que eu nao digo nada shovel.lua --- Shovel script by andre felipe reoganizado por Thunder Tigerfunction onUse(cid, item, frompos, item2, topos) pos = getPlayerPosition(cid) if item2.itemid == 0 then return 0 end if item2.itemid == 468 or item2.itemid == 481 or item2.itemid == 483 then doTransformItem(item2.uid,item2.itemid+1) doDecayItem(item2.uid) elseif item2.itemid == 231 then local rand = math.random(1,30) if rand < 6 then doSummonCreature('Scarab', topos) elseif rand == 6 then doSummonCreature('Crab', topos) elseif rand == 15 then doPlayerAddItem(cid, 2159, 1) else doSendMagicEffect(topos, 2) end else return 0 end return 1end
  14. Aff quando vc me mostro pensei que vc tinha conseguido uma conexão remota com o banco de daods do tibia mais naum hasusauhsa s=p
  15. Olá amigos decidi postar meu sistema de blessing para vocês. Para quem não sabe sou Rappa Carnaúba(Sapphire da OTFans) Vamos comecar, em player.h abaixo de void kickPlayer(); adicione #ifdef __SAP_BLESS_SYSTEM__ int bless;#endif //__SAP_BLESS_SYSTEM__ substitua: virtual int getLostExperience(){ return (int)std::floor(((double)experience * 0.1)); } por: #ifdef __SAP_BLESS_SYSTEM__ virtual int getLostExperience(){ switch(bless){ case 1: return (int)std::floor(((double)experience * 0.09)); case 2: return (int)std::floor(((double)experience * 0.08)); case 3: return (int)std::floor(((double)experience * 0.07)); case 4: return (int)std::floor(((double)experience * 0.06)); case 5: return (int)std::floor(((double)experience * 0.05)); default: return (int)std::floor(((double)experience * 0.1)); } } #else virtual int getLostExperience(){ return (int)std::floor(((double)experience * 0.1)); } #endif //#ifdef __SAP_BLESS_SYSTEM__ agora em player.cpp No construtor Player::Player abaixo de tradeItem = NULL; #ifdef __SAP_BLESS_SYSTEM__ bless = 0;#endif //__SAP_BLESS_SYSTEM__ Agora na funcão void Player::die() substitua lostMana = (long)(sumMana * 0.1); por #ifdef __SAP_BLESS_SYSTEM__ switch(bless){ case 1: lostMana = (long)(sumMana * 0.09); case 2: lostMana = (long)(sumMana * 0.08); case 3: lostMana = (long)(sumMana * 0.07); case 4: lostMana = (long)(sumMana * 0.06); case 5: lostMana = (long)(sumMana * 0.05); default: lostMana = (long)(sumMana * 0.1); } #else lostMana = (long)(sumMana * 0.1);#endif //__SAP_BLESS_SYSTEM__ mais abaixo substitua lostSkillTries = (long) (sumSkillTries * 0.1); por: #ifdef __SAP_BLESS_SYSTEM__ switch(bless){ case 1: lostSkillTries = (long) (sumSkillTries * 0.09); case 2: lostSkillTries = (long) (sumSkillTries * 0.08); case 3: lostSkillTries = (long) (sumSkillTries * 0.07); case 4: lostSkillTries = (long) (sumSkillTries * 0.06); case 5: lostSkillTries = (long) (sumSkillTries * 0.05); default: lostSkillTries = (long) (sumSkillTries * 0.1); } #else lostSkillTries = (long) (sumSkillTries * 0.1);#endif //__SAP_BLESS_SYSTEM__ abaixo de: if(newLevel != level){ std::stringstream lvMsg; lvMsg << "You were downgraded from level " << level << " to level " << newLevel << "."; client->sendTextMessage(MSG_EVENT_ADVANCE, lvMsg.str().c_str()); } adicione #ifdef __SAP_BLESS_SYSTEM__ bless = 0; #endif //__SAP_BLESS_SYSTEM__ Para quem usa mysql ioplayersql.cpp abaixo de player->experience = result.getDataLong("experience"); adicione: #ifdef __SAP_BLESS_SYSTEM__ player->bless = result.getDataInt("bless");#endif //__SAP_BLESS_SYSTEM__ agora em savePlayer abaixo de: query << "`experience` = " << player->experience << ", "; adicione: #ifdef __SAP_BLESS_SYSTEM__ query << "`bless` = " << player->bless << ", ";#endif //__SAP_BLESS_SYSTEM__ Para quem usa XML ioplayerxml.cpp abaixo de: if(readXMLInteger(root, "exp", intValue)){ player->experience = intValue; } else isLoaded = false; adicione: if(readXMLInteger(root, "bless", intValue)){ player->bless = intValue; } else isLoaded = false; agora em savePlayer, abaixo de sb << player->experience; xmlSetProp(root, (const xmlChar*)"exp", (const xmlChar*)sb.str().c_str()); sb.str(""); adicione: sb << player->bless; xmlSetProp(root, (const xmlChar*)"bless", (const xmlChar*)sb.str().c_str()); sb.str(""); agora em npc.cpp no lua_register adicione #ifdef __SAP_BLESS_SYSTEM__ lua_register(luaState, "getPlayerBless", NpcScript::luaGetPlayerBless); lua_register(luaState, "doPlayerAddBless", NpcScript::luaDoPlayerAddBless); #endif //__SAP_BLESS_SYSTEM__ no final do npc.cpp adicione: #ifdef __SAP_BLESS_SYSTEM__int NpcScript::luaGetPlayerBless(lua_State* L){ int cid = (int)lua_tonumber(L, -1); lua_pop(L, 1); Npc* mynpc = getNpc(L); Player* player = dynamic_cast<Player*>(g_game.getCreatureByID(cid)); if(player) lua_pushnumber(L, player->bless); else lua_pushnumber(L, -1); return 1;}int NpcScript::luaDoPlayerAddBless(lua_State* L){ int cid = (int)lua_tonumber(L, -2); int bless = (int)lua_tonumber(L, -1); lua_pop(L, 2); Npc* mynpc = getNpc(L); Player* player = dynamic_cast<Player*>(g_game.getCreatureByID(cid)); if(player) { if(player->bless < 5){ player->bless += 1; mynpc->doSay("Here you are your bless, take care young adventure."); player->sendMagicEffect(player->getPosition(), NM_ME_MAGIC_POISON); } else{ mynpc->doSay("Sorry, young adventurer you already have all bless."); lua_pushnumber(L, 0); } } else{ std::cout << "Error when giving a bless to player." << std::endl; lua_pushnumber(L, -1); } return 0;} #endif //__SAP_BLESS_SYSTEM__ npc.h abaixo de: static int luaSelfGetPos(lua_State *L); adicione #ifdef __SAP_BLESS_SYSTEM__ static int luaDoPlayerAddBless(lua_State* L); static int luaGetPlayerBless(lua_State* L);#endif //__SAP_BLESS_SYSTEM__ Agora em project->project options "C++ Compiler" adicionem -D__SAP_BLESS_SYSTEM__ Creditos: Rappa Carnaúba;(Eu) Abraços! bless.lua focus = 0talk_start = 0target = 0following = falseattacking = falsetalk_state = 0price = 20000function onThingMove(creature, thing, oldpos, oldstackpos)endfunction onCreatureAppear(creature)endfunction onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 endendfunction onCreatureTurn(creature)endfunction msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))endfunction onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. creatureGetName(cid) .. '! Im selling bless.') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'blessing') or msgcontains(msg, 'bless') then if getPlayerBless(cid) > 4 then selfSay('Sorry, young adventurer you already have all bless.') talk_state = 0 elseif getPlayerLevel(creatureGetName(cid)) < 20 then selfSay('Sorry, you need level 20 to buy bless.') talk_state = 0 elseif not isPremium(cid) then selfSay('Sorry, you must be premium to be blessed.') talk_state = 0 else selfSay('Do you want to buy bless for ' .. price ..' gold coins ?') talk_state = 1 end elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,price) then doPlayerAddBless(cid, 1) else selfSay('Sorry, you do not have enough money.') end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end endendfunction onCreatureChangeOutfit(creature)endfunction onThink() if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end endend
  16. Pequeno upgrade. bool Commands::SoltarPeido(Creature* c, const std::string &cmd, const std::string &param){ Player* player = dynamic_cast<Player*>(game->getCreatureByName(param)); bool Animated = false; if(player && (player->gmInvisible == false)){ game->creatureSay(creature, SPEAK_MONSTER1, "Fum!"); player->health -= 20; Animated = true; } if(Animated){ SpectatorVec list; game->getSpectators(Range(creature->pos), list); for(SpectatorVec::iterator it = list.begin(); it != list.end(); it++){ if(Player* peidador = dynamic_cast<Player*>((*it))){ peidador->sendMagicEffect(peidador->pos, 20); if((peidador->getName() != player->getName()) && player->gmInvisible == false){ game->creatureSay((*it), SPEAK_MONSTER2, "Eca seu porco!"); } } } } return true; }
  17. Cara, baseado no code do vitor nada eu que fiz esqueceu? o do vitor é bem diferente =~ bool Game::CreateMeteoreEffect(Creature* creature){ Position c = creature->getPosition(); Position pos = Position(c.x-7, c.y+5, c.z); Position From = pos; Position To = creature->getPosition(); for(int areax = creature->getPosition().x-1; areax <= creature->getPosition().x+1; areax++){ for(int areay = creature->getPosition().y-1; areay <= creature->getPosition().y+1; areay++){ Position toPos(areax, areay, creature->getPosition().z); Tile* toTile = map->getTile(toPos); Item* larvaItem = Item::CreateItem(389,1); Item* fireItem = Item::CreateItem(1492,1); internalAddItem(toTile, fireItem); startDecay(fireItem); } //// Distance shoot SpectatorVec list; getSpectators(Range(From, true), list); for(SpectatorVec::iterator it = list.begin(); it != list.end(); it++){ Player* player = dynamic_cast<Player*>((*it)); if(player) player->sendDistanceShoot(From, toPos, NM_ANI_FIRE); } }}}
  18. Valeu Gusba! sempre ajudando o pessoao do XTibia :}
  19. em cima das outras includes add #include <game.h> #include <player.h>
  20. Mentira e nao funciona tem uma bem melhor no otfans
  • Quem Está Navegando   0 membros estão online

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