Ir para conteúdo
  • Cadastre-se

(Resolvido)[DUVIDA] Monstros se atacam como remover?


Ir para solução Resolvido por DukeeH,

Posts Recomendados

Então galera do Tibia king, venho aqui pedir um auxilio, não tenho a minima noção de onde mexer, os monstros como por exemplo Demon, sempre que dá a sua spell pra frente acaba ferindo outros demons, o que acaba fazendo com que roube um pouco de exp, assim como em Hydras, os monstros se acertam e se matam, gostaria de colocar para que os monstros não se ataquem, tem como fazer isso? Grato desde já

Link para o post
Compartilhar em outros sites
6 horas atrás, dukeeh disse:

Provavelmente apenas nas sources. Isso é algo normal.

E não tem como remover? N lembro dos ots que eu jogava os monstros se atacarem...

Link para o post
Compartilhar em outros sites
  • Solução

Se souber mexer em sources (pode ser possivel fazer através de creaturescripts, mas ficaria ruim acredito eu...)

Existem vários tutoriais de como compilar e boas sources para download.

 

monster.cpp

trocar:

void Monster::drainHealth(Creature* attacker, CombatType_t combatType, int32_t damage)
{
	Creature::drainHealth(attacker, combatType, damage);
	if(isInvisible())
		removeCondition(CONDITION_INVISIBLE);
}

por:

void Monster::drainHealth(Creature* attacker, CombatType_t combatType, int32_t damage)
{
	bool effect = true;
	if(g_config.getBool(ConfigManager::MONSTER_DAMAGED_BY_PLAYER_ONLY))
	{
		if(!isPlayerSummon()) //Player summons can be damaged by players and monsters
		{
			if(attacker->getPlayer() || attacker->isPlayerSummon()) //Make sure it is a player making damage
				effect = true;
			else
				effect = false;
		}
		else
			effect = true;
	}
	else
		effect = true;
	
	if(effect)
	{
		Creature::drainHealth(attacker, combatType, damage);
		if(isInvisible())
			removeCondition(CONDITION_INVISIBLE);
	}
	else
		Creature::drainHealth(attacker, combatType, 0);
}

 

configmanager.cpp

Embaixo de: 

m_confBool[SHOW_HEALING_DAMAGE_MONSTER] = getGlobalBool("showHealingDamageForMonsters", false);

Adicionar:

m_confBool[MONSTER_DAMAGED_BY_PLAYER_ONLY] = getGlobalBool("monsterDamagedByPlayerOnly", false);

 

configmanager.h

Embaixo de:

SHOW_HEALING_DAMAGE_MONSTER,

Adicionar:

MONSTER_DAMAGED_BY_PLAYER_ONLY,

então compilar....

 

config.lua

Embaixo de:

showHealingDamageForMonsters = false

Adicionar:

monsterDamagedByPlayerOnly = true

 

Editado por dukeeh (veja o histórico de edições)

asdukeeh.jpg

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 Sphynx1
      Olá, esse é um dos primeiros scripts que eu consigo fazer, resolvi trazer ao fórum pois talvez em algum momento da história isso sirva para alguém fazer alguma coisa. Eu também gostaria de ceder todos os créditos desse trabalho para o @WooX, pois sem ele eu não teria o conhecimento necessário para fazer o script funcionar, obrigado.
      local configuration = { positionParedinso1 = {x=1067, y=1071, z=7, stackpos=1}, -- Posição do objeto que ira sumir time = 1*15*1000, -- tempo para o objeto voltar para o seu lugar devido monstrosTime = 1*10*1000, -- tempo até os monstros despertarem guardioes = { [1] = {name = "Hellfire Fighter", pos = {x = 1065, y = 1071, z = 7}}, -- Todas posições onde os monstros seram criados [2] = {name = "Massive Fire Elemental", pos = {x = 1061, y = 1069, z = 7}}, -- Bem como seus nomes e quantidade [3] = {name = "Fury", pos = {x = 1069, y = 1074, z = 7}}, [4] = {name = "Demon", pos = {x = 1069, y = 1071, z = 7}}, [5] = {name = "Diabolic Imp", pos = {x = 1066, y = 1074, z = 7}}, [6] = {name = "Fire Devil", pos = {x = 1064, y = 1075, z = 7}}, [7] = {name = "Fire Elemental", pos = {x = 1062, y = 1069, z = 7}}, [8] = {name = "Massive Fire Elemental", pos = {x = 1067, y = 1068, z = 7}} } } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then -- alavanca doTransformItem(item.uid, 1946) positionParedinso = getThingFromPos(configuration.positionParedinso1) if positionParedinso.itemid ~= 0 then doRemoveItem(positionParedinso.uid, 1) doCreatureSay(cid, "Um som terrível de engrenagens antigas se movendo pode ser ouvido imediatamente após você puxar a alavanca. \z Estrondos, chamas e vozes demoniacas estão vindo na sua direção, são ouvidos cada vez mais altos, corra por sua vida, \z você acaba fezer um mal antigo despertar.", TALKTYPE_ORANGE_1) -- Mensagem que será exibida após você puxar a alavanca addEvent(function() for k, v in pairs(configuration.guardioes) do doCreateMonster(v.name, v.pos) end end, configuration.monstrosTime) addEvent(doCreateItem, configuration.time, 12794, configuration.positionParedinso1) -- "12794" é o ID da parede que você quer criar após puxar a alavanca end else doTransformItem(item.uid, 1945) end end  
    • Por Macedo98
      Então galera alguém pode me ajudar com um script que eu estou precisando muito? Sério faço qualquer coisa me ajudam:
      O script é o seguinte, o player entra por um title na arena e é cobrado dele certa quantia de dinheiro...ao entrar no title ele é teleportado para o local da arena sendo ela easy,medium,hard...
      Após matar um monstro ele pisa no title e é automaticamente resetado e spawna outro monstro...para ficar mais pratico vou colocar um link que é igualzinho o que eu queria!
       
       
       
      POR FAVOR ALGUM SCRIPTER BOM ME AJUDA PELO AMOR DE DEUS DOU REP ++ TUDO PLS!!! POR FAVOR!!!!!!!!!!!!!!!!!!
    • Por Jungle
      Bom galera, estou precisando um script ou alguma dica de como retirar o ganho de experiência ao matar os monstros, deixando 0 ou a minha preferência.
      Pretendo mudar o modo de ganho de experiência dos personagens, ex: Scrolls, comida.
      Obrigado! +rep
    • Por lucaspds
      GALERA, venho novamente pedir ajuda a vocês, estou reeditando um server baiak, porém, as criaturas vip e as criaturas vip 2 estão com loot muito almentados... O server que eu baixei tem mtas hunts com elas, a minha duvida é :
      Tem como pelo REMERE ou de algum outro modo SUBSTITUIR os monstros vips por monstros normais??? Tipo dar um comando que todos DEMON VIP virem DEMON? Sei que no REMERE tem uma opçao parecida para objeto, gostaria de sabe se tem um jeito de usa-la pra monstros...
      Aguardo resposta.
      Grato.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo