[pedido]sistema De Castelo (estilo Bc De Priston Tale)

yasha
Por yasha
em Lixeira Pública
  • 1
  • 2

yasha

Maximus Down~
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/12/07Posts: 144Char no Tibia: Maximus Down

Olá pessoal, aqui vai um pedido meu...

 

 

Não sei se todos jogam Priston Tale, mais quem já jogou sabe que la todo sábado tem a disputa do Bless Castle, onde vários clans tentam dominar o castelo, no final o clan que ganhar fica com o domínio do castelo durante a semana toda.

 

 

O script que eu quero é realmente isso. Eu crio um castelo ai por um comando a guerra entre as guilds começa, num determinado tempo (30 min a 2 horas) a guild que tiver mais mortes domina o castelo durante aquela semana.

 

Espero que todos tenham entendido o meu pedido. Caso não entendam basta postar que eu responderei.

 

 

Obrigado.

 

 

Edit~

 

O Script se baseia praticamente nisso:

 

-Uma arena de PVP, que a maioria dos OTs tem (uma arena que não perde item, level, e não pega skull)

-Quando o player matar outro ganhar pontos pra guild e no final quem tivesse a maior somatória de pontos ganha.

E-mail/msn: mauricio__ramos@hotmail.com

Entrada como estagiário

 

02/04/2012

fernandobacate

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/02/08Posts: 1Char no Tibia: Dark The Cavalier

é complexo o script :S

bemmmmm complexo

Henrique Moura

Ex-administrador
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 17/02/08Posts: 2541

Concordo com o f3n4nd0, mas nada é impossivel.

Inclusive os servidores VikingOT , DorianPLUS e alguns outros existem este mesmo sistema, porém com nomes diferentes, sendo eles:

 

VikingOT - Bless Castle. -> http://vikingot.servegame.com:8090/viking2/bless.php

DorianPLUS - Castle of Honor. -> http://www.elfensoft.com/dorian/coh.php

 

Estes dois são só um exemplo para quem quiser se aprofundar mais no assunto, e ter uma base para começar a desenvolver o script.

Abraços.

KaKilo ~
 


Lom14fD.png

yasha

Maximus Down~
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/12/07Posts: 144Char no Tibia: Maximus Down

Eu queria um igual ao do Viking OT.

 

O Script se baseia praticamente nisso:

 

-Uma arena de PVP, que a maioria dos OTs tem (uma arena que não perde item, level, e não pega skull)

-Quando o player matar outro ganhar pontos pra guild e no final quem tivesse a maior somatória de pontos ganha.

E-mail/msn: mauricio__ramos@hotmail.com

Entrada como estagiário

 

02/04/2012

Kakareco

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/01/09Posts: 31

E ai blz? Bom estava olhando alguns pedidos e vi este entao resolvi ajudar. Este script nao e meu e do Alisson Linneker entao 95% dos creditos vao para ele, por ter feito o script e 5% vao para min por postar (nao posso fica com nada neh?)

Bom entao vamos la:

 

-O que este script faz?

 

Simples, é um sistema de domínio de castelos, bom para eventos de guerra.

Mas não é exatamente o domínio do castelo, etc...

Na verdade, trata-se apenas de uma mensagem dizendo que o cara dominou tal castelo...

Mais em breve atualizarei esse script para um que so permite a entrada no castelo os membros da guild vencedora.

 

-Como funciona?

 

Haverá uma alavanca... O jogador irá até essa alavanca e irá puxar.

Dependendo da UNIQUE ID da alavanca o castelo podera ter qualquer nome

Se o jogador tiver guild, ele menciona que tem guild, se não, ele nem se quer fala sobre guild.

E quando ele puxa a alavanca aparece ele falando em VERMELHO:

 

Player sem guild:

 

(sem guild) "Eu, NICK, dominei o castelo X!"

 

Player com guild:

(com guild) "Eu, NICK, do clan ALGUM, dominei o castelo TAL!!"

 

 

 

O script é dividido em dois trechos:

Configurações, que é onde você configura normalmente, e Códigos, que é uma área restrita apenas para quem mexe com Actions. Aconselho não tentarem modificar o script...

 

Enfim, vamos ao script!

Iniciarei com o mais dificil ok?

 

 

Crie um arquivo com o nome dominio-de-castelo.lua dentro da pasta data\actions\scripts. Em seguida adicione o script abaixo dentro dele:

 

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

--------By Alisson Linneker----------

---------www.alisson.vai.la-----------

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

--------------XTibia User--------------

------------www.xtibia.com-----------

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

 

 

function onUse(cid, item, frompos, item2, topos)

 

-------------------- Configurações (Altere)

--- ID GLOBAL (WAR ON/OFF)

global_id = 6550

------- Tente não alterar os IDs do script pois, se alterar aqui, terá de alterar em outros scripts!

alavanca_id1 = 1945 --- ID da alavanca

alavanca_id2 = 1946 --- ID da alavanca

liber_alavanca = 6560 --- UNIQUE ID da alavanca que irá reiniciar os castelos (Opcional adicionar no mapa, pois existe o comando)

 

access = 5 --- Nível de access para reiniciar os castelos (normal: 5, GOD)

 

--- UNIQUE ID´s QUE SERÃO ADICIONADAS NAS ALAVANCAS NO CASTELO:

castelos_id = 6564 --- UNIQUE ID representando o primeiro castelo

castelos_id2 = 6565 --- UNIQUE ID representando o segundo castelo

castelos_id3 = 6460 --- UNIQUE ID representando o terceiro castelo

castelos_id4 = 6461 --- UNIQUE ID representando o quarto castelo

castelos_id5 = 6462 --- UNIQUE ID representando o quinto castelo

 

--- NOMES DOS CASTELOS:

castelo1 = "Normahn" --- Nome do primeiro castelo

castelo2 = "Sleifyr" --- Nome do segundo castelo

castelo3 = "Daraphin" --- Nome do terceiro castelo

castelo4 = "Morgrart" --- Nome do quarto castelo

castelo5 = "Tehlos" --- Nome do quinto castelo

 

efeito = 11 --- ID da cor da fala do jogador (normal: 11, vermelho)

lv_min = 20 --- Level mínimo para dominar castelos (normal: 20)

efeito_msg = 13 --- ID do efeito das mensagens de erros (normal: 13, vermelho)

 

------- Configurações Avançadas

--- Códigos Prelinimares

if item.uid == castelos_id then

castelo = castelo1

elseif item.uid == castelos_id2 then

castelo = castelo2

elseif item.uid == castelos_id3 then

castelo = castelo3

elseif item.uid == castelos_id4 then

castelo = castelo4

elseif item.uid == castelos_id5 then

castelo = castelo5

elseif item.uid == liber_alavanca then

castelo = 0

end

 

nick = getPlayerName(cid)

lv = getPlayerLevel(cid)

guild = getPlayerGuildName(nick)

verif = getPlayerGuildId(nick)

global_search = getGlobalStorageValue(item.uid)

per_search = getPlayerStorageValue(cid, item.uid)

ppos = getPlayerPosition(cid)

error = 0

 

--- Mensagem. Quando o jogador tem uma guild

msg_guild = "Eu, " .. nick .. ", da Guild " .. guild .. ", dominei o castelo " .. castelo .. "!!"

 

--- Mensagem. Quando o jogador não tem guild

msg_noguild = "Eu, " .. nick .. ", dominei o castelo " .. castelo .. "!!"

 

--- Erro. Quando o jogador não tem o level requerido para dominar castelos

no_lv = "Voce precisa ter level " .. lv_min .. " ou superior para dominar castelos."

 

--- Erro. Quando o castelo já foi dominado por alguém e o jogador não pertence à um castelo

castle_domin = "Este castelo ja foi dominado, tente na proxima vez."

 

--- Erro. Quando o jogador não tem access para reiniciar castelos

access_error = "Voce nao tem capacidade para reiniciar castelos."

 

--- Mensagem. Quando o jogador que tem access para reiniciar castelos reinicia

castle_restart = "Os castelos foram reiniciados com sucesso."

 

--- Erro. Quando a guerra está desativada.

off_msg = "Os castelos nao estao em guerra."

 

-------------------- Códigos (Não altere)

if getGlobalStorageValue(global_id) == 1 then

if item.uid < liber_alavanca or item.uid > liber_alavanca then

 

if lv >= lv_min then

 

if global_search <= 0 or per_search == 1 then

 

if verif > 0 then

doPlayerSay(cid,msg_guild, efeito)

else

doPlayerSendTextMessage(cid,22,msg_noguild)

pos = getPlayerPosition(cid)

doSendMagicEffect(pos,efeito)

end

setGlobalStorageValue(item.uid, 1)

if item.uid == castelos_id then

setPlayerStorageValue(cid, item.uid, 0)

setPlayerStorageValue(cid, castelos_id2, 1)

setPlayerStorageValue(cid, castelos_id3, 1)

setPlayerStorageValue(cid, castelos_id4, 1)

setPlayerStorageValue(cid, castelos_id5, 1)

elseif item.uid == castelos_id2 then

setPlayerStorageValue(cid, castelos_id, 1)

setPlayerStorageValue(cid, item.uid, 0)

setPlayerStorageValue(cid, castelos_id3, 1)

setPlayerStorageValue(cid, castelos_id4, 1)

setPlayerStorageValue(cid, castelos_id5, 1)

elseif item.uid == castelos_id3 then

setPlayerStorageValue(cid, castelos_id, 1)

setPlayerStorageValue(cid, castelos_id2, 1)

setPlayerStorageValue(cid, item.uid, 0)

setPlayerStorageValue(cid, castelos_id4, 1)

setPlayerStorageValue(cid, castelos_id5, 1)

elseif item.uid == castelos_id4 then

setPlayerStorageValue(cid, castelos_id, 1)

setPlayerStorageValue(cid, castelos_id2, 1)

setPlayerStorageValue(cid, castelos_id3, 1)

setPlayerStorageValue(cid, item.uid, 0)

setPlayerStorageValue(cid, castelos_id5, 1)

elseif item.uid == castelos_id5 then

setPlayerStorageValue(cid, castelos_id, 1)

setPlayerStorageValue(cid, castelos_id2, 1)

setPlayerStorageValue(cid, castelos_id3, 1)

setPlayerStorageValue(cid, castelos_id4, 1)

setPlayerStorageValue(cid, item.uid, 0)

end

 

else

doPlayerSendTextMessage(cid,efeito_msg,castle_domin)

error = 1

 

end

else

doPlayerSendTextMessage(cid,efeito_msg,no_lv)

error = 1

end

 

end

 

 

 

if item.uid == liber_alavanca then

if getPlayerAccess(cid) >= access then

setGlobalStorageValue(castelos_id, 0)

setGlobalStorageValue(castelos_id2, 0)

setGlobalStorageValue(castelos_id3, 0)

setGlobalStorageValue(castelos_id4, 0)

setGlobalStorageValue(castelos_id5, 0)

doPlayerSendTextMessage(cid,efeito_msg,castle_restart )

else

doPlayerSendTextMessage(cid,efeito_msg,access_error)

error = 1

end

end

 

if error == 0 then

if item.itemid == alavanca_id1 then

doTransformItem(item.uid,alavanca_id2)

elseif item.itemid == alavanca_id2 then

doTransformItem(item.uid,alavanca_id1)

end

end

else

setGlobalStorageValue(global, 0)

doPlayerSendTextMessage(cid,efeito_msg,off_msg)

error = 1

end

end

 

 

 

Pois bem, agora vá até o arquivo actions.xml e adicione isso:

 

<action uniqueid="6564" script="dominio-de-castelo.lua"/> --- Primeiro Castelo

<action uniqueid="6565" script="dominio-de-castelo.lua"/> --- Segundo Castelo

<action uniqueid="6460" script="dominio-de-castelo.lua"/> --- Terceiro Castelo

<action uniqueid="6461" script="dominio-de-castelo.lua"/> --- Quarto Castelo

<action uniqueid="6462" script="dominio-de-castelo.lua"/> --- Quinto Castelo

<action uniqueid="6560" script="dominio-de-castelo.lua"/> --- Alavanca Resetadora

 

 

Pronto, fechamos com as actions.

 

Vamos agora para as TalkActions.

 

Pois bem, dentro da pasta data\talkactions\scripts crie 3 arquivos com os nomes:

 

talkaction-ativar.lua

talkaction-desativar.lua

talkaction-resetar.lua

 

 

Agora abra o talkaction-ativar.lua e adicione isso:

 

function onSay(cid, words, param)

 

-------------- Configurações

--- ID GLOBAL (WAR ON/OFF)

global_id = 6550

 

--- Access GM (Número que representa o nível de acesso de Game Masters)

gm = 1

 

--- Mensagem que aparece para o GM

msg_gm = "O sistema foi ativado."

 

--- Mensagem que envia para todo servidor

servermsg = "Inicia agora o evendo de domínio de castelo."

 

--- Erro: quando o jogador não é GM ou superior

error = "Voce nao pode usar este comando."

 

--- Erro: quando a guerra já está ativada

error2 = "A guerra ja esta ativada."

 

--- Efeito (cor) da mensagem enviada ao GM (normal: 22)

ef = 22

 

-------------- Códigos

---- Preliminares

access = getPlayerAccess(cid)

ppos = getPlayerPosition(cid)

 

---- Completos

if access >= gm then

if getGlobalStorageValue(global_id) == -1 then

setGlobalStorageValue(global_id, 1)

doPlayerSendTextMessage(cid,ef,msg_gm)

broadcastMessage(servermsg, 21)

else

doPlayerSendCancel(cid,error2)

end

else

doPlayerSendCancel(cid,error)

end

end

 

Chegou a vez do talkaction-desativar.lua. Abra-o e adicione o script:

 

function onSay(cid, words, param)

 

-------------- Configurações

--- ID GLOBAL (WAR ON/OFF)

global_id = 6550

 

--- Access GM (Número que representa o nível de acesso de Game Masters)

gm = 1

 

--- Mensagem que aparece para o GM

msg_gm = "O sistema foi desativado."

 

--- Mensagem que envia para todo servidor

serveroffmsg = "O evento de domínio de castelo foi finalizado."

 

--- Erro: quando o jogador não é GM ou superior

error = "Voce nao pode usar este comando."

 

--- Erro: quando a guerra já está ativada

error2 = "A guerra ja esta desativada."

 

--- Efeito (cor) da mensagem enviada ao GM (normal: 22)

ef = 22

 

-------------- Códigos

---- Preliminares

access = getPlayerAccess(cid)

 

---- Completos

if access >= gm then

if getGlobalStorageValue(global_id) == 1 then

setGlobalStorageValue(global_id, -1)

doPlayerSendTextMessage(cid,ef,msg_gm)

broadcastMessage(serveroffmsg, 21)

else

doPlayerSendCancel(cid,error2)

end

else

doPlayerSendCancel(cid,error)

end

end

 

 

E por fim o talkaction-resetar.lua:

 

function onSay(cid, words, param)

 

-------------- Configurações

--- IDs dos castelos na mesma ordem do script

castelos_id = 6564 --- UNIQUE ID representando o primeiro castelo

castelos_id2 = 6565 --- UNIQUE ID representando o segundo castelo

castelos_id3 = 6460 --- UNIQUE ID representando o terceiro castelo

castelos_id4 = 6461 --- UNIQUE ID representando o quarto castelo

castelos_id5 = 6462 --- UNIQUE ID representando o quinto castelo

 

--- Access GM (Número que representa o nível de acesso de Game Masters)

gm = 1

 

--- Mensagem que aparece para o GM

msg_gm = "Os castelos foram reiniciados com sucesso!"

 

--- Erro: quando o jogador não é GM ou superior

error = "Voce nao pode usar este comando."

 

--- Efeito (cor) da mensagem enviada ao GM (normal: 22)

ef = 22

 

-------------- Códigos

---- Preliminares

access = getPlayerAccess(cid)

error = 0

global = getGlobalStorageValue(castelos_id)

global2 = getGlobalStorageValue(castelos_id2)

global3 = getGlobalStorageValue(castelos_id3)

global4 = getGlobalStorageValue(castelos_id4)

global5 = getGlobalStorageValue(castelos_id5)

 

---- Completos

if access >= gm then

setGlobalStorageValue(castelos_id, 0)

setGlobalStorageValue(castelos_id2, 0)

setGlobalStorageValue(castelos_id3, 0)

setGlobalStorageValue(castelos_id4, 0)

setGlobalStorageValue(castelos_id5, 0)

doPlayerSendTextMessage(cid,ef,msg_gm)

else

doPlayerSendCancel(cid,error)

end

end

 

 

Pronto. Criamos a estrutura do talkaction. Agora vem a base.

Abra o arquivo: talkactions.xml e adicione as seguintes linhas à ele:

 

<talkaction words="!war on" script="talkaction-ativar.lua" />

<talkaction words="!war off" script="talkaction-desativar.lua" />

<talkaction words="!resetar castelos" script="talkaction-resetar.lua" />

 

 

FIM

 

Calma, Calma.

ISSO FOI APENAS OS SCRIPTS, AGORA VEM A PARTE DE ADICIONAR TUDO NO MAPA.

 

Vou dar exemplo com apenas 1 Castelo. Siga os exemplos mostrados na foto caso não saiba como configurar as actions:

 

screenhunter01may062047.gif

 

 

*Obs: a alavanca de resetar é opcional, não é necessário colocar ela.

 

 

Adicionais:

 

Agora que ja esta tudo pronto, basta você entrar no jogo com um GOD e falar os comando para poder ligar, desligar, ou resetar o sistema.

Comandos:

!war on

!war off

!resetar castelos

 

Dicas:

Aconselho fazer o reset todo fim de semana, daí o jogador, ou a guild, podem ficar com o castelo a semana toda.

 

Entao e isso ae. Espero ter ajudado. xD

 

Creditos: 95% Alisson Linneker

5% Kakareco (me)

~Retired~

mctyn

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/04/09Posts: 32

Legal esse systema de guerra, mais seria mais divertido e melhor se fosse do seguinte geito:

Existiria um Imperiun, e quando um play o destruise a castelo seria dele e de sua guild por apenas 1 semana ^^

 

Iqual ao Castle War do http://stagg.servegame.com/

 

xD

gnorre157

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/04/09Posts: 3Char no Tibia: Shorron'Back

véio, esse sistema de castelo do alisson lineker é uma corrida e não um evento pvp -.-'

Go-Dot

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/05/09Posts: 4
véio, esse sistema de castelo do alisson lineker é uma corrida e não um evento pvp -.-'

 

também acho, evento pvp teria que ganhar quem + matou! Assim enquanto eu mato geral vem um corno correndo ativa a alavanca e pronto acabou. Queria um de mortes tbm =/

Vai ser difícil de achar, mas enfim...


_ferrari_

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 27/12/06Posts: 202

Cara olha só, esse do Imperium é bem simples, basta dar use na key que dropa. A function da key eu não conseguiria fazer, mas é com storage value eu acho.

Objetivos:
50 posts [x]
100 posts[x]
200 posts[x]
500 posts[x]
"Um post em um fórum deve como uma saia. Longa o suficiente para cobrir o assunto, porém curta o suficiente para manter as coisas interessantes"
Gosta de mim? Foi com minha cara? Quer me matar? Use:

grt217

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/06/07Posts: 99Char no Tibia: [ADM] GuiH

Cara Eu Queria Muito esse Sistema TIpo Dorian ....

Xtibia 100% Cultura. =)


Meu Fan Bar








Sou Fan De:



Rajas

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 30/12/07Posts: 132Gênero: MasculinoChar no Tibia: Hannibol

Esse script funciona em ot 8.4?

Kakareco

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/01/09Posts: 31

Para quem fala que isso e de corrida esta errado! O cara pediu o sistema de castelo entao esta ai e é o unico que tem. Prestem atençao no que vcs postam! T+

 

Esse script funciona em ot 8.4?

 

Acho que funciona sim!

~Retired~

hpjp

Melhor de todos
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/05/08Posts: 70Char no Tibia: vários 400+

com licença... naum manjo nada de action mais vou dar uma ideia pq tbm estou interessado nesse script faz tempo.... ele poderia ser da segunte forma...

 

vc pega e monta um castelo...com +- 5 andares ou + ai vc bota uma alavanca no ultimo andar... a guerra só vale dentro da area do castelo... e tipo assim a guild tem q proteger a alavanca pq quando a guerra acabar o castelo fika pra ultima guild q puxou a alavanca.... mais como tirar os player no fim da guerra... simples bota geral pro dp com um talkaction q ja vi por ai.. e depois é simples arruma um jeito de só quem for daquela guild pode entrar no caste ai teria q montar tipo house inves de invitar player pelo nome invita pela guild ai quem for dakela guild pode entrar no castelo

acho eu q um sistema assim estaria ótimo....

apenas lute mais para alcançar seu objetivo..

assim que você conseguir será bem mais praseroso...

 

_ferrari_

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 27/12/06Posts: 202

o problema está em só os membros da guild usarem os sistemas dentro do castelo. eu pensei em fazer com storage mas não tem como colocar nome de guild e tal, teria que ser feito manualmente após cada war a alteração no script.

Objetivos:
50 posts [x]
100 posts[x]
200 posts[x]
500 posts[x]
"Um post em um fórum deve como uma saia. Longa o suficiente para cobrir o assunto, porém curta o suficiente para manter as coisas interessantes"
Gosta de mim? Foi com minha cara? Quer me matar? Use:

ronaldodj1

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/05/09Posts: 2Char no Tibia: Não InT!

Não galera! O negocio é assim:

 

Teria q existir as guilds vamo supor a q vai defender o castelo, e a outra q vai ataca, e nao teria q ter nada de alavanca troca essa alavanca por um "Bixo,Monstro" Alguma coisa q os jogadores tem q matar mais o Bixo ou monstro tem q ter muita vida!! E a statua ataca a guild q tem q ataca o castelo e nao ataca os q defendi! E antes do "Chefao" Tem q ter obstaculos tb! como bixos para derrotar e soma ponto! E a guild q ganhar poderia existir alguma coisa expecial tipo um outfit ou alguma classe para quem consegui dominar o castelo por 1 semana!

 

Falo assim pq eu jogo Priston Tale!

 

Abçss. :blush:

  • 1
  • 2