Ir para conteúdo

dalvorsn

Conde
  • Total de itens

    750
  • Registro em

  • Última visita

  • Dias Ganhos

    8

Tudo que dalvorsn postou

  1. function onUse(cid, item, frompos, item2, topos) if isWatchingTv(cid) then return true end local function getContainers(pos) local things = getTileInfo(pos).things local ret = {} for stack = 0, things do pos.stackpos = stack local item = getTileThingByPos(pos) if item and isContainer(item.uid) then local quemMatou = getItemAttribute(item.uid, "corpseowner") if quemMatou then local player = getCreatureByName(quemMatou) if isPlayer(player) then local isInParyWithPlayer = false if isInParty(cid) and isInParty(player) then isInParyWithPlayer = isPartyEquals(player, cid) end if getCreatureName(cid) == quemMatou or isInParyWithPlayer then table.insert(ret, item) end end end end end return ret end local corpses = getContainers(getThingPosition(item.uid)) if #corpses == 0 then doPlayerSendCancel(cid, "Você não pode abrir um loot que não é seu.") return true end local autoLootList = getAllItensInMyList(cid) local bag = getPlayerSlotItem(cid, 3).uid local itemsToRemove = {} if isCollectAll(cid) then for _, corpse in pairs(corpses) do for a = 0, getContainerSize(corpse.uid) - 1 do local it = getContainerItem(corpse.uid, a) if it.uid > 0 then if addItemInFreeBag(bag, it.itemid, it.type) ~= false then table.insert(itemsToRemove, it.uid) end end end end end if #autoLootList > 0 and not isCollectAll(cid) then for a = 0, getContainerSize(item.uid) do local it = getContainerItem(item.uid, a) if it.uid > 0 then for i = 1, #autoLootList do if getItemInfo(it.itemid).name == autoLootList[i] then if addItemInFreeBag(bag, it.itemid, it.type) ~= false then table.insert(itemsToRemove, it.uid) end end end end end end if #itemsToRemove > 0 then for i = 1, #itemsToRemove do doChangeTypeItem(itemsToRemove[i], 0) end end end Não cheguei a testar, mas é mais ou menos isso ai
  2. Tem diversos warnings na compilação do dxp, provavelmente voce vai ignorar todos pra compilar, então eu acho que é mais pratico remover a flag -Wall. Além disso você está usando o ubuntu 12.04, nessa distro o boost normalmente é 1.48, que tem a função leaf depreciada. Onde estiver: std::string s = it->leaf(); Você troca para: std::string s = it->path().filename().string(); Dai da um clean e compila novamente: make clean && make -j4
  3. Olha o nome moçada, 8.6, obviamente não vai ter mounts ... E respondendo a pergunta tem muita coisa de diferente, ele é feito pra trabalhar com protocolo 8.6, coisa que não acontece na branch master que trabalha com os protocolos mais recentes
  4. Que erros ocorrem quando tu tenta compilar?
  5. Instalando as libs corretas da pra compilar em todas acredito
  6. Brother, precisando falar contigo, não da pra te enviar mensagens, me passa algum contato por pm ai

    Abraço

    1. Lordfire

      Lordfire

      cara não sei mais usar essa porra não consigo encontrar onde manda pm em lugar nenhum

      me manda um email ai ranisalt@gmail.com

  7. Visitor::logout(); Porém tem que ver onde tu ta executando isso se tem acesso a classe Visitor
  8. Não sei nenhum para você 'editar', eu entendi que você queria fazer um launcher e isso infere em cria-lo do zero, programando e etc. Existem na net com certeza, inclusive aqui no xtibia mesmo, só dar uma procurada ai
  9. Caralho bicho, tu nunca programou nada em lua não? kk Tu ta editando os parâmetros da declaração da função, sendo que eu fui bem claro quando eu disse pra USAR a função no init.lua que fica na raiz do cliente Não é pra você alterar NADA no entergame, é para você ir na pasta raiz do otclient, procurar pelo arquivo init.lua e no final dele você USA a função
  10. É só usar a função brow, é quase que auto explicativo isso '-' No init.lua tu bota essa função: EnterGame.setUniqueServer("127.0.0.1", "7171", 860)
  11. Se eu tiver um tempinho dou uma ajeitada, o melhor jeito de fazer isso é usar o getTileInfo, dai essa função vai retornar um campo chamado things, que é o numero de things que existem no tile, que corresponde ao stackpos, dai é so iterar em cima dos things, verificando se é um corpse e se é container e etc Dai o resto é o que o script ai ja faz
  12. Sim, para otcliente que tem varios arquivos menores vale muito a pena, e o meu conselho é que faça com patchs. E sim, voce teria que fazer uma parte no site ou um site dedicado pra isso (o que é mais aconselhavel para nao pesar a banda do site com downloads) Entende como funciona os request http? é basicamente o que vai precisar pra comunicação. Se atente as configurações do apache também para não limitarem o tamanho/timeout de resposta pois voce nao sabe qual a banda de internet do cliente
  13. É só pegar a pos do item.uid e buscar quais outros corpses estao nesse mesmo tile
  14. Use a função EnterGame.setUniqueServer(host, port, protocol, windowWidth, windowHeight) https://github.com/edubart/otclient/blob/master/modules/client_entergame/entergame.lua#L368-L414
  15. O esquema para fazer radio button é o seguinte, tu vai setar todos os caras que pertecem ao mesmo radio button com o mesmo name, e o que vai discrimar um de outro é o value dele. Dai tu captura o radio pelo name, e baseado no value tu define qual a opção selecionada
  16. Cara, nao existe tu querer hostear em pc de casa, nunca que tu vai ter uma infra boa pra isso Paga um serviço de hospedagem e gg
  17. O conceito de launcher seria basicamente um programa que serviria para abrir o seu cliente, o ideal era que sempre fosse aberto pelo launcher, se esta usando cliente do tibia nao tem como fazer isso sem usar injeção de dll. Porém o launcher em si da pra fazer, ai o tipo de launcher vai variar muito do seu conhecimento. Pode ser um launcher simples que usa patchs de atualização, a ideia seria basicamente o seguinte: - voce teria uma especia de webservice onde voce consultaria a versão mais recente do cliente, e verificasse quantos patchs de atualização deveriam ser aplicados. da pra fazer uma coisa bem simples em php mesmo, onde tu recebe um request com a versão do cliente que ele ta usando atualmente, e a partir disso ele identifica e envia para o launcher os endereços dos patchs de atualização. - baixados o patchs (entenda como um arquivo comprimido com as atualizações), o programa deve aplica-los - apos estarem aplicador basta ele abrir o outro programa Agora se pretende faze algo mais robusto, ai já necessita de mais estudo, e mais trabalho também. Que seria um launcher que usa o conceito de binary delta, que trabalha apenas em cima de diffs. Ou seja, ele nao baixa o arquivo inteiro que foi modificado, e sim as modificações que foram feitas. O que é muito mais eficiente. Existem algoritimos prontos para essa parte mais pesada, porem ainda assim é bem mais complexo de fazer Agora tem um porem, se for cliente do tibia nao tem nem muito o que atualizar, é basicamente spr dat e pic, um patch disso seria quase que baixar novamente o cliente todo, não sei se vale muito a pena
  18. kkkkkkkkkkkkkkkkkkkkkkkkkk http://linux.die.net/man/8/iptables Exemplo de implementação(não é para servidor, não use isso diretamente, e so pra tu entender como seria uma possivel implementação) https://www.vivaolinux.com.br/dica/Configuracao-basica-do-IPtables E aqui um tutorial bem completo sobre como fazer um script de firewall usando iptables https://www.vivaolinux.com.br/artigo/Script-de-firewall-completissimo Estude-os e seja feliz
  19. depende da proporção, se for algo pequeno uma configuração de iptables pra dropar ja basta, agora se for algo a ponto de afetar o link do host, nao tem muito o que fazer
  20. Para religar basta tu fazer um shell que rode um loop infinito onde a cada chamada ele execute o server. Já o save com shutdown tu faz internamente por script, não da pra dar mais informações porque tu nao falou qual a distro que tu usa, se é tfs 1.x, 036, 04, crystal, otx e etc Normalmente seria uma global event, porem vai depender de que distro tu usa
  21. doSetCreatureOutfit gera uma condition outfit, o comportamento é exatamente como esperado, não se troca a cor nem altera o looktype de uma condition outfit, somente se remover e adiciona-la de novo
  22. Passa ele pra alguma conta, loga nele e troca '-' Claro, isso se ele nao tiver dando os items pelo primeiro login, o que é o mais comum na verdade, se for tu precisa encontrar qual creature script onlogin esta fazendo isso e alterar la, normalmente é firstitems.xml la em mods
  23. dalvorsn

    Trade system

    Existe uma creature event chamada onTradeAccept(cid, target, item, targetItem). Observe que voce tem 4 parametros que te possibilitam fazer essa verificação, e outras mais caso queira.
  24. Tu esqueceu de fechar as tags <tr>. Provavelmente na hora do html tentar ajustar ele bugou alguma coisa
  25. É preferível com versões de boost ate 1.54/1.55, que estao presentes no repositório do Ubuntu 14.04, porem com as anteriores da também
  • Quem Está Navegando   0 membros estão online

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