[Beta] Duel System V1.1

Lucasbaragatti
em Lixeira Pública

Lucasbaragatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/11/07Posts: 12Char no Tibia: Lucas The Warrior

TUTORIAL DUEL SYSTEM PARA POKEMON

 

Passos: (São 6)

1 - Recursos Necessários

2 - Instalar as funções na source

3 - Adicionar os controles na source

4 - Compilar a source

5 - Instalar o controle no servidor

6 - Configurando duelconfig.xml

RECURSOS NECESSÁRIOS (DOWNLOADS)

StiansDevCppRepack v2 - Clique para baixar

KronoX Duel Repack v1.1 - Clique para baixar

Ter sua source(distro) em mãos - Download Versão 8.54 -

 

Versões

 Versão v1.0 : Versão Inicial do sistema
Versão v1.1 : Tentativa de correção de bugs no Party.cpp

 

INSTALANDO AS FUNÇÕES NECESSÁRIAS NA SOURCE

 

Abra sua source(distro) no Dev-C++. PS (Se seu SO for windows 7 abra-o como administrador)

Vá ao arquivo luascript.cpp

Depois da linha:

lua_register(m_luaState,"doPlayerJoinParty",LuaScriptInterface::luaDoPlayerJoinParty);

Adicione:

//doPlayerLeaveParty(cid)

lua_register(m_luaState,"doPlayerLeaveParty",LuaScriptInterface::luaDoPlayerLeaveParty);

 

E depois da linha:

int32_t LuaScriptInterface::luaDoPlayerJoinParty(lua_State* L)

Adicione:

int32_t LuaScriptInterface::luaDoPlayerLeaveParty(lua_State* L)

{

//doPlayerLeaveParty(cid)

ScriptEnviroment* env = getEnv();

 

Player* player = env->getPlayerByUID(popNumber(L));

if(!player)

{

errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND));

lua_pushboolean(L, false);

}

g_game.playerLeaveParty(player->getID());

lua_pushboolean(L, true);

return 1;

}

Após isso abra o arquivo luascript.h

Depois da linha:

static int32_t luaDoPlayerJoinParty(lua_State* L);

Adicione:

static int32_t luaDoPlayerLeaveParty(lua_State* L);

 

 

ADICIONANDO OS CONTROLES NA SOURCE

Em seu Dev-C++ com sua source carregada navegue no canto esquerdo até encontrar um arquivo chamado Party.cpp .

Clique com o lado direito nesse Party.CPP e clique em "Remove File" .

Feito isso vá na aba Project , clique em Add to project e selecione o arquivo chamado Party.CPP que se encontra dentro do KronoX Duel Repack(Seção Downloads), e de Abrir.

 

 

COMPILANDO SUA SOURCE

Após fazer todos os passos anteriores vá na aba File e Clique Em Save All.

Após isso aperte CTRL + F11 e aguarde até que sua source seja compilada.

 

 

INSTALANDO CONTROLE NO SERVIDOR

 

Abra a pasta data/creaturescripts e abra o arquivo creaturescripts.xml

Abaixo de <creaturescripts> Adicione:

<event type="think" name="duelsys" event="script" value="duel.lua"/>

<event type="death" name="dueldie" event="script" value="dueldie.lua"/>

Depois, onde está localizado esse creaturescripts.xml tera uma pasta chamada scripts.

Abra essa pasta e abra o arquivo login.lua.

Nesse arquivo depois da linha:

registerCreatureEvent(cid, "onPrepareDeath")

Adicione:

registerCreatureEvent(cid, "duelsys")

Salve e feche o arquivo.

Nessa mesma pasta tera um arquivo chamado logout.lua. Abra ele.

Apos a linha:

function onLogout(cid, forceLogout)

Adicione:

function getDuelConfig(name)

local configFile = io.open('data/creaturescripts/scripts/duelconfig.xml','r')

if not configFile then

return 100

end

local maximo = configFile:read(-1):lower():match(''..name..'='..name:lower()..'')

data:close()

return maximo

end

local battlex = getDuelConfig('battleStorage')

if getPlayerStorageValue(cid, battlex) == 1 then

doPlayerSendTextMessage(cid, 27, "Sorry, you cant logout if you are in a duel!")

return false

end

Salve e feche o arquivo.

 

Após isso abra a pasta data/actions/scripts e abra o arquivo goback.lua (nome provavel do seu goback). OBS: Se tiver mais de um arquivo de goback (great ball/master etc..) repita este processo a seguir em todos eles.

 

Procure por registerCreatureEvent(creature, "DiePoke") ou algo parecido com registerCreatureEvent(ALGO QUE NÃO SEJA CID, ALGO QUE PAREÇA COM DIE)

Após ter localizado esta linha adicione na linha de baixo:

registerCreatureEvent(O QUE ESTA AQUI NA LINHA DE CIMA,"dueldie")

Atenção: Mude esse O QUE ESTA AQUI NA LINHA DE CIMA pelo que aparece escrito ali na linha de cima ("ALGO QUE NÃO SEJA CID" escrito em azul, você ira pelo que tiver em seu server)

OBS: Ficará MAIS OU MENOS assim -> registerCreatureEvent(creature, "dueldie")

 

Depois disso, na parte que volta o pokemon para a pokebola ( geralmente onde tem doRemoveCreature ):

Adicione na linha abaixo:

setPlayerStorageValue(cid,93000,50)

Salve e feche o arquivo.

 

Após isso copie os arquivos duelsys.lua , dueldie.lua e duelconfig.xml que estão no KronoX Duel Repack e coloque eles na pasta data/creaturescripts/scripts.

 

 

 

CONFIGURANDO SEU DUELCONFIG.XML (BETA)

