Histórico de Curtidas
-
Shiro recebeu reputação de Ronald warsks em (Resolvido)Otclient Para Narutibia 8.54O nome da pasta deve ser "854" e não "8.54".
-
Shiro recebeu reputação de xWhiteWolf em [HELPE] Como fazer esse sistema#VoltaMerylu #MorteAosDoentes #Vlw #Flw
-
Shiro recebeu reputação de maiconmnt em Lucro com OTServ, debate !Sei muita coisa que poucos sabem, conheço alguns projetos secretos e tenho contato com pessoas antigas no mundo do "OTServ" que estão criando algumas coisas novas, mas não é por isso que pretendo ficar me exibindo ou discutir com você. xD
Enfim, OTServ realmente está dando lucro ? Não encontrei muitos servidores bons online. Além disso, encontrei apenas um "ATS" que vale a pena jogar.
E não criem mais discussões para fugir do assunto do tópico, caso contrário, irei reportar os mesmos.
-
Shiro deu reputação a MaXwEllDeN em Classe Position[EagleLib]Introdução
O script postado aqui é uma parte de uma Biblioteca que eu estou desenvolvendo para Open Tibia, a EagleLib. Esta biblioteca terá várias funções que são muito úteis e funcionais, funções que tornará mais prático o desenvolvimento de scripts.
A `classe` Position
Como muitos sabem, Lua não tem uma Orientação a Objetos nativa, mas possui uma poderosa ferramenta que nos permite simular a Orientação a Objetos, a ferramenta a qual me refiro são as metatabelas. Para tornar mais prático o desenvolvimento de scripts que necessitam manipular posições, foi criada uma `classe` nomeada Position.
Como declarar um objeto Position
Para declarar um objeto Position você deve chamar o método Position:new e atribuir como parâmetro uma tabela contendo as coordenadas da posição.
local pos = Position:new({x = 160, y = 54, z = 7}) Comparação entre posições Creio que em algum momento você já precisou, ou pensou em fazer algo como mostra o exemplo abaixo, não? local pos = {x = 160, y = 54, z = 7} local player_pos = getCreaturePosition(cid) if pos == player_pos then return doPlayerSendCancel(cid, "Você não pode fazer isso nessa posição!") end Isso não funcionaria do modo desejado, pois quando a verificação fosse feita não seria verificado se os conteúdos da tabela são iguais, mas se uma tabela é a outra(tem uma enorme diferença entre ser como ela e ser ela). Mas se você tentasse fazer desse modo, em vez do mostrado anteriormente, resultado seria satisfatório. local pos = Position:new({x = 160, y = 54, z = 7}) local player_pos = Position:new(getCreaturePosition(cid)) if pos == player_pos then return doPlayerSendCancel(cid, "Você não pode fazer isso nessa posição!") end Desse modo, se o player estivesse na posição especificada, quando o script fosse executado ele receberia a mensagem do doPlayerSendCancel. Métodos existentes atualmente Position:getItemsThere(items[, start_stack]) Position:isCreatureThere(uid) Position:doTeleportThing(uid) Position:doCreateItem(itemid, amount) Position:doRemoveCreatureThere() Position:doRemoveItemById(itemid[, amount]) Position:doSendMagicEffect(id) Position:isItemThere(itemid)
Download
A biblioteca está anexada ao tópico.
EagleLib.tar.gz
-
Shiro deu reputação a Henriqueberro em Skill e/ou Item - AttackspeedVersão: 0.3.6pl1 TFS
Função: Adiciona a velocidade de ataque de acordo com uma determinada skill e/ou arma.
Aviso: A unidade que usamos aqui é o milissegundo (ms).
1ms = 0,001s
1s = 1000ms
Instalação
em player.cpp, procure a função:
uint32_t Player::getAttackSpeed() e substitua ela inteira por:
uint32_t Player::getAttackSpeed() { int32_t weaponAttackSpeed = 0; int32_t minimumAttackSpeed = 500; Item* weapon = getWeapon(); if(weapon && weapon->getAttackSpeed() != 0) weaponAttackSpeed = floor ((int)weapon->getAttackSpeed()); // FORMULA int32_t attackSpeed = vocation->getAttackSpeed() - (getSkill(SKILL_CLUB, SKILL_LEVEL) * 20) - weaponAttackSpeed; // CHECA A VELOCIDADE MÍNIMA if (attackSpeed && attackSpeed < minimumAttackSpeed) return minimumAttackSpeed; return attackSpeed; } Explicando
Definimos um mínimo de velocidade caso a formula retorne um valor menor que 500, verificamos se a arma tem modificador de velocidade, ou seja, se a tag 'attackspeed' está definida no items.xml e então calculamos e retornamos o total. O total é definido pela seguinte formula:
(Velocidade de Ataque da Vocations.xml ) - ( Skill Club * 20 ) - ( Velocidade de Ataque da Tag 'attackspeed' do Items.xml ) Configurações
500 - O Valor mínimo de velocidade de ataque,
SKILL_CLUB - A skill que vai modificar a velocidade de ataque.
20 - O multiplicador, como default está definida 0,02 segundos a menos por skill.
Como definir a tag no items.xml
Embaixo do item desejado adicione a seguinte tag:
<attribute key="attackspeed" value="X"/> Espero que ajude alguém e qualquer problema estou a disposição, me corrija se estiver errado pois não testei, apenas desenvolvi a lógica e fiz o teste de compilação, abraços.
-
Shiro recebeu reputação de Bruno Carvalho em Lucro com OTServ, debate !Sei muita coisa que poucos sabem, conheço alguns projetos secretos e tenho contato com pessoas antigas no mundo do "OTServ" que estão criando algumas coisas novas, mas não é por isso que pretendo ficar me exibindo ou discutir com você. xD
Enfim, OTServ realmente está dando lucro ? Não encontrei muitos servidores bons online. Além disso, encontrei apenas um "ATS" que vale a pena jogar.
E não criem mais discussões para fugir do assunto do tópico, caso contrário, irei reportar os mesmos.
-
Shiro deu reputação a kaiquegabriel em Lucro com OTServ, debate !Com um ot que eu era suporter, conseguimos 200 players online em inauguração, batemos 1000 reais com 5 dias online, dedicado de 400, lucro de 600.
-
Shiro deu reputação a GiovaniRodrigo em [Resolvido] [Dúvida] If / else ou switchIF (Traduzido: Se).
IF é uma condição imposta ao script, se você quer dar uma condição você usa o IF.
Ex:
if isPlayer(cid) then Traduzido: Se éJogador(cid) faça
ELSE (Traduzido: Senão).
ELSE é usado caso a condição do IF seja falsa.
Ex:
if isPlayer(cid) then Ação else Ação Traduzido:
Se éJogador(cid) faça
Ação
Senão
Ação
Já o switch não está no alcance do meu conhecimento
-
Shiro deu reputação a MaXwEllDeN em [Resolvido] [Dúvida] If / else ou switchO switch vai executar um determinado escopo depedendo do valor de uma variável. Exemplo:
int num = 3; switch(num) { case 1: printf("O número é 1"); break; case 2: printf("O número é 2"); break; case 3: printf("O número é 3"); break; default: printf("O número é %d", num); }
Esse exemplo ai é em C++
-
Shiro deu reputação a Beyond Sky em [RME] Extensões - Raw palleteEssa lista de extensões é de um moderador de um fórum gringo (Peroxide) e é bem
interessante para os mappers avançado que usam só RAW. esteja certo de que seu remere's seja o mais atualizado
necessário antes de usar essas extensões, as extensões estão nomeadas com um "#" para que apareçam no topo
de sua lista RAW.
Obs.:se você estiver com um item.otb diferente das extensões irá aparecer items diferente em seu editor.
Como adicionar.
-
Shiro recebeu reputação de Beyond Sky em Resultado MOTW #12Me desculpem por não ter participado desse concurso, tive umas propostas de emprego e viajei....Enfim, acho que vou participar do próximo.
O mapa do Daaniel realmente está muito bonito...Tem umas bordas faltando, como por exemplo, no canto direito superior, canto esquerdo inferior e na parte de baixo com a divisa da ponte / grama...xD
Gostei do seu método de avaliar kaique, vejo que você realmente analisou os mapas de forma perfeita, continue assim ! Vou virar seu fã
E sobre sua sugestão, evanz, não sei, mas acho que o objetivo do concurso é fazer os mappers criarem mapas bonitos e agradáveis aos olhos e não mapas para RPG. Mas poderia ter outro concurso para isso...
Bem que vocês poderiam participar das brincadeiras na seção de duelos...
-
Shiro deu reputação a MaXwEllDeN em Aulas de Scripting LuaQuer aprender a programar em Lua? Sugiro que você comece olhando esses tutoriais escritos por Urso Mock, Suricato Notorious e Raposa Skyen Hasus.
Já leu todas as aulas anteriores e acha que você já está apto a criar seus próprios Scripts? Boa! Agora é hora de por suas habilidades em prática. Leia esses tutoriais:
Outros Tutoriais:
Avançado:
-
Shiro deu reputação a Renato em Chrome TibiaKing HelperFalaaa galerinha, tudo certinho? Então, hoje eu venho aqui para lançar o mais novo aplicativo do TibiaKing.com e dessa vez tenho certeza que ele será de grande utilidade para muitos, pois ele é super inovador, útil e bonitinho.
Este é o TibiaKing Helper, ele servirá com um "centro de atalhos" para você diretamente do seu navegador Google Chorme, basta você instalar o aplicativo em seu Chorme e passar a utilizar, é super simples!
Tenho certeza que você irá curtir bastante, isso facilitará a vida de muitos Tibia Kingianos!
TibiaKing Helper v1.1
via Chrome Store.
É nóis que tá meu povo.
Abração à todos!
-
Shiro recebeu reputação de evanz em Evoluindo um mapa a mais de 3 anosHm...Aqui está minha crítica, espero que melhore, rs.
Mas, você é um bom Mapper, continue assim...Está no caminho certo. xD
- Está muito quadrado, você poderia refazer essa muralha...Mas pelo que dá para ver, sua nature está boa.
- Acho que está um pouco quadrado, além disso...Acho que essa mistura de bordas ficou feia...Essa borda de rocha no estado de fusão, rs.
- Esse foi o que eu mais gostei, mudaria poucas coisas, como por exemplo...Aquelas bordas da grama no canto direito inferior, perto da escada, iria dar uma variada no formato dos caminhos e detalhar eles de uma forma mais bonita ( tem alguns tutoriais aqui no fórum, se não me engano ). Tirando isso, acho que o resto está agradável ao meu ver... xD
- Está um pouco quadrado, além disso, achei essa parte inferior da imagem estranha, esse local com as tochas...Acho que poderia ser replanejado. Também poderia dar uma revisada na parte de baixo, eu achei bem bonito, mas pode ser que possivelmente você seja capaz de melhorar o mesmo, rs.
- Encontrei alguns erros, como por exemplo, aquelas pedras que estão por cima do pilar superior direito...As bordas estão um pouco quadradas, mas o mapa está bonito, está bem coerente com o tema que você teve interesse em retratar.
- Você poderia colocar uns flocos de neve no meio do caminho para indicar que está nevando, não sei, o mapa está me parecendo muito limpo. xD
Enfim, é isso...Quero ver esse mapa terminando.
Se possível participe dos concursos e das brincadeiras na área de Mapping.
-
Shiro recebeu reputação de vinicius tatim em [Resolvido] [Duvida] OtserverÉ um problema simples, aqui está :
http://tibiaking.com/forum/topic/7481-otserv-restarter/
-
Shiro deu reputação a 3visan em [Mapping] Quem ganha fica !Evento autorizado, tópico aberto.
-
Shiro recebeu reputação de Beyond Sky em Gui's place - Show oFFOlá, gostei dos seus mapas, você tem futuro ! Alguns estão um pouco quadrados, mas você disfarçou bem com uns detalhes simples, além disso, você precisa treinar mais nas suas bordas, isso ficou notável nessa última imagem....Irei te dar uma dica, você pode dar uma variada nessas bordas de "grass" misturando os dois tipos que existem, essas com mais volume e as mais finas.