Esse tópico deve te ajuda.
http://www.xtibia.com/forum/topic/195644-monstro-que-so-ataca-player-com-tal-storage/
info
Grupo: Visconde
Registrado: 05/02/14
Posts: 411
Reputação: +285
Gênero: Masculino
Char no Tibia: Zeh Sergipano

Esse tópico deve te ajuda.
http://www.xtibia.com/forum/topic/195644-monstro-que-so-ataca-player-com-tal-storage/
Editado Junho 3 por RigBy
info
Grupo: Cavaleiro
Registrado: 14/04/15
Posts: 191
Reputação: +2

Esse tópico deve te ajuda.
http://www.xtibia.com/forum/topic/195644-monstro-que-so-ataca-player-com-tal-storage/
obrigado por responde, lah nao tem nada resolvido e o topico é muito velho nem da pra responde o topico é 2012.mas o brun123 dis:
Só modificando a source do seu server amigo... as funções onTarget, onAttack, onCombat e onFollow foram desenvolvidas para serem funcionais com players apenas, com monstros elas não funcionam exatamente como esperado. Pode retornar false em todas elas que o monstro vai sempre seguir o player.
O melhor que você pode fazer em lua é fazer um npc que simule um monstro, torna ele atacável e configura no onThink pra ele atacar apenas targets que não tenham a tal storage, e quando morrer (onDeath), irá criar um corpo pra ele, colocar itens gerados pelo próprio script simulando o loot, distruibuir exp. etc...
mas n sei onde tenho que mexe,alguem:
Realmente tem que fazer as alterações nas sources.
Pq o sistema original do dbko usa monsters.xml creaturescript e sources.
No nos dbko 8.00 nos monster está assim.
<monster name="Haku" nameDescription="a haku" race="blood" saga="6" experience="1100" speed="295" manacost="0">
cada monster tem seu arquivo creaturescript q é feito assim:
function onSaga(cid, target)
local bomb = {x=20, y=20, z=7, stackpos=253}
if isPlayer(target) then
doPlayerAddExp(target,200000)
setPlayerStorageValue(target, 8000, 7)
doTeleportThing(cid, bomb)
end
return true
end
essa parte eu nao entendi muito da script só sei q dps q mata o bixo ele muda o valor da sua storage e te da experiencia
e depois registra em creatureevent.xml com essa tag:
<event type="saga" name="haku" event="script" value="haku.lua" />
a unica coisa q falta pro sistema fica completo é a funçao da sources espero q alguem ajude criando elas pq tb tô atras.
info
Grupo: Cavaleiro
Registrado: 14/04/15
Posts: 191
Reputação: +2

Aguardando resposta...
info
Grupo: Cavaleiro
Registrado: 14/04/15
Posts: 191
Reputação: +2

Alguém?
info
Grupo: Cavaleiro
Registrado: 01/04/13
Posts: 156
Reputação: +26
Gênero: Masculino
Char no Tibia: Yugami

mano se só ira conseguir esse system se algum programador conseguir criar algo parecido,se não me engano é até possível criar 1 system parecido onde o monstro não ira ataca o Player com X storage valor Y,entretanto tenho quase Ctz que é Impossível fazer o Monstro Imovel quando ver o Player com a storage diferente ou menor da storage nessesaria,resumindo: 1 system que pode chega perto é aquele onde o monstro só vai poder attaca player X com storage Valor Y,entretanto se o player não tivé essa storage com o valor certo,o monstro simplesmente ira seguir o Player até o player sai da cave.
info
Grupo: Cavaleiro
Registrado: 14/04/15
Posts: 191
Reputação: +2

Acho que mexendo nas sources tem como. Pq os Server wodbo 8.00 tem saga system mas obrigado pow responde.mano se só ira conseguir esse system se algum programador conseguir criar algo parecido,se não me engano é até possível criar 1 system parecido onde o monstro não ira ataca o Player com X storage valor Y,entretanto tenho quase Ctz que é Impossível fazer o Monstro Imovel quando ver o Player com a storage diferente ou menor da storage nessesaria,resumindo: 1 system que pode chega perto é aquele onde o monstro só vai poder attaca player X com storage Valor Y,entretanto se o player não tivé essa storage com o valor certo,o monstro simplesmente ira seguir o Player até o player sai da cave.
-- Edit --
alguém sabe fazer essas alterações nas sources e que poderia min fala. Achei até isso:
void Monster::doAttacking(uint32_t interval){ if(!attackedCreature || (isSummon() && attackedCreature == this)) return;[/code]
logo abaixo adicione:
Player* player = attackedCreature->getPlayer(); std::string value; std::string check = "15"; if (getName() == "Rat" && player && ( !(player->getStorage(8000,value)) || check != value ) ) { setFollowCreature(NULL); setAttackedCreature(NULL); searchTarget(TARGETSEARCH_NEAREST); }
procure por: bool Monster::selectTarget(Creature* creature){#ifdef __DEBUG__ std::cout << "Selecting target... " << std::endl;#endif if(!isTarget(creature)) return false; CreatureList::iterator it = std::find(targetList.begin(), targetList.end(), creature); if(it == targetList.end()) { //Target not found in our target list.#ifdef __DEBUG__ std::cout << "Target not found in targetList." << std::endl;#endif return false; }
logo abaixo adicione:Player* player = creature->getPlayer(); std::string value; std::string check = "15"; if (getName() == "Rat" && player && ( !(player->getStorage(8000,value)) || check != value ) ) return false;
Editado Julho 7 por Xtudomuito
info
Grupo: Cavaleiro
Registrado: 14/04/15
Posts: 191
Reputação: +2

Up
Up
info
Grupo: Cavaleiro
Registrado: 14/04/15
Posts: 191
Reputação: +2

Up
info
Grupo: Marquês
Registrado: 03/02/13
Posts: 1.2k
Reputação: +254
Gênero: Masculino
Char no Tibia: Partiu Baladinha

Tópico Movido
Este tópico foi movido de "OTServ → Suporte OTServ → Suporte Derivados"
para "OTServ → Suporte OTServ → Suporte Derivados → Pedidos e dúvidas resolvidos - Servidores derivados".
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

info
Grupo: Cavaleiro
Registrado: 14/04/15
Posts: 191
Reputação: +2
Bom quando eu tinha o Server de Dragon Ball versão 8.00 tinha o sistema saga. Mas eu n tinha sources, aí agr eu tô com as sources do meu wodbo só que a versão é 8.54. Mas n tem o sistema saga.
Esse sistema saga Funcionava assim no wodbo 8.00:
no Server tinha um monster que só poderia ataca alguém e ser atacado ser o player estive o storage que o monster precisa para se move, caso contrário o monster fica parado, não pode ataca e nem ser atacado. Aí o player tinha que ir fala com o npc que da premisao pra mata o monster(o storage) aí sim o monster pode se mover,ataca e ser atacado.
Aí quero coloca no meu Server na versão 8.54 tfs 0.3.5 mas n ser como fazer, alguém pode ajudar. Se precisa mexe em sources pode fala que eu tenho.
O npc n precisa fazer pq eu msm faço.
Editado Junho 3 por Xtudomuito