vá na pasta data/creaturescripts/scripts e abra o arquivo duelconfig.xml com o bloco de notas.

Atenção: Este arquivo não pode ser editado, com excessão da função usablePokes.

O Erro da versão BETA é que ainda não se pode escolher o número de pokemons na batalha, pois esse número é editado no arquivo duelconfig.xml.

Para escolher o tanto de pokes que irá usar por duelo , nesse arquivo, basta mudar a opção usablePokes=3 para usablePokes=NumeroDePokes

Lembrando que não pode ser mais que 6 e que o carry system do server deve ser por cap.

 

 

 

 

 

 

 

 

 

 

 

Como usar:

Apenas Clique com ctrl e lado direito no adversário e clique em "Invite to party" (Que pode ser modificado no client).

 

Como sair do duelo:

Apenas Clique com ctrl e lado direito em VOCÊ e clique em "Leave Party" (Que pode ser modificado no client).

 

 

É isso aí, não tá perfeito mas jajá a gente chega lá!

Créditos: Stians pelo stians devcpp repack (DevC++ pra tibia) e Lucasbaragatti (eu) por fazer o sistema e postar aqui no XTibia. ;D

 

Gostou? Dê REP+ , não cai o dedo =P

 

 

Qualquer erro no sistema favor postar aqui! Obrigado!

YOU ARE A PIRATE

CLIQUE NESSE LINK E MORRA DE RIR ! KKKKKKKKK

BrunooAngel

#Bruninhoo '
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 21/08/11Posts: 202Char no Tibia: Kaiser Demon

no devccp da pra extrai sources tambem? os cara que posta ot mais n posta source :s

assinaturapleasedonotcr.png

 

--------------------------------------------------------------------------------------------------------------------------------

 

barradisco.gif

BrunooAngel

#Bruninhoo '
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 21/08/11Posts: 202Char no Tibia: Kaiser Demon
  1. No caso da versão 8.54 -> source http://otland.net/su...&peg=96&isdir=1

e que kero ja com as funçoes do meu ot :S [do pfield v2 ou do wolfvr]

assinaturapleasedonotcr.png

 

--------------------------------------------------------------------------------------------------------------------------------

 

barradisco.gif

Lucasbaragatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/11/07Posts: 12Char no Tibia: Lucas The Warrior
  1. No caso da versão 8.54 -> source http://otland.net/su...&peg=96&isdir=1

e que kero ja com as funçoes do meu ot :S [do pfield v2 ou do wolfvr]

 

Aí você teria que falar com alguem dos criadores e ver se eles te desponibilizam a source. =X

Tenta aí, talvez você consegue happy.png

YOU ARE A PIRATE

CLIQUE NESSE LINK E MORRA DE RIR ! KKKKKKKKK

SkyDangerous

Deus Kalec
avatar
Lorde
Lorde

INFOS

Grupo: LordeRegistrado: 17/01/09Posts: 2098Char no Tibia: Adra Sata

Legal.

Porém, desorganizando o tópico.

 

Posta em codes para ficar melhorar visualizar !

Me segui lá (:

 

b906.png

http://ageofwar.servegame.com/

IP: ageofwar.servegame.com

TIBIA: 10.78

GLOBAL PERFECT CUSTOM

Lucasbaragatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/11/07Posts: 12Char no Tibia: Lucas The Warrior

Vou ter que ir no ingles daqui a pouco, chegando eu arrumo certinho. =D

Valeu pelo comment pq eu so novo aqui no xtibia xD

YOU ARE A PIRATE

CLIQUE NESSE LINK E MORRA DE RIR ! KKKKKKKKK

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

Legal, você fez o sistema?

Oie :D

aspratextibia

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/03/11Posts: 82Char no Tibia: Pato du

Rep+ para vc meu caro ^^ vai me ajudar muito

Pokemon HeartGold

Quer Partcipar?

Tenta la..

Se Ajudei Rep+ ñ vai cai o dedo ^^

Lucasbaragatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/11/07Posts: 12Char no Tibia: Lucas The Warrior

Legal, você fez o sistema?

Sim.

 

Rep+ para vc meu caro ^^ vai me ajudar muito

Qualquer dúvida estou a disposição ;p

YOU ARE A PIRATE

CLIQUE NESSE LINK E MORRA DE RIR ! KKKKKKKKK

drakylucas

Draky Scripter
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/09/10Posts: 416Char no Tibia: Draky Lucas

bem bolado...

não to mexendo + com pokemons porem irá ajudar muita gente =D

rep+ [esse foi merecido, faz tempo q o xtibia nao tem scripts inovadores ;D]

Lucasbaragatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/11/07Posts: 12Char no Tibia: Lucas The Warrior

bem bolado...

não to mexendo + com pokemons porem irá ajudar muita gente =D

rep+ [esse foi merecido, faz tempo q o xtibia nao tem scripts inovadores ;D]

Obrigado xD, eu fiz pra ajudar mesmo! happy.png

YOU ARE A PIRATE

CLIQUE NESSE LINK E MORRA DE RIR ! KKKKKKKKK

lailton

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/08/11Posts: 45

Erro na hora de compilar, tanto com o source do meu ot server, qnto com o postado no topico.

 

=]

Lucasbaragatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/11/07Posts: 12Char no Tibia: Lucas The Warrior

@Lailton

Qual o erro ? Poste aqui o erro que arrumo.

YOU ARE A PIRATE

CLIQUE NESSE LINK E MORRA DE RIR ! KKKKKKKKK

zFuzion

There are losses, but there is no suffering.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/10/11Posts: 19

Da esse erro, quando eu tento compilar!

../luascript.cpp:8362: error: expected initializer before "int32_t"
../luascript.cpp:8363: error: expected declaration before '}' token

make.exe: *** [obj//luascript.o] Error 1