Ir para conteúdo
  • Cadastre-se

(Resolvido)comando !rank com falha


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Então, essa parte do other_skills, esses rank, level, mag, health, reset e mana não estão funcionando:

 

distro tfs 0.4

 

local config = {
MaxPlayer = 20,
fight_skills = {
['fist'] = 0,
['club'] = 1,
['sword'] = 2,
['axe'] = 3,
['distance'] = 4,
['shielding'] = 5,
['fishing'] = 6,
['dist'] = 4,
['shield'] = 5,
['fish'] = 6,
},
other_skills = {
[''] = "level",
['level'] = "level",
['magic'] = "maglevel",
['health'] = "healthmax",
['reset'] = "reset",
['mana'] = "manamax"
},
vocations = {
['sorcerer'] = {1,5},
['druid'] = {2,6},
['paladin'] = {3,7},
['knight'] = {4,8}
}
}
function onSay(cid, words, param)
local store,exausted = 156201,5
local param,str = string.lower(param),""
if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "this ranking does not exists.") return true
elseif getPlayerStorageValue(cid, store) >= os.time() then
doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true
end
str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n"
query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;")
if (query:getID() ~= -1) then
k = 1
while true do
str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id"))  or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "]"
k = k + 1
if not(query:next()) or k > config.MaxPlayer then
break
end
end
query:free()
end
doShowTextDialog(cid,6500, str)
setPlayerStorageValue(cid, store, os.time()+exausted)
return true
end

 

Editado por JcA
tfs 0.4 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 27/03/2017 ás 14:21, Vodkart disse:

ta e qual é o erro?

 

Sem erros Vodkart, só não mostra nada quando usa as seguintes funções no comando:

 

other_skills = {
[''] = "level",
['level'] = "level",
['magic'] = "maglevel",
['health'] = "healthmax",
['reset'] = "reset",
['mana'] = "manamax"

 

Link para o post
Compartilhar em outros sites

usa serve sqlite?

 

testei aqui e funcionou

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
11 horas atrás, Vodkart disse:

usa serve sqlite?

 

testei aqui e funcionou

 

Sim é sql no momento, quando eu finalizar vou por em mysql, bom, deve ser algum script em conflito

Link para o post
Compartilhar em outros sites
Em 29/03/2017 ás 07:03, JcA disse:

 

Sim é sql no momento, quando eu finalizar vou por em mysql, bom, deve ser algum script em conflito

 

@Vodkart Não consegui resolver, você não pode reformular o código pra uma forma diferente?

Link para o post
Compartilhar em outros sites
29 minutos atrás, JcA disse:

 

@Vodkart Não consegui resolver, você não pode reformular o código pra uma forma diferente?

 

Posso, assim que chegar em casa faço.

 

manda print do que aparece quando vc digita, !rank level

 

e ve se não tem nenhum outroi comando em talk ou mods, pode dar conflito.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
32 minutos atrás, Vodkart disse:

 

Posso, assim que chegar em casa faço.

 

manda print do que aparece quando vc digita, !rank level

 

e ve se não tem nenhum outroi comando em talk ou mods, pode dar conflito.

 

Não da nenhum erro no distro, e também nenhuma talk esta atrapalhando

bug.png

bug2.png

Link para o post
Compartilhar em outros sites

usa linux ou otx?

 

enfim, de qualquer jeito eu refaço em casa

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
57 minutos atrás, Vodkart disse:

usa linux ou otx?

 

enfim, de qualquer jeito eu refaço em casa

 

Windows, obrigado, no aguardo

Link para o post
Compartilhar em outros sites
  • Solução
local config = {
	MaxPlayer = 20,
	fight_skills = {
		['fist'] = 0,
		['club'] = 1,
		['sword'] = 2,
		['axe'] = 3,
		['distance'] = 4,
		['shielding'] = 5,
		['fishing'] = 6,
		['dist'] = 4,
		['shield'] = 5,
		['fish'] = 6,
	},
	other_skills = {
		[''] = "level",
		['level'] = "level",
		['magic'] = "maglevel",
		['health'] = "healthmax",
		['reset'] = "reset",
		['mana'] = "manamax"
	},
	vocations = {
		['sorcerer'] = {1,5},
		['druid'] = {2,6},
		['paladin'] = {3,7},
		['knight'] = {4,8}
	}
}
function onSay(cid, words, param)
	local store,exausted = 156201,5
	local param,str = param:lower(),""
	if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "this ranking does not exists.") return true
	elseif getPlayerStorageValue(cid, store) >= os.time() then
		doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true
	end
	str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n"
	local query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;")
	if (query:getID() ~= -1) then
		k = 1
		repeat
			str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "]"
			k = k + 1
			until not(query:next()) or k > config.MaxPlayer
		query:free()
	end
	doShowTextDialog(cid,6500, str)
	setPlayerStorageValue(cid, store, os.time()+exausted)
	return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
