-
Total de itens
446 -
Registro em
-
Última visita
-
Dias Ganhos
30
Posts postados por Tony Araujo
-
-
Minha humilde opinião, "se quer um trabalho bom, faça você mesmo", eu vi muitos servidores com bastante gambiarra e sistemas bugados, eu particularmente não utilizaria. -
3 horas atrás, dalvorsn disse:
Removeu as declarações de variaveis que não são utilizadas para pokemon? função desnecessárias e tudo mais? Se sim, ai de fato houve consequentemente uma redução considerável, porque ai aonde tu teria uma lista de 500 pokemons reduzindo quase pela metade o gasto de memoria pra cada um(class Monsters), e ainda reduzindo mais nos pokemons vivos dentro do jogo(class Monster) que pode ser um número bem alto. Não tinha ficado claro que essa mudança tinha sido feita, parecia ter apenas alterado a leitura em si. Então meu jovem, meus parabéns, excelente! :>
Obrigado, além de eu evitar criar outros montes de XML's para diferenciar o shiny do normal, e do selvagem para o capturado. Isso tudo é feito direitinho apenas por essa leitura e funciona para ambos.
Consumo do meu servidor está em 16MB.
-
32 minutos atrás, dalvorsn disse:
O que vai consumir memoria não é a organização do xml, e sim como tu vai organizar isso dentra da source, a leitura deles pouco importa porque vai ser feita uma vez quando o server ligar e depois disso vai tudo pra memoria. Se é um ats de pokemon o que tu pode fazer pra livrar memoria é limpar os attributos que nao se usam mais, coisas que tinham nos monstro de tibia e não tem nos de pokemon por exemplo, mas tem que ter cuidado ao fazer isso porque muitos deles sao usados em diversos lugares da source.
Mas isso tá feito, é exatamente o que eu postei apenas que o servidor lê, o resto não existe mais.
-
1 hora atrás, Skulls disse:
Boa Tony, sempre com propostas legais.
Apesar de não gostar nenhum pouco do xml - eu por mim extinguia ele do tfs - achei uma boa pedida pra quem quer simplificar leitura, edição e entendimento dessa
porcariamagnífica ferramenta do tfs.Grande abraço!
Valeu brother, tava tentando fazer de uma forma que não consuma memória desnecessária no servidor e também que fique bastante organizado, limpo e fácil de edição.
-
Sim, ele verifica se o jogador tem uma mpa eauheaea. só colocar o ID da MPA quando for utilizar a função. -
[LUA Function] getPlayerItems(cid[, id])
O que ela faz: Bom, esta função retorna todos os items do jogador, você também pode usa-la de modo que retorne todos os items, que tenha um certo ID.
Spoilerfunction getPlayerItems(cid, id) -- By OrochiElf local retItems = {} for slots = 1, 10 do local item = getPlayerSlotItem(cid, slots) if isContainer(item.uid) then for slotsBp = , getContainerSize(item.uid) - 1 do local itemBp = getContainerItem(item.uid, slotsBp) if id ~= nil then if itemBp.itemid == id then table.insert(retItems, itemBp) end else table.insert(retItems, itemBp) end end end if id ~= nil then if item.itemid == id then table.insert(retItems, item) end else table.insert(retItems, item) end end return retItemsend
Modo de uso:
for _, item in pairs(getPlayerItems(cid)) do -- Retornaria todos os id\'s dos items que o player tem. print(item.itemid)end for _, item in ipairs(getPlayerItems(cid, 2160)) do -- Retornaria todas as quantidade e o nome do item, cuja o ID fosse (2160). print(item.type.."x "..getItemNameById(item.itemid))end
-
Fala ae pessoa, hoje eu vim trazer novamente a idéia de um xml organizado. Bom, como alguns sabem eu postei essa ideia ano passado mostrando como organizar um XML para ficar mais fácil, limpes e bonito de para possíveis edições, além de evitar um monte de trabalho desnecessário de configurações em tabelas, dentre outros. Vou postar aqui um exemplo de como está o meu XML, não reparem as configurações presentes nele porém, é apenas uma demonstração. Espero que gostem, pode ajudar a muitos.
Lembrando, esta XML é para ser usada para selvagens e capturados.
<?xml version="1.0" encoding="UTF-8"?><monster name="Pidgey" experience="216" speed="100"> <health base="1200" gain="30"/> <look type="30" corpse="5961" typeShiny="42" corpseShiny="5822"/> <pokemon> <poke description="A strange seed was planted on its back at birth. The plant sprouts and grows with this Pokemon."/> <poke chance="20"/> <poke type="Grass, Poison"/> <poke portrait="2377"/> <poke portraitShiny="1222"/> <poke level="20"/> <poke agressive="1"/> </pokemon> <effectiveness> <eff effective="ice,flying,psychic"/> <eff normal="poison,bug,rock,ghost,fire"/> <eff ineffective="water,electric,fighting,earth"/> <eff null="grass"/> </effectiveness> <abilities> <hability name="cut"/> <hability name="fly" outfit="123" speed="100"/> </abilities> <evolutions> <newEvo name="Ivysaur" stone1="2276" level="40"/> </evolutions> <moves> <move name="melee" cooldown="2" chance="100" range="1" power="1"/> <move name="Tri Flames" cooldown="2" level="20" power="10" chance="30" type="normal" icoOn="3" icoOff="4"/> </moves> <loot> <item name="straw" countmax="6" chance="100000"/> <item name="feather" countmax="1" chance="30000"/> </loot></monster>
-
Em 08/04/2016 at 13:28, valakas disse:
não da conflito com o gender?
Bom, no meu caso eu não uso sistema de sexo, porém caso você use, não tem nenhum problema ter os 2 ícones ^^
-
Fala ae galera, tava olhando minha ft do perfil aqui do fórum e ví que ela não se encaixa direito, e também ela ja está um pouco antiga.
Será que não teriam como fazer outra foto pra mim?
O personagem do é esse aqui
Escrito OrochiElf na imagem. Obrigado <3
-
Brother, se não me engano, Tarjei (Programador do Necronia) postou as sources de uma DLL que tem essas mesmas funções na OTLand. da uma pesquisada lá. -
12 minutos atrás, Animal Pak disse:
Você sabe colocar o oldclient para reconhecer o spr estendido @OrochiElf ?
Consigo fazer sim ^^
-
Não brother, não pretendo posta-lo -
Ae galera, voltei a brincar com o Client e resolvi fazer um AutoUpdater, daqueles parecidos com o TibiaGlobal. Ainda não terminei, pretendo colocar a ProgressBar, mas taí uma prévia.
-
5 minutos atrás, Drazyn1291 disse:
Iai, tenho uma dúvida, qual a linguagem usada para usar este Client Injection? Se pá eu tento olhar tbm
é C++
-
Na parte do "onKill" ali, você poderia usar assim também.
function onKill(cid, target) if isPlayer(cid) and isPlayer(target) then if isInArray(skulls, getPlayerSkullType(target)) then addPlayerFrag(cid, 1) end end return trueend
-
11 minutos atrás, Christensen disse:
Sempre com grandes inovações tony hahaha
Valeu brother kkkkk. Não deixe de deixar sua sugestão ai haha
-
7 horas atrás, Caronte disse:
Hahahaha, se acha que ele é bobo?
Eu acho até inteligente ele não postar, porque o client é para um servidor que ele está criando, ou seja, exclusividade é mais rentável. Cabe a ele postar depois que o ot dele falir...
@OrochiElf, tem como usar esse método para injetar uma DLL igual do elfbot, só que uma pseudo para bloquear o uso do elfbot? seria bem interessante.
Tem sim brother, inclusive, eu coloquei isso nessa DLL aqui. Quando alguma outra DLL é injetada, o cliente da crash.
6 horas atrás, Deadpool disse:Tony, vou desenhar um interface pra você, e sobre esse menu autoloot, eu acho uma "poluição".. Você pode colocar simplesmente pra quando eles clicar no corpse, coletar os itens, sem precisar ativar opção nenhuma.. Todos gostam disso, creio que já tem autostack..
Opa faz sim. Aguardando aqui.
8 horas atrás, leozinpbb disse:exatamente assim , gostei pakas manoo muito bom !!
kkkkkk, valeu brother. Quaisquer mais idéias, estou aceitando.
8 horas atrás, valakas disse:tive uma ideia genial Orochi, posta pá nós ai :v ehuehue,
ps: está foda
Valeu brother.. mas seguinte, faço as palavras do @Caronte, as minhas. kkkkkk
-
27 minutos atrás, leozinpbb disse:
Nossa senhora que beleza !
Fiz sua sugestão aqui, me diz se foi assim mesmo que você queria.
Tópico atualizado.
-
21 minutos atrás, leozinpbb disse:
Beleza !
Seguinte, eu fiz pra quando apertar no CheckBox do AutoLoot, ele mudar de vermelho pra verde.
Agora eu estou tentando fazer a tela do Shop aqui ^^
-
Boa! Vou começar algo aqui e depois mostro como ficou. -
3 minutos atrás, leozinpbb disse:
Sim senhor, rsrsrs já estou ancioso . isso ira revolucionar o conceito para old client .
Se possível, desenha no paint como ficaria o layout desse Auto Loot, do Shop e talz.
-
Agora, leozinpbb disse:
igual essa bara cooldown , so que outras coisas tipo ativar ou desativar auto loot , shop entre outras coisinhas .. se for possivel e claro ( torcendo pra que funcione ) !! =D
Sim, é possível fazer kkkkk, depois vou ir montando aqui e faço um ShowOff. Por isso eu quero bastante idéias.
-
4 minutos atrás, leozinpbb disse:
Seria bom tambem se fosse compativel com outros derivados tipo ''narutibia'' e com sprites extendidas com menus nas bordas , otima ideia !!
É compatível para qualquer tipo de servidores. Tem como adicionar as sprites extendidas. e não entendi esse seu "menu nas bordas" kkkk
-
50 minutos atrás, Deadpool disse:
Ow! Vemos aqui um carinha que sempre correu atrás do que queria haha.. Muito bom orichi.. Bem, idéias pra fazer no oldcliente são poucas, mas.. Gostei da barrinha de moves. É igual a da svke?com icons dos móves)
Faz botao guild, com várias opções.
Primeiro faz um menu, e mete os submenus neles, botões como guild, house haha, é sotumas dicas. Gostei muito, tô acompanhando, se precisar de algo tamo ae..
Brother, pode falar ai o que vcê tem de idéias e se possível e muito melhor, desenhar no paint hahaha
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
Loteria por item
em Scripts
Postado
Bom, eu fiz um pequeno remake no código do @miguel223
Actions
-- Tony Araújo - OrochiElf --function onUse(cid, item) if getPlayerStorageValue(cid, 13812) < 100 then setPlayerStorageValue(cid, 13812, getPlayerStorageValue(cid, 13812) + 1) doPlayerSendTextMessage(cid, 22, "Você tem ".. getPlayerStorageValue(cid, 13812) .."x chances de acertar na loteria.") doSendMagicEffect(getThingPosition(cid), 12) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, 22, "Voce ja apostou o maximo possivel para o sorteio!") end return trueend
GlobalEvents
-- Tony Araújo - OrochiElf --function onThink(cid, interval, lastExecution) if math.random(100) <= getPlayerStorageValue(cid, 13812) then doPlayerAddItem(cid, 2160, 100) doPlayerSendTextMessage(cid, 22, "Você acaba de ganhar na loteria, parabéns.") else doPlayerSendTextMessage(cid, 22, "Você não foi sorteado para o prémio, mais sorte da proxima vez.") end setPlayerStorageValue(cid, 13812, 0) return trueend