Tem o arquivo php onde mostra quem é dono do castelo e tallz? Ou apenas os comandos?
- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- [Sistema] Castle Guild War - Dominio De Castelo
[Sistema] Castle Guild War - Dominio De Castelo
Por drakylucas, 20 de abr. de 2011 em Mods, funções e outros
info
Grupo: Campones
Registrado: 23/05/09
Posts: 10
Reputação: 0
Char no Tibia: Lucas-Skite

Cara Só tenho uma coisa pra ti dize:
TU EH F*DAAA!
TAVA PRECISANDO DE UM SISTEMA DESSES!
TA FUNCIONANDO DIREITINHOO!
APROVADO
JA VOTEI NO +++++++++++++++!
:smile_positivo:
:smile_positivo: ![]()
:smile_positivo:
Eu sou inesperiente com scripts ![]()
Como coloco pra quando o Player tentar Entrar no Castelo Aparecer a Mensagem:
Você não faz parte da guild [NOMEDAGUILD]! Se Você e sua guild Quiser concorrer, Venha aqui Domingo as 13:00!
Editado Maio 4 por Battle
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas

Tem o arquivo php onde mostra quem é dono do castelo e tallz? Ou apenas os comandos?
Apenas comandos e sistemas.. caso queira desenvolver melhor tente arrumar uma equipe que faça isso pa vc [em web sou uma disgraça =s]
Eu sou inesperiente com scriptsComo coloco pra quando o Player tentar Entrar no Castelo Aparecer a Mensagem:
Você não faz parte da guild [NOMEDAGUILD]! Se Você e sua guild Quiser concorrer, Venha aqui Domingo as 13:00!
no movement troca por isso [nao testei mais ve se funfa.. se funfar por favor avise que colocarei oficialmente no topic tb =d
EDITED: testa esse [caso use tfs 0.4 mude o db.executeQuery para db.query
Nao testei dinovo mais ve ai se esse vai
local function getGuildName(id)
local qr = db.executeQuery("SELECT `name` FROM `guilds` WHERE `id`= ".. id ..";")
result = qr:getDataString("name")
if result <= 0 or result == nil or result == false then
result = "[castelo ainda sem dono]"
end
return result
end
local storage = 1755
local emGuerra = 1756
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if getGlobalStorageValue(storage) == getPlayerGuildId(cid) then
return true
end
if getGlobalStorageValue(emGuerra) == 1 then
return true
else
doTeleportThing(cid,fromPosition,false)
return doPlayerSendCancel(cid,"Voce nao faz parte da guild "..getGuildName(getGlobalStorageValue(storage)).."! Se Você e sua guild Quiser concorrer, Venha aqui Domingo as 13:00!")
end
return true
end
Editado Maio 6 por DrakyLucas
info
Grupo: Campones
Registrado: 23/05/09
Posts: 10
Reputação: 0
Char no Tibia: Lucas-Skite

Eu sou inesperiente com scriptsComo coloco pra quando o Player tentar Entrar no Castelo Aparecer a Mensagem:
Você não faz parte da guild [NOMEDAGUILD]! Se Você e sua guild Quiser concorrer, Venha aqui Domingo as 13:00!
no movement troca por isso [nao testei mais ve se funfa.. se funfar por favor avise que colocarei oficialmente no topic tb =d
local function getGuildName(id)
local qr = db.getResult("SELECT `name` FROM `guilds` WHERE `id`= ".. id ..";")
result = qr:getDataString("name")
if result <= 0 or result == nil or result == false then
result = "[castelo ainda sem dono]"
end
return result
end
local storage = 1755
local emGuerra = 1756
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if getGlobalStorageValue(storage) == getPlayerGuildId(cid) then
return true
end
if getGlobalStorageValue(emGuerra) == 1 then
return true
else
doTeleportThing(cid,fromPosition,false)
return doPlayerSendCancel(cid,"Voce nao faz parte da guild "..getGuildName(getGlobalStorageValue(storage)).."! Se Você e sua guild Quiser concorrer, Venha aqui Domingo as 13:00!")
end
return true
end
Não deu Aqui Cara.. Da Um Erro No Server qdo alguem tenta passa la ![]()
Outra Dica:
Uma Coisa Que Seria muito Útil era a War Acabar sozinha em determinados minutos.. Seria Muito Útil..
Editado Maio 6 por Battle
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Claro, ele comparou string com number, vai dar erro sim. OBS: Eu coloquei outra função IsInArea que ta bem menor.
Oque é Battle Disse é verdade , pq se o gm usar o comando pra fechar a war, vao falar que o gm uso na hora que a guild tal clico na lavanca
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

function getGuildName(id)
if type(id) ~= "number" then
return "[No owner]"
end
local daa = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = "..id..";")
for c, d in pairs(daa) do
if type(d) == "number" then
return daa:getDataString("name")
end
end
return "[No owner]"
end
Fiz a função pra ti. Vai retorna string de qualquer jeito então deve funcionar.
info
Grupo: Campones
Registrado: 23/05/09
Posts: 10
Reputação: 0
Char no Tibia: Lucas-Skite

function getGuildName(id) if type(id) ~= "number" then return "[No owner]" end local daa = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = "..id..";") for c, d in pairs(daa) do if type(d) == "number" then return daa:getDataString("name") end end return "[No owner]" end
Fiz a função pra ti. Vai retorna string de qualquer jeito então deve funcionar.
Cara, ainda to iniciando com essas paradas.. Pode Me dize onde coloco esse código?
Valeeus
Editado Maio 8 por Battle
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Isso é apenas a função. Creio que o código todo seria assim:
local storage = 1755
local emGuerra = 1756
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if getGlobalStorageValue(storage) == getPlayerGuildId(cid) then
return true
end
if getGlobalStorageValue(emGuerra) == 1 then
return true
else
doTeleportThing(cid,fromPosition,false)
return doPlayerSendCancel(cid,"Voce nao faz parte da guild "..getGuildName(getGlobalStorageValue(storage)).."! Se Você e sua guild Quiser concorrer, Venha aqui Domingo as 13:00!")
end
return true
end
function getGuildName(id)
if type(id) ~= "number" then
return "[No owner]"
end
local daa = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = "..id..";")
for c, d in pairs(daa) do
if type(d) == "number" then
return daa:getDataString("name")
end
end
return "[No owner]"
end
Substitua o script que esta em data/movevents/castlewar-movements.lua por este acima.
mano nao tens como por em mais ou menos 30 min fechar o castelo?
info
Grupo: Campones
Registrado: 23/05/09
Posts: 10
Reputação: 0
Char no Tibia: Lucas-Skite

Isso é apenas a função. Creio que o código todo seria assim:
local storage = 1755 local emGuerra = 1756 function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getGlobalStorageValue(storage) == getPlayerGuildId(cid) then return true end if getGlobalStorageValue(emGuerra) == 1 then return true else doTeleportThing(cid,fromPosition,false) return doPlayerSendCancel(cid,"Voce nao faz parte da guild "..getGuildName(getGlobalStorageValue(storage)).."! Se Você e sua guild Quiser concorrer, Venha aqui Domingo as 13:00!") end return true end function getGuildName(id) if type(id) ~= "number" then return "[No owner]" end local daa = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = "..id..";") for c, d in pairs(daa) do if type(d) == "number" then return daa:getDataString("name") end end return "[No owner]" end
Substitua o script que esta em data/movevents/castlewar-movements.lua por este acima.
Valeeu aee veii !!
Rep+
Editado Maio 9 por Battle
info
Grupo: Barão
Registrado: 24/02/10
Posts: 204
Reputação: +14
Char no Tibia: Krewcz

local storage = 1755local emGuerra = 1756
local firstpos = {x = 582,y = 1290,z = 7}
local secondpos = {x = 802,y = 1490,z = 0}
qual posição eu coloco aki?
info
Grupo: Cavaleiro
Registrado: 28/11/10
Posts: 175
Reputação: +31

Queria que alguem modifica-se esse script
Colocando as seguintes funçoes: # Guerra acabar automaticamente 60 min depois que eu ativa o comando !war open
# Quando a guerra acabar todos os players que nao sao da guild vencedora ser teleportado para o templo
# Todos os player que morre dentro do castelo ser teleportado para um local que eu demarcar






info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas
concertado erro de alguns pc's [o IsInArea era diferente]! @topic atualizado!