Aprenda A Por O !ranks No Seu Servidor!

  • 1
  • 2

Darth Sidious

Em chamas...
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 31/07/07Posts: 533Char no Tibia: Kninght'Danilo

First

 

Tem servidor que fexa porcausa do !ranks, em outros ele consegue aguentar tranquilo.

 

Abra o seu servidor/talkaction/talkaction.xml, adicione no final o citado abaixo.

 

<talkaction words="!ranks" script="highscores.lua"/>

 

Depois disso salve.

 

Em seguida abra um arquivo em bloco de notas ( notepad ) vazio, cole isso!

 

function onSay(cid, words, param)

dofile("./config.lua")

local players = 20 -- The amount of players that is shown in the list

local maxgroupid = 1 -- Players in groups above this is not shown in the list

 

if sqlType == "mysql" then

env = assert(luasql.mysql())

con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))

else -- sqlite

env = assert(luasql.sqlite3())

con = assert(env:connect(sqliteDatabase))

end

 

local str = ""

if param == "level" or param == "exp" or param == "lvl" or param == "" then

cur = assert(con:execute("SELECT `name`, `level`, `experience` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `experience` DESC LIMIT 0,"..players..";"))

row = cur:fetch({}, "a")

str = "# [Level] - Name - (Experience)\n"

local i = 0

while row do

str = str.."\n#"..(i+1).." ["..row.level.."] - "..row.name.." - ("..row.experience..")"

row = cur:fetch (row, "a")

i = i+1

end

elseif param == "maglevel" or param == "magic" or param == "ml" then

cur = assert(con:execute("SELECT `name`, `maglevel` FROM `players` WHERE `group_id` <= "..maxgroupid.." ORDER BY `maglevel` DESC LIMIT 0,"..players..";"))

row = cur:fetch({}, "a")

str = "# [Magic Level] - Name\n"

local i = 0

while row do

str = str.."\n#"..(i+1).." ["..row.maglevel.."] - "..row.name..""

row = cur:fetch (row, "a")

i = i+1

end

elseif param == "fist" then

cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 0 ORDER BY `value` DESC;"))

row = cur:fetch({}, "a")

str = "# [Fist Fighting] - Name\n"

local i = 0

while row do

if i == players then

break

end

query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))

sql = query:fetch({}, "a")

if sql ~= nil then

str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name..""

i = i+1

end

row = cur:fetch (row, "a")

end

elseif param == "club" then

cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 1 ORDER BY `value` DESC;"))

row = cur:fetch({}, "a")

str = "# [Club Fighting] - Name\n"

local i = 0

while row do

if i == players then

break

end

query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))

sql = query:fetch({}, "a")

if sql ~= nil then

str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name..""

i = i+1

end

row = cur:fetch (row, "a")

end

elseif param == "sword" then

cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 2 ORDER BY `value` DESC;"))

row = cur:fetch({}, "a")

str = "# [sword Fighting] - Name\n"

local i = 0

while row do

if i == players then

break

end

query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))

sql = query:fetch({}, "a")

if sql ~= nil then

str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name..""

i = i+1

end

row = cur:fetch (row, "a")

end

elseif param == "axe" then

cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 3 ORDER BY `value` DESC;"))

row = cur:fetch({}, "a")

str = "# [Axe Fighting] - Name\n"

local i = 0

while row do

if i == players then

break

end

query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))

sql = query:fetch({}, "a")

if sql ~= nil then

str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name..""

i = i+1

end

row = cur:fetch (row, "a")

end

elseif param == "dist" or param == "distance" then

cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 4 ORDER BY `value` DESC;"))

row = cur:fetch({}, "a")

str = "# [Distance Fighting] - Name\n"

local i = 0

while row do

if i == players then

break

end

query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))

sql = query:fetch({}, "a")

if sql ~= nil then

str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name..""

i = i+1

end

row = cur:fetch (row, "a")

end

elseif param == "shield" or param == "shielding" then

cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 5 ORDER BY `value` DESC;"))

row = cur:fetch({}, "a")

str = "# [shielding] - Name\n"

local i = 0

while row do

if i == players then

break

end

query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))

sql = query:fetch({}, "a")

if sql ~= nil then

str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name..""

i = i+1

end

row = cur:fetch (row, "a")

end

elseif param == "fish" or param == "fishing" then

cur = assert(con:execute("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = 6 ORDER BY `value` DESC;"))

row = cur:fetch({}, "a")

str = "# [Fishing] - Name\n"

local i = 0

while row do

if i == players then

break

end

query = assert(con:execute("SELECT `name` FROM `players` WHERE `group_id` <= "..maxgroupid.." AND `id` = "..row.player_id..""))

