Ir para conteúdo

Wend II

Membro
  • Registro em

  • Última visita

Tudo que Wend II postou

  1. Olá estou trazendo esse tutorial pra galera que anda querendo os códigos da tv system , o autor não sou eu apenas estou trazendo pra galera que está precisando como me pediram por MP e em tópicos (créditos no final do tópico) Venho disponibilizar o famoso sistema de televisão poketibiano completo o sistema foi feito para ambos os clients tibianos. O sistema permite você assistir outro players jogando assim você fica sem usar itens,falar(so pm), se movimentar e etc... Vamos la: Vá em luascript.cpp e procure: E coloque embaixo: Continuando em luascript.cpp procure: //doCreatureSay(uid, text[, type = SPEAK_SAY[, ghost = false[, cid = 0[, pos]]]]) lua_register(m_luaState, "doCreatureSay", LuaScriptInterface::luaDoCreatureSay); Coloque embaixo: Em luascript.h procure: static int32_t luaGetPlayerParty(lua_State* L); Coloque embaixo: static int32_t luaGetAllsTvs(lua_State* L); static int32_t luaSetPlayerTv(lua_State* L); static int32_t luaDoSendChannelsTv(lua_State* L); static int32_t luaDoRemovePlayerTv(lua_State* L); Vamos agora em game.cpp: Procure: bool Game::playerSay(uint32_t playerId, uint16_t channelId, SpeakClasses type, const std::string& receiver, const std::string& text) E substitua função por esta nova função: Continuando em game.cpp procure a função: ReturnValue Game::internalMoveCreature(Creature* creature, Direction direction, uint32_t flags/* = 0*/) E substitua por esta função: Procure a função: bool Game::playerRequestChannels(uint32_t playerId) Substitua a função por: bool Game::playerRequestChannels(uint32_t playerId) { Player* player = getPlayerByID(playerId); if(!player || player->isRemoved()) return false; player->sendChannelsDialog(false); return true; } Agora vamos a protocolgame.cpp e procure a função; void ProtocolGame::sendChannelsDialog(bool tv) E substitua por esta função: Procure em protocolgame.h a seguinta declaração: void sendChannelsDialog(); Substitua por: void sendChannelsDialog(bool tv); Agora vamos em player.h e procure: void sendChannelsDialog() {if(client) client->sendChannelsDialog();} E substitua por: void sendChannelsDialog(bool tv) {if(client) client->sendChannelsDialog(tv);} Procure denovo em player.h: typedef std::list<Party*> PartyList; E adicione embaixo: typedef std::list<uint32_t> Tvlist; Continuando em player.h procure: AttackedSet attackedSet; Coloque embaixo: Tvlist tv; Vamos denovo a protocolgame.cpp e procure: Coloque embaixo: Seguidamente vá em creatureevent.cpp e procure: else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; Coloque embaixo: else if(tmpStr == "selecttv") m_type = CREATURE_EVENT_SELECTTV; Procure depois: case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath"; Coloque embaixo: case CREATURE_EVENT_SELECTTV: return "onSelectTv"; Procure: case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList"; Coloque embaixo: case CREATURE_EVENT_SELECTTV: return "cid, id"; Procure: Coloque embaixo: Vá em creatureevent.h e procure: CREATURE_EVENT_ATTACK, Coloque embaixo: CREATURE_EVENT_SELECTTV Procure continuando em creatureevent.h: uint32_t executeCombat(Creature* creature, Creature* target); Coloque embaixo: uint32_t executeSelectTv(Player* player, uint16_t id); Vá agora em game.cpp denovo e procure a função: bool Game::playerOpenChannel(uint32_t playerId, uint16_t channelId) Substitua a função por: Vá em data/lib e crie um novo arquivo lua chamado tv system: Agora vamos em actions e crie um arquivo lua chamado tv e coloque: function onUse(cid, item, fromPosition, itemEx, toPosition) doSendChannelsTv(cid) end Vá em actions.xml e coloque a seguinte configurando com o id da sua tv: <!-- TV --> <action itemid="1445" event="script" value="tv.lua"/> Agora vamos em talkactions e crie um novo arquivo lua chamado delete e coloque isto: function onSay(cid, words, param, channel) deleteTv(cid) return true end Agora vamos em talkactions.xml e coloque a seguinte tag: <talkaction words="/delete" event="script" value="delete.lua"/> Agora vamos a creaturescripts e crie um arquivo lua chamado createTv e coloque: function onTextEdit(cid, it:em, newText) if item.itemid == ID_ITEM_TV then createNewTv(cid, newText) return true end return true end Crie outro chamado de tv e coloque: function onSelectTv(cid, id) local tv = getTvOnlines() local idstarter = 200 for i=1, #tv do local tv = tv[i] local sub_id = i+idstarter if sub_id == id then playerWatchTv(cid, tv) end end return true end Crie outro chamado de tvlogout : function onLogout(cid) if isPlayer(cid) then deleteTv(cid) playerStopWatchTv(cid) end return true end Vá em creaturescripts.xml e coloque as seguintes as tags: <event type="textedit" name="newTv" event="script" value="createTv.lua"/> <event type="selecttv" name="selecttv" event="script" value="tv.lua"/> <event type="logout" name="tvlogout" event="script" value="tvlogout.lua"/> Vá em data/xml/group.xml e abra o arquivo e coloque o novo group: <group id="8" name="Tv" flags="3845069447162" customFlags="2097151" access="1" violationReasons="4" nameViolationFlags="2"/> Video do sistema em execução: E recomendavel NUNCA modificar as storages porques estão ligados aos codigos. Para mudar o id da camera e so mudar a variavel ID_ITEM_TV Para deletar uma tv diga o comand /delete e como prometido no começo do tópico, os créditos:
  2. Você tem que transferi o tibia.dat e tibia.spr do seu client para pasta C:\Program Files\Tibia que está abrindo o RME esse tutorial pode lhe ajudar melhor > http://www.tibiaking.com/forum/topic/27677-tutorial-retirando-ch%C3%A3o-vermelhoinvalid-itens-rme/
  3. Creio que esse tutorial possa lhe ajudar > http://www.tibiaking.com/forum/topic/33767-otc-barra-de-hp-no-otclient
  4. Esse erro não tem nada haver com o da pokebar wtf?
  5. Wend II postou uma resposta no tópico em OTServer Derivados
    Mais tem que ter os codigo na source e esse ai não tem :\
  6. Tem como sim, poderia me mandar o arquivo addom da pasta actions?
  7. Wend II postou uma resposta no tópico em OTServer Derivados
    Aqui ainda não postaram, se alguém quiser posso postar
  8. Wend II postou uma resposta no tópico em OTServer Derivados
    Obrigado, já estou resolvendo esses erros
  9. substitua por esse aqui e reinicie o servidor
  10. Pode passa o look.lua da pasta creaturescripts?
  11. is like that, when 1 sqm near the wall will thus be by at least here's how
  12. Está com muito erros amigo, creio você que a alteração que fez você tentar adicionar uma nova raça não é? recomendo baixar essa source aqui que é da mesma base só que algumas alterações e nela está adicionada as novas races source > http://www.4shared.com/rar/Cb_mNAJvba/sources_xP.html? alterações que fiz nela: • Feito algumas alterações nas informações da distro (Sources) • Recompilado as sources com novas funções ( function onMove(cid, fromPosition, toPosition) ) • Adicionado novas raças na source (DARK e STEEL) , assim resolvendo alguns Warning que estava aparecendo na distro. • Editado as cores da fala nos canais "Help" e "Game-Chat" para os membros da staff. • Adiciona o sistema Auto Stacking na source! como funciona? simples, quando você puxa 1 item agrupável para sua bag se tiver o mesmo item na bag eles se agrupam automaticamente.
  13. Amigo recomendo pegar um tibia.pic de algum client que você tem ai e trocar a imagem dele com o pic editor, o vapus não está funcionando com imagens a um bom tempo então não é para escolher imagens na hora que for criar o client próprio :| e só vem o tibia.exe mesmo, você precisa junta o tibia.dat, tibia.spr e tibia.pic em uma pasta só para o client abrir
  14. olha ai o boost, testei aqui e está aparecendo aqui o trade, testei e está aparecendo normal no default
  15. Também nunca vii, ele poderia explicar melhor como que acontece creio eu que seja o cooldown do move e ele esteja pensando que é os ataques
  16. como assim o boost só está aparecendo pra você? e quando os outros players dão look não aparece?
  17. e uns do bug é esse do RME, tentei de várias formas aqui e não abriu
  18. Resolvido por mensagem privada, a solução foi eu adicionar o sistema de addon no servidor para ele ~~
  19. qual é o número do effect? porque eu não sei como que acontece mais quando extendemos um client o effect que era 22 fica 21 e assim vai trocando, tipo se o effect de fome for 100 era pra você ter substituido o effect 99 ~~ tive alguns problemas assim quando estava editando um PDA e colocava o effect certinho no script quando ia testar in-game era o effect anterior então é a mesma coisa de está adicionando em um servidor PDA sem icon system creio eu, desculpe eu não entende muito bem é porque nunca editei servidores com icon system ~~
  20. Wend II postou uma resposta no tópico em OTServer Derivados
    Pode me passa a versão sem level? vai ajudar muito, irei fazer uma versão sem level também
  21. Tem certeza que está bostando o pokemon? pode me mandar o look.lua da pasta creaturescripts
  22. Como assim? você quer adiciona um novo pokemon com icon system? ou quer adiciona um nova ball? mais do que adianta criar um nova ball se está usando icon system isso é no dat do client, como no PDA veja: amigo nunca vii essa bug, achei algo semelhante que o cooldown do move que quando é restaura ai avisa a mensagem no default que já pode usar o move de novo

Informação Importante

Confirmação de Termo