RO
talkaction

Status System

Por Roksas, 19 de mai. de 2013 em Actions e Talkactions

script
7
1.8k
RoksasR
19 de maio de 2013 às 12:29

Status System

 

 

divisor.png

 

Como em grandes fórums ou no Facebook, nós podemos mudar nossos Status. Que tal ter isso no nosso próprio Server? Que tal poder interagir com todos por meio de um simples comando? Sem precisar configurar nada no código.

 

 

 

 

Instalação

 

 

divisor.png

Vá em data/talkactions/scripts, crie um arquivo chamado status.lua ou copie algum arquivo da pasta e cole, renomeie para status e coloque isso dentro:

 

 

 

local exhausted = 10
function onSay(cid, words, param)

if param ~= "" and getPlayerStorageValue(cid, 11450) > os.time() then
doPlayerSendTextMessage(cid, 20, "Você deve aguardar "..getPlayerStorageValue(cid, 11450) - os.time().." segundos para mudar seus Status.") return true end

if #param > 200 then
doPlayerSendTextMessage(cid, 20, "Você deve digitar um status com no máximo 200 caractéres.") return true end

if param == "clean" then
setPlayerStorageValue(cid, 11449, -1) return true end

if param == "" then
doPlayerSendTextMessage(cid, 20, "Este comando requer um status.")
doPlayerSendTextMessage(cid, 20, "-- \\ Atualização de status // --")

for _, pid in ipairs(getPlayersOnline()) do
if getPlayerStorageValue(pid, 11449) == tonumber(-1) then return true end
doPlayerSendTextMessage(cid, 20, ""..getCreatureName(pid)..": "..getPlayerStorageValue(pid, 11449).."")
end return true end

setPlayerStorageValue(cid, 11449, param)
setPlayerStorageValue(cid, 11450, os.time() + exhausted)
doPlayerSendTextMessage(cid, 20, "Você atualizou o seu Status para: {"..param.."}.")
return true
end

 

 

 

Abra o talkactions.xml com algum editor de texto e cole essa tag:

 

<talkaction words="!status;/status" event="script" value="status.lua"/>

 

 

 

divisor.png

 

Nesta parte do código:

 

local exhausted = 10

 

Você configura um exhausted, ou seja, a cada quantos segundos pode mudar seu Status.

 

 

 

 

 

Demonstração

 

 

divisor.png

!status	   << Apenas isso mostra a lista de Status dos players Online.
!status Blablabla		   <<  Blablabla == Coloque algum status para você
!status clean			<< Retirar seus status

 

 

1h7z0h.jpg

Editado Maio 19 por Roksas

guierayG
19 de maio de 2013 às 12:39

Boa garoto, continue assim

caoticC
19 de maio de 2013 às 12:43

Umas melhorias :p.

 

local exhausted = 10
function onSay(cid, words, param)

if param ~= "" and getPlayerStorageValue(cid, 11450) > os.time() then
doPlayerSendTextMessage(cid, 20, "Você deve aguardar "..getPlayerStorageValue(cid, 11450) - os.time().." segundos para mudar seus Status.") return true end

if param == "clean" then
setPlayerStorageValue(cid, 11449, -1) return true end

if param == "" then
str = "-- \\ Atualização de status // --"

for _, pid in ipairs(getPlayersOnline()) do
if getPlayerStorageValue(pid, 11449) == tonumber(-1) then return true end
str = str..""..getCreatureName(pid)..": "..getPlayerStorageValue(pid, 11449).."\n"
end
doShowTextDialog(cid, 1397, str)
return true
end

setPlayerStorageValue(cid, 11449, param)
setPlayerStorageValue(cid, 11450, os.time() + exhausted)
doPlayerSendTextMessage(cid, 20, "Você atualizou o seu Status para: {"..param.."}.")
return true
end

Editado Maio 19 por caotic

RoksasR
19 de maio de 2013 às 12:47

Muito legal caotic, fica bem massa com DialogBox, obrigado ^^

ScythePhantomS
20 de maio de 2013 às 11:11

Sem clichê algum, seu desenvolvimento é monstruoso, parabéns, um ótimo trabalho, mas um né?! rs, Parabéns cara.

RoksasR
20 de maio de 2013 às 12:42

Isso é uma bela notícia Scyte, muito obrigado pelos elogios :)

AlexclusiveA
20 de maio de 2013 às 14:05

Parabéns Roksas, sempre inovando e trazendo conteúdo novo!

 

Te admiro garoto! :)