19 horas atrás, Vodkart disse:

local config = {
	MaxPlayer = 20,
	fight_skills = {
		['fist'] = 0,
		['club'] = 1,
		['sword'] = 2,
		['axe'] = 3,
		['distance'] = 4,
		['shielding'] = 5,
		['fishing'] = 6,
		['dist'] = 4,
		['shield'] = 5,
		['fish'] = 6,
	},
	other_skills = {
		[''] = "level",
		['level'] = "level",
		['magic'] = "maglevel",
		['health'] = "healthmax",
		['reset'] = "reset",
		['mana'] = "manamax"
	},
	vocations = {
		['sorcerer'] = {1,5},
		['druid'] = {2,6},
		['paladin'] = {3,7},
		['knight'] = {4,8}
	}
}
function onSay(cid, words, param)
	local store,exausted = 156201,5
	local param,str = param:lower(),""
	if not config.fight_skills[param] and not config.other_skills[param] and not config.vocations[param] then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "this ranking does not exists.") return true
	elseif getPlayerStorageValue(cid, store) >= os.time() then
		doPlayerSendCancel(cid, "wait " .. getPlayerStorageValue(cid, store) - os.time() .. " seconds to use this command again.") return true
	end
	str = "--[ RANK "..(param == "" and "LEVEL" or string.upper(param)).." ]--\n\n"
	local query = config.fight_skills[param] and db.getResult("SELECT `player_id`, `value` FROM `player_skills` WHERE `skillid` = "..config.fight_skills[param].." ORDER BY `value` DESC;") or config.other_skills[param] and db.getResult("SELECT `name`, `"..config.other_skills[param].."` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `"..config.other_skills[param].."` DESC, `name` ASC;") or db.getResult("SELECT `name`, `level` FROM `players` WHERE `group_id` <= 2 AND `vocation` = "..config.vocations[param][1].." or `vocation` = "..config.vocations[param][2].." ORDER BY `level` DESC;")
	if (query:getID() ~= -1) then
		k = 1
		repeat
			str = str .. "\n " .. k .. ". "..(config.fight_skills[param] and getPlayerNameByGUID(query:getDataString("player_id")) or query:getDataString("name")).." - [" .. query:getDataInt((config.fight_skills[param] and "value" or config.vocations[param] and "level" or config.other_skills[param])) .. "]"
			k = k + 1
			until not(query:next()) or k > config.MaxPlayer
		query:free()
	end
	doShowTextDialog(cid,6500, str)
	setPlayerStorageValue(cid, store, os.time()+exausted)
	return true
end

 

 

Mano, você vai ficar bravo, mas ainda não funcionou, wtf?

 

Sera que é minha database? Sera que por mod fumfa? '-'

 

 

wtf.png

Link para o post
Compartilhar em outros sites

qual servidor vc usa? pra eu testar aqui

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
9 horas atrás, Vodkart disse:

qual servidor vc usa? pra eu testar aqui

 

distro 64x

 

 

 

Link para o post
Compartilhar em outros sites

@Vodkart, amigo, descobri o problema, como eu pensava... era a database mesmo, acabei colocando outra de um ot server, porém ela  esta bem poluída (cheia de informações), existe algum query que faz uma limpeza de todos os dados contido? Tem outra solução também, que não sei, mas podemos criar a tabela que falta na minha database que esta limpa, só não sei qual database é agora...

 

Siga abaixo as imagens da database que eu peguei, e a minha de origem.

 

database que eu peguei:

 

bestbaiak.s3db

 

a minha de origem:

 

theforgottenserver.s3db

 

1.png

2.png

minha database origem.png

Link para o post
Compartilhar em outros sites
1 hora atrás, Skipper disse:

@JcA tenta essa db aqui

forgottenserver.s3db

mas não esquece de alterar as pos e outifit porquê pode dar debug

 

Não deu amigo, e esse deu varios erros no distro

1 hora atrás, Skipper disse:

@JcA tenta essa db aqui

forgottenserver.s3db

mas não esquece de alterar as pos e outifit porquê pode dar debug

 

Me passa uma query que cria um acc manager no sql

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo