CS
pedido

Talkactions Que Mostra On Players Com Promotion

Por cs007, 18 de nov. de 2012 em Scripts

script
9
1k
cs007C
18 de novembro de 2012 às 19:52

Olá pessoal queria saber se tem como fazer um script em talkactions que mostrasse os players com promotion, eu queria que isso fosse mostrado no default.

 

EXEMPLO = Carlons, Junior, Devid << Players com Promotion

 

Abraço

Editado Novembro 18 por cs007

SmiXS
18 de novembro de 2012 às 20:04

Tenta assim, não testei:

local vocatons_Promotions = { } -- Aqui bota os ids das promotions, OBS tem que ser mais q um número
function onSay(cid, words)
for _, pid in ipairs(getPlayersOnline()) do
      if isInArray(vocatons_Promotions, getPlayerVocation(pid)) then
       doPlayerSendTextMessage(cid, 27, "Players Promoteds: \n "..getCreatureName(pid).."")
     end
end
return true
end

cs007C
18 de novembro de 2012 às 22:51

Lek pelo que percebi ele só está mostrando de quem está online queria que mostrasse de quem estivesse off também tem como? é parece que está mostrando no logs queria que mostrasse no default. Abraço desde já agradeço pela ajuda

SkymagnumS
18 de novembro de 2012 às 23:12

se as voc promo forem 5,6,7,8 use este:

function onSay(cid, words, param)
local str = ""
str = "--[ Jogadores que tem promotion no servidor ]--\n\n"

local qry = db.getResult("SELECT `player_id` FROM `players` WHERE `vocation` > 4 ORDER BY `level` DESC;")
if (qry:getID() ~= -1) then  
while true do
str = str .. "\n " ..getPlayerNameByGUID(qry:getDataString("player_id")) .. "."
if not(qry:next()) then
break
end
end
qry:free()
end
doPlayerSendTextMessage(cid, 27, str)
return true
end

 

se forem 8 pra cima use este:

function onSay(cid, words, param)
local str = ""
str = "--[ Jogadores que tem promotion no servidor ]--\n\n"

local qry = db.getResult("SELECT `player_id` FROM `players` WHERE `vocation` > 8 ORDER BY `level` DESC;")
if (qry:getID() ~= -1) then  
while true do
str = str .. "\n " ..getPlayerNameByGUID(qry:getDataString("player_id")) .. "."
if not(qry:next()) then
break
end
end
qry:free()
end
doPlayerSendTextMessage(cid, 27, str)
return true
end

Editado Novembro 19 por Skymagnum

cs007C
18 de novembro de 2012 às 23:58

Deu erro lek... Olha o erro que deu

 

[23:56:44.473] mysql_real_query(): SELECT `player_id` FROM `players` WHERE `vocation` > 4 ORDER BY `level` DESC; - MYSQL ERROR: Unknown column 'player_id' in 'field list' (1054)
[23:56:44.474] [Error - TalkAction Interface]
[23:56:44.474] data/talkactions/scripts/online2.lua:onSay
[23:56:44.474] Description:
[23:56:44.474] data/talkactions/scripts/online2.lua:6: attempt to index global 'query' (a nil value)
[23:56:44.474] stack traceback:
[23:56:44.474]  data/talkactions/scripts/online2.lua:6: in function <data/talkactions/scripts/online2.lua:1>

SkymagnumS
19 de novembro de 2012 às 00:26

Fiz uma cagada bonita agora hueuheu:

 

function onSay(cid, words, param)
local str = ""
str = "--[ Jogadores que tem promotion no servidor ]--\n\n"

local qry = db.getResult("SELECT `name` FROM `players` WHERE `vocation` > 4 ORDER BY `level` DESC;")
if (qry:getID() ~= -1) then  
while true do
str = str .. "\n " .. qry:getDataString("name") .. "."
if not(qry:next()) then
break
end
end
qry:free()
end
doPlayerSendTextMessage(cid, 27, str)
return true
end

Editado Novembro 19 por Skymagnum

cs007C
19 de novembro de 2012 às 03:23

Valeu lek, consegui ;D REP +

SmiXS
19 de novembro de 2012 às 09:41

Dúvida Sanada!

Reportado!

HisashiitYamagutiH
19 de novembro de 2012 às 09:45

Tópico movido para Dúvidas Resolvidas.