XT
pedido

[Encerrado] Saga System Wodbo

Por Xtudomuito, 03 de jun. de 2015 em Tópicos Sem Resposta

12
2.2k
XtudomuitoX
03 de junho de 2015 às 20:37

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

RigByR
03 de junho de 2015 às 20:52

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

XtudomuitoX
03 de junho de 2015 às 21:11

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:

3 semanas depois...
CreatservC
21 de junho de 2015 às 09:37

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.

XtudomuitoX
24 de junho de 2015 às 10:06

Aguardando resposta...

1 mês depois...
XtudomuitoX
06 de julho de 2015 às 09:58

Alguém?

TiagoneT
06 de julho de 2015 às 18:32

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.

XtudomuitoX
06 de julho de 2015 às 19:59

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.

Acho que mexendo nas sources tem como. Pq os Server wodbo 8.00 tem saga system mas obrigado pow responde.

 

-- 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

4 semanas depois...
XtudomuitoX
31 de julho de 2015 às 19:49

Up

Up

1 mês depois...
XtudomuitoX
16 de agosto de 2015 às 11:35

Up

1 mês depois...
LumusL
21 de setembro de 2015 às 16:43

Tópico Movido
Este tópico foi movido de "OTServSuporte OTServSuporte Derivados"
para "OTServSuporte OTServSuporte DerivadosPedidos e dúvidas resolvidos - Servidores derivados".

 

 

2 anos depois...
StigalS
21 de abril de 2018 às 03:29
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.