sql = query:fetch({}, "a")

if sql ~= nil then

str = str.."\n#"..(i+1).." ["..row.value.."] - "..sql.name..""

i = i+1

end

row = cur:fetch (row, "a")

end

end

if str ~= "" then

doPlayerPopupFYI(cid, str)

end

con:close()

env:close()

end

 

Em seguida salve como highscores.lua

 

 

Após isso siga :

 

Abra a pasta de seu servidor ~> abra o seu config.lua, você vai ver tudo, procure isso :

 

-- Guilds

ingameGuildSystem = "yes"

 

Em baixo disso você vai pular 1 linha e colar isso :

-- Highscores

highscoreDisplayPlayers = 15

updateHighscoresAfterMinutes = 1

 

Feito isso ficará assim.

 

-- Guilds

ingameGuildSystem = "yes"

 

-- Highscores

highscoreDisplayPlayers = 15

updateHighscoresAfterMinutes = 1

 

Você deverá pular mais uma linha para ficar seu config.lua direito e completo:

-- Guilds

ingameGuildSystem = "yes"

 

-- Highscores

highscoreDisplayPlayers = 15

updateHighscoresAfterMinutes = 1

 

-- Houses

housePriceEachSQM = 1000

houseRentPeriod = "never"

 

Bom fim de tutorial, obrigado pela atenção!


Xtibia 2006 ~ 2009!
Eu não to mais aguentando e a vida tá passando...





Quots :
QUOTE
17:24 Ulryx Shadowseeker [13]: eu acessava site pedofilo ~ Leo94
17:26 Next Shadowseeker [7]: SELL THAIS SWORD ~ Christian
'      Léo 1OO     diz:
ngm come minha xaninha
'      Léo 1OO     diz:
se nao tive
'      Léo 1OO     diz:
eu do meu cu

BillyBola

Ex-Imprensa XTibia
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 08/06/08Posts: 676Char no Tibia: Kimera De Pegasus

Puts fico muito bom quando fize um ot vo por esse sistema!

Victormaluko

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 20/06/08Posts: 50Char no Tibia: Angel Of Distance

Aham, o script é esse do !ranks, mas aki quando eu ponho ele dura 2 dia com ele e buga... ñ salva a sqL do ot :X

Mas seu tutorial ta ótimooo!

RedZL

Never mind, I'll find someone like you.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 06/11/06Posts: 850Char no Tibia: Xearius Thor

Por favor responda a dúvida do usuário Victormaluko, queremos criadores de tópicos que respondam à dúvidas.

alissonlinneker

ñ frite bacon sem kmiza xP
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 15/12/07Posts: 239

Victormaluko:

 

Confere o tempo de save que você colocou no seu config.lua

...

se tiver muito alto, configure para 1 minuto

 

...

este comando apenas lê as informações da database SQL sua, ele não salva nenhum tipo de informação



Devo esquecer aqueles que me impuseram obstáculos infundados e agradecer àqueles que me impulsionaram adiante. É hora, mais do que nunca, de valorizar as amizades e os conhecimentos adquiridos aqui. Agradeço a todos que me apoiaram. Vlw xTibia!
Amais!
[Retired]



~~>Meus Trabalhos:

---Sistema De Domínio De Castelos. (Action)
---Sistema De Mineraçao (Action)
---Scroll Que Da X Exp Quando é Usada (Action)
---Portas Não Abrem? Venha Aqui Ver Como Arruma! (Action)
---Crie Suas Quest´s De Uma Maneira Rapida E Facil. (Action)
---The Demon OaK Quest (Action)

---Addon Por Item, Com Todos Os Outfits. (Npc)

---Aprenda a colocar suas quests no Quest Log (Tutorial+scripts _ data/xml/quests.xml)
---Conhecendo Melhor A Pasta Globalevents (Tutorial+scripts)
---Gerencie O Seu Mysql Como Se Fosse Sqlite (Tutorial)
---Multi World Sistem - Como Funciona. (Tutorial)

---Projeto de tradução do TFS 8.31 SQL - Inglês para o Portugês (Server 8.31)

---2 Templantes para Web Site de OT (Websites de OTserv)
---Atualização de sites do Gesior para sistema de mult-world (Websites de OTserv)

---Thyrania editado (Map)
---Yalahar Global Completo (Map)

---Pic Editor para Tibia 8.2+ (Programa)
---Ztracker - Clone mapas 8.4 (Programa)



Darth Sidious

Em chamas...
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 31/07/07Posts: 533Char no Tibia: Kninght'Danilo

#Victormaluko, Bem realmente não sei se vai funcionar caso não funcione não sei resolver seu bug.

 

Abra a pasta de seu servidor ~> abra o seu config.lua, você vai ver tudo, procure isso :

 

-- Guilds

ingameGuildSystem = "yes"

 

Em baixo disso você vai pular 1 linha e colar isso :

-- Highscores

highscoreDisplayPlayers = 15

updateHighscoresAfterMinutes = 1

 

Feito isso ficará assim.

 

-- Guilds

ingameGuildSystem = "yes"

 

-- Highscores

highscoreDisplayPlayers = 15

updateHighscoresAfterMinutes = 1

 

Você deverá pular mais uma linha para ficar seu config.lua direito e completo:

-- Guilds

ingameGuildSystem = "yes"

 

-- Highscores

highscoreDisplayPlayers = 15

updateHighscoresAfterMinutes = 1

 

-- Houses

housePriceEachSQM = 1000

houseRentPeriod = "never"


Xtibia 2006 ~ 2009!
Eu não to mais aguentando e a vida tá passando...





Quots :
QUOTE
17:24 Ulryx Shadowseeker [13]: eu acessava site pedofilo ~ Leo94
17:26 Next Shadowseeker [7]: SELL THAIS SWORD ~ Christian
'      Léo 1OO     diz:
ngm come minha xaninha
'      Léo 1OO     diz:
se nao tive
'      Léo 1OO     diz:
eu do meu cu

RedZL

Never mind, I'll find someone like you.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 06/11/06Posts: 850Char no Tibia: Xearius Thor

Que bom saber que ainda temos usuários interessados na comunidade. Muito obrigado Darth e Alisson.

Movido.

angraboy

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/12/08Posts: 6Char no Tibia: Draggyman

Ótimo tutorial, mas eu também preciso editar o SQLITE. Você pode me ajudar?

lucasjockey

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 30/07/07Posts: 101

Esse script da Bugs no meu OT...

 

Mas vlw ae!

x[sup]2[/sup]=-1
x=i
:D

eduardomaloka55

Curtis
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/12/08Posts: 22Char no Tibia: tiraomaloka

fiz no meu ot e n deu nenhum debug fiko chapado

 

vlw

maninho

Nada acabou, é apenas um novo começo.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/10/05Posts: 44Char no Tibia: Shedi Odio

Muito útil, e seu tutorial está bem completo, obrigado por trazer isso à nós.

Parabéns pela solidariedade !

Atenciosamente Maninho ;)

Fan De:


Meu timão:

fiofox

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/10/06Posts: 32

Bom eu fiz tudo como ta ai emcima e nao funcionou :(

Eu uso Styller Yuriots Milenion Version

Se vc souber o porque me ajuda pq fica mto rox com !rank no OT :D

Pally sempre foi humilhado, agora foi muito bonificado, tem nego que fico irritado xDD

FIOFOX

Merchant

ex-moderador :)
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/01/09Posts: 252

Realmente parabéns, está sendo útil para os usuários.

 

Aprovado

E-mail: luizcavalcanti@live.com

eduardomaloka55

Curtis
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/12/08Posts: 22Char no Tibia: tiraomaloka

bom tutor

me ajudo bastante , mais quando o serv cai e poem on de novo , tem pirigo de n salva ?

com ot q n tem o /save ou "save

Gibahg

Giba
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/12/08Posts: 24Char no Tibia: Guerreiro Burro

Nota 1000/1000 :smile_positivo: mtu bom ajuda pra karamba

Minha assinatura gigante






Clique aqui e upa meu bichinho! Plx clica é rapidinho!!



Copie e cole-os em sua assinatura e seja um dono do mundo tambem!
(\_/)
(o.O) єstє é Jαck, o Coєlho.
(>-<) αjudє Jαck єм sua cαмinhαdα
pєlα doмinαçαo globαl, copiє єlє e colє єм sua assinatura (senao vc morre estrangulado :I)
____________________________________________________

(\_/)
//.o) Estє é Puppy, O coєlho Eмo!
(> <) Elє ajuda Jack, o Coєlho, a doмinar o мundo, copiє-o єм sua assinatura (senao jack te mata a tiros)
____________________________________________________

(\_/)
(*.*) Este é o Sonzo, o Coelho.
(> <)Ele carrega as malas do Jack e do Puppy em sua caminhada pela dominação global. (senao jack te estrangula e te mata na facada)
____________________________________________________


ROOKER at Tibia;
ADMIN at OTserv;
FAN at XTibia;
VICIADO at pc!

_____________________________________________________________________________







Vai encarar?
  • 1
  • 2