NB
dúvida

Tirar Exp Q O Summon Ganha

Por nbb147, 12 de ago. de 2012 em Scripts

tibia
summon
exp
script
18
5k
nbb147N
12 de agosto de 2012 às 11:40

galera eu queria saber se tem como tirar aquela xp q o summon ganha quando ajuda o player a matar um monstro, se possivel alguem possa passar um script..

LuckOakeL
13 de agosto de 2012 às 20:39

Jovem, você tem as sources do seu server?

nbb147N
13 de agosto de 2012 às 22:32

nao, como eu posso conseguir?plz mim ajuda pelo amor de deus

LuckOakeL
13 de agosto de 2012 às 22:37

Carinha, se seu server for 8.6, procura as sources 0.3.6, sem elas, acredito eu que não dá pra tirar essa XP do summon.

Editado Agosto 13 por LuckOake

nbb147N
13 de agosto de 2012 às 22:40

meu serve e 8.54 é um new slayer yurots..

LuckOakeL
13 de agosto de 2012 às 22:44

Vou te mandar via PM o link com as sources, pois não sei se posso passar o link de outros fórums aqui.

nbb147N
13 de agosto de 2012 às 22:55

e pra baixar as dls?

LuckOakeL
13 de agosto de 2012 às 23:00

Não, só o source code.

 

PS: Procura depois um tutorial aqui no XTibia sobre como compilar TFS.

nbb147N
13 de agosto de 2012 às 23:05

blz, mais quando eu abro soucer code tem uma lista grande de arquivos e para baixar todos?

 

edit

pronto cara ja foi ta baixando

 

mais mim diz quando eu estiver compilando o servidor e tenho q fazer oq?

Editado Agosto 13 por nbb147

LuckOakeL
13 de agosto de 2012 às 23:07

Tutorial -- Clique aqui.

 

Tutorial 2 -- Clique aqui.

 

Tutorial 3 -- Clique aqui.

 

Caso não entenda um, tem outros ai.

 

Jovem, amanhã eu termino de te ajudar, vou repousar.

Editado Agosto 13 por LuckOake

nbb147N
14 de agosto de 2012 às 01:24

cara, compilei o servidor agora, to so esperando vc mim diser oq fazer ^^

LuckOakeL
14 de agosto de 2012 às 14:13

Meu jovem, não era pra compilar ainda, mas tudo bem, depois só recompilar.

 

Agora voltemos à questão.

 

Edite em creature.cpp:

 

	void Creature::addDamagePoints(Creature* attacker, int32_t damagePoints)
{
	uint32_t attackerId = 0;
	if(attacker)
	{
		if(Creature* master = attacker->getMaster())
			attacker = master;

		attackerId = attacker->getID();
	}

	if(attacker->getPlayer())
	{
		CountMap::iterator it = damageMap.find(attackerId);
		if(it != damageMap.end())
		{
			it->second.ticks = OTSYS_TIME();
			if(damagePoints > 0)
				it->second.total += damagePoints;
		}
		else
			damageMap[attackerId] = CountBlock_t(damagePoints);
	}

	if(damagePoints > 0)
		lastHitCreature = attackerId;
}

 

PS: Não sei mexer com sources, então, se não conseguir colocar esse code, espere a ajuda de alguém.

 

Fonte do code: http://otland.net/f132/c-disable-exp-sharing-summon-117941/

Editado Agosto 14 por LuckOake

nbb147N
14 de agosto de 2012 às 17:21

Deu esse erro:

 

 

LuckOakeL
14 de agosto de 2012 às 19:22

@nbb147

 

Você adicionou o code no creaturescript.cpp, né?

 

Acredito eu que você deve procurar a função void Creature::addDamagePoints(Creature* attacker, int32_t damagePoints) original das sources e substituir ela toda pelo código, e não adicionar simplesmente.

Editado Agosto 14 por LuckOake

nbb147N
14 de agosto de 2012 às 21:02

cara deu quase certo, pq assim a vocaçao q summona ta ganhando o dobro de exp q as outras vocaçoes