Ir para conteúdo
  • Cadastre-se

Programação [Novos Atributos] Critical/Dodge/Life e Mana Leech/Life e Mana Absorb


Posts Recomendados

  • Respostas 90
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Esse sistema foi feito utilizando a source disponibilizada neste link Pode funcionar em TFS 0.4, OTX 2.X e, talvez, em TFS 0.4 só que a probabilidade erros é maior por ter diferentes nomes de fu

@Ackerzin melhor forma de você aplicar em qualquer source é pegar uma função existe na sua source e usar o DiffCheker para comparar os códigos e deixar o do tópico com as mesmas funções e chamadas da

@Mathias Kenfi Achei um "bug" Se você estiver equipado um item com manaAbsorb e usar alguma magia de treinar ml "power down, chakra down " que contenha if getPlayerMana(cid) > 1 then    

Posted Images

@Mathias Kenfi dúvida o que acontece se adicionar esse critical e deixar o outro padrão ativo??? os dois se somam ou buga ?

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
6 minutos atrás, LeoTK disse:

@Mathias Kenfi dúvida o que acontece se adicionar esse critical e deixar o outro padrão ativo??? os dois se somam ou buga ?

 

Eles somam

Link para o post
Compartilhar em outros sites

É muito bom ver que ainda temos alguns realmente contribuindo com a ideia de OpenSource..  Apesar de do Dodge e Critical serem sistemas que todo mundo já possui de alguma forma, se conseguíssemos padronizar todo mundo pra usar esse seria mais fácil pra todos.

Link para o post
Compartilhar em outros sites

Eu tinha pensado que não ia disponibilizar quando tava criando, mas pensei errado e_e 

Boa Mathias como smp ajudando o fórum, continua assim que você vai longe cara! xD

 

Uma pequena dúvida, funciona para 0.3.6?

Editado por Spooky Ghost (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Na parte abaixo de item.cpp, voce nao especificou onde e encontrado os arquivos, creio eu que esta faltando colocar mais coisas no post, pois estou procurando essas funcoes nos mesmo arquivos e nao estou encontrando. 

testei no 0.4 e otx 

Editado por leozincorsair (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
20 minutos atrás, leozincorsair disse:

Na parte abaixo de item.cpp, voce nao especificou onde e encontrado os arquivos, creio eu que esta faltando colocar mais coisas no post, pois estou procurando essas funcoes nos mesmo arquivos e nao estou encontrando. 

testei no 0.4 e otx 

 

Todos os arquivos estão citados.

 

items.cpp

items.h

item.cpp

item.h

player.cpp

player.h

game.cpp

 

Editado por Mathias Kenfi (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
36 minutos atrás, Mathias Kenfi disse:

Todos os arquivos estão citados.

 

items.cpp

items.h

item.cpp

item.h

player.cpp

player.h

game.cpp

 

 

Vey eu nao encontrei essas funcoes de jeito nenhum na source, verifica ai por favor se esta correto, não achei a partir do item.cpp

 

Editado por leozincorsair (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
41 minutos atrás, Spooky Ghost disse:

@leozincorsair Eu consegui encontrar sem nenhum problema, as informações do tópico estão bem informativas, creio que você que deve estar se confundindo com algum lugar, não encontrou tentando no ctrl+c? tenta por palavras chaves amigo.

 

Eu nao consigo achar

 

if(it.attackSpeed || (item && item->getAttackSpeed()))
		{
			if(begin)
			{
				begin = false;
				s << " (";
			}
			else
				s << ", ";

			s << "AS: " << (item ? item->getAttackSpeed() : it.attackSpeed);
ATTR_DUALWIELD = 43,

Qual arquivo voce viu ?

error

Screenshot_43.png

Screenshot_44.png

Link para o post
Compartilhar em outros sites

tb não consegui achar o 

if(it.attackSpeed || (item && item->getAttackSpeed()))

mas enfim, parabens pelo trabalho man, obg por compartilhar

Link para o post
Compartilhar em outros sites

@bellatrikz só copiar as funções apenas dos leech... só olhar bem onde a função termina

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

iradooooo, irei usar <3

 

 

Estava eu compilando quando me deparo com esse erro, como foi muitas modificações na source, pensei que tinha errado algo, mas refiz tudo do zero com mais atenção e deu novamente o mesmo erro, estou usando TFS 0.4

 

luascript.cpp: In static member function static int32_t LuaInterface::luaGetPlayerManaAbsorb(lua_State*)’:
luascript.cpp:9488:29: error: class Player has no member named getManaAsborb
   lua_pushnumber(L, player->getManaAsborb());
                             ^
Makefile:40: recipe for target 'obj/luascript.o' failed
make: *** [obj/luascript.o] Error 1

 

Editado por Ackerzin
nao ter que duplicar post (veja o histórico de edições)

       112674.gif

 

 

 

Link para o post
Compartilhar em outros sites

@Ackerzin melhor forma de você aplicar em qualquer source é pegar uma função existe na sua source e usar o DiffCheker para comparar os códigos e deixar o do tópico com as mesmas funções e chamadas da sua source assim é 100% de certeza que não vai dar erro porque muda alguns pequenos detalhes de source para source ai é nisso que gera o erro

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites

@Gabrieldsadaxas @leozincorsair O tutorial foi feito a partir da OTX 2.xx séries na qual já existe, por padrão, atributos como dualwield e attackspeed

 

Vocês devem, no entanto, adaptar para a source de vocês.

 

Não tem que colocar especificamente depois de

ATTR_DUALWIELD = 43;

 Vocês devem colocar ele depois do PENÚLTIMO ATTR e antes do ÚLTIMO

 

A mesma coisa no item.cpp em relação ao attackspeed

if(it.attackSpeed || (item && item->getAttackSpeed()))

Se não tem na source vocês podem olhar em uma source que tenha (OTX 2.XX séries de preferência) e ver em qual posição deve ser colocada

 

		else if(it.weaponType != WEAPON_AMMO && it.weaponType != WEAPON_WAND)
		{
			if(it.attack || it.extraAttack || (item && (item->getAttack() || item->getExtraAttack())))
			{
				begin = false;
				s << " (Atk:";
				if(it.hasAbilities() && it.abilities->elementType != COMBAT_NONE)
				{
					s << std::max((int32_t)0, int32_t((item ? item->getAttack() : it.attack) - it.abilities->elementDamage));
					if(it.extraAttack || (item && item->getExtraAttack()))
						s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos;

					s << " physical + " << it.abilities->elementDamage << " " << getCombatName(it.abilities->elementType);
				}
				else
				{
					s << int32_t(item ? item->getAttack() : it.attack);
					if(it.extraAttack || (item && item->getExtraAttack()))
						s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos;
				}
			}

			if(it.defense || it.extraDefense || (item && (item->getDefense() || item->getExtraDefense())))
			{
				if(begin)
				{
					begin = false;
					s << " (";
				}
				else
					s << ", ";

				s << "Def:" << int32_t(item ? item->getDefense() : it.defense);
				if(it.extraDefense || (item && item->getExtraDefense()))
					s << " " << std::showpos << int32_t(item ? item->getExtraDefense() : it.extraDefense) << std::noshowpos;
			}
		}

		if(it.attackSpeed || (item && item->getAttackSpeed()))
		{
			if(begin)
			{
				begin = false;
				s << " (";
			}
			else
				s << ", ";

			s << "AS: " << (item ? item->getAttackSpeed() : it.attackSpeed);
		}

Claramente você perecebe que o attackspeed está depois de 

else if(it.weaponType != WEAPON_AMMO && it.weaponType != WEAPON_WAND)
		{
			if(it.attack || it.extraAttack || (item && (item->getAttack() || item->getExtraAttack())))
			{
				begin = false;
				s << " (Atk:";
				if(it.hasAbilities() && it.abilities->elementType != COMBAT_NONE)
				{
					s << std::max((int32_t)0, int32_t((item ? item->getAttack() : it.attack) - it.abilities->elementDamage));
					if(it.extraAttack || (item && item->getExtraAttack()))
						s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos;

					s << " physical + " << it.abilities->elementDamage << " " << getCombatName(it.abilities->elementType);
				}
				else
				{
					s << int32_t(item ? item->getAttack() : it.attack);
					if(it.extraAttack || (item && item->getExtraAttack()))
						s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos;
				}
			}

			if(it.defense || it.extraDefense || (item && (item->getDefense() || item->getExtraDefense())))
			{
				if(begin)
				{
					begin = false;
					s << " (";
				}
				else
					s << ", ";

				s << "Def:" << int32_t(item ? item->getDefense() : it.defense);
				if(it.extraDefense || (item && item->getExtraDefense()))
					s << " " << std::showpos << int32_t(item ? item->getExtraDefense() : it.extraDefense) << std::noshowpos;
			}
		}

Então se não tiver esse atributo na sua source é só adicionar depois do código citado acima

Link para o post
Compartilhar em outros sites
1 hora atrás, LeoTK disse:

@Ackerzin melhor forma de você aplicar em qualquer source é pegar uma função existe na sua source e usar o DiffCheker para comparar os códigos e deixar o do tópico com as mesmas funções e chamadas da sua source assim é 100% de certeza que não vai dar erro porque muda alguns pequenos detalhes de source para source ai é nisso que gera o erro

 

Não entendi como posso usar isso ai, poderia me mostrar como fazer?

       112674.gif

 

 

 

Link para o post
Compartilhar em outros sites
6 minutos atrás, Ackerzin disse:

Não entendi como posso usar isso ai, poderia me mostrar como fazer?

 

Apenas troque

player->getManaAsborb()

por 

player->getManaAbsorb()

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo