DE
talkaction

[Talkaction] Twitts

Por Demonbholder, 30 de mar. de 2011 em Actions e Talkactions

tibia
script
otserv
20
3.9k
30 de março de 2011 às 17:07

Faaaala galera, e ai, tudo tranquilo? Já devem ter percebido que eu adoro talkactions, simplesmente gosto de fazer Talks. Essas informações são para caso se você um dia for fazer uma biografia minha ok? Haha, vamos deixar de brincadeira e ir logo para o script.

 

Como funciona: É tipo um twitter, eu nunca usei o twitter ai não sei como funciona ele direito, mas eu fiz algo do tipo. Você fala !twitt Blablabla e é adicionada ao seu Twitter no Tibia, ai para ver os Twitts dos outros é só falar !follow NomeDoJogador e ver seus twitts. Não testei muito esse sistema, creio não há erros, mas não tenho certeza.

 

Talkaction:

 

function onSay(cid, words, param)

if words == "!twitt" then
	if getGlobalStorageValue(30070) == -1 then
		db.executeQuery("ALTER TABLE `players` ADD twits TEXT NOT NULL DEFAULT twitter;")
		setGlobalStorageValue(30070, 1)
	end
	if param == "" then
		doPlayerSendCancel(cid, "Param required.")
		doSendMagicEffect(getCreaturePosition(cid), 2)
	else
		local datas = db.getResult("SELECT `twits` FROM `players` WHERE `id` = ".. getPlayerGUID(cid) .. ";")
		local sentense = datas:getDataString("twits") .. "\n" ..  tostring(param) .. " " .. os.date("%c")
		db.executeQuery("UPDATE `players` SET `twits` = '".. sentense .. "' WHERE `id` = ".. getPlayerGUID(cid) .. ";")
	return TRUE
	end
end

if words == "!follow" then
	if param == "" then
		doPlayerSendCancel(cid, "Param required.")
		doSendMagicEffect(getCreaturePosition(cid), 2)
	else
		local id = playerExists(tostring(param)) and getPlayerGUIDByName(tostring(param)) or getPlayerGUID(cid)
		local datas = db.getResult("SELECT `twits` FROM `players` WHERE `id` = ".. id .. ";")
		local name = id == getPlayerGUID(cid) and getCreatureName(cid) or param
		doShowTextDialog(cid, 2160, name .. " " .. datas:getDataString("twits"))
	end
end

return TRUE
end

 

Lembrando que é um Twitter no OtServer, não tem nada a ver com o site.

 

Tag:

 

<talkaction words="!twitt;!follow" script="NomeDoArquivo.lua" />

 

 

Servidor Testado: New Styller Yourots 0.7.5

 

 

Qualquer erro, por favor me notifique imediatamente, até mais.

Editado Março 30 por Demonbholder

thaliaT
30 de março de 2011 às 17:13

Puts, twitter até no tibia (:'

Bem divertido né!

 

Você poderia ir atualizando essa talk né!

Cada versão melhorando tals!

 

Tá de parabens :X

MatheuzinhoulM
30 de março de 2011 às 17:47

Boa Demon, se fizer mais Talkactions boas assim deixo você imprimir uma foto da minha irmã '-'

Achei boa sua ideia de twitter kkk

Sou seu faaaaan *-------------------------------------------------------------------*

 

Não acredite muito nisso.

30 de março de 2011 às 18:29

Haha, vocês me deixam até meio atordoado que eu editei o tópico falando pra adicionar uma função nada a ver com o script kkkkk. Mas agora ta tudo certo, eu acho.

 

@Up

 

Quantas mais tu quer? :smile_positivo:

Kuro o ShinigaK
30 de março de 2011 às 19:02

Esse Sim Tah Foda Rep+ :smile_positivo:

BryanModestoB
30 de março de 2011 às 19:15

Muito show, espero chegar ainda nesse nivel de scripting

FernandinandF
31 de março de 2011 às 12:47

Muito bom rapaz, está mandando ver ein! Continue assim e logo estará na equipe como Moderador. ;p

 

Abraços ai.

pablo361P
31 de março de 2011 às 13:42

LOOL

que daóra

parabéens mano

rep+

HevoMindH
31 de março de 2011 às 13:53

!TWITT @Demonbholder É DEMAIS !!!

VOU APERTAR CTRL + D , SE PRECISAR EU USO DEPOIS.

É MAIS PRA BRINCAR ESSE SCRIPT !

KKK

 

OU PRA USAR EM OT DE WAR, TIPO :

 

!TWITT SAI DA PZ SEUS GAYS!

 

MAS AI TEM A QUESTAO DO FOLLOW AI NINGUEM IA VER.

31 de março de 2011 às 14:02

function onSay(cid, words, param)

if param == "" then
doPlayerSendCancel(cid, "Parâmetro necessário.")
doSendMagicEffect(getCreaturePosition(cid), 2)
else
for _, pid in ipairs(getPlayersOnline()) do
doShowTextDialog(pid, 2160, getCreatureName(cid) .. " diz: \n" .. param)
end
end
return TRUE
end

 

Assim que tu quer?

comedinhasssC
31 de março de 2011 às 18:04

Você esta se superando a cada dia...

Esse script está maravilhoso...

 

Vou usa-lo em servidores futuros, aguarde...

7 meses depois...
SpigaS
14 de outubro de 2011 às 11:58

function onSay(cid, words, param)

       if words == "!twitt" then

	local time = 10 -- tempo em minutos
	if exhaustion.get(cid, ovo.storage) then
	local minutos = math.floor(exhaustion.get(cid, 30069)/60) 
	doPlayerSendCancel(cid, "You must wait  ".. (minutos < 0 and exhaustion.get(cid, 30069).." seconds" or minutos.." minutes") .." to twitt something again.")
	return true 
	end

               if getGlobalStorageValue(30070) == -1 then
                       db.executeQuery("ALTER TABLE `players` ADD twits TEXT NOT NULL DEFAULT twitter;")
                       setGlobalStorageValue(30070, 1)
               end
               if param == "" then
                       doPlayerSendCancel(cid, "Param required.")
                       doSendMagicEffect(getCreaturePosition(cid), 2)
               else
                       local datas = db.getResult("SELECT `twits` FROM `players` WHERE `id` = ".. getPlayerGUID(cid) .. ";")
                       local sentense = datas:getDataString("twits") .. "\n" ..  tostring(param) .. " " .. os.date("%c")
                       db.executeQuery("UPDATE `players` SET `twits` = '".. sentense .. "' WHERE `id` = ".. getPlayerGUID(cid) .. ";")
						for _, pid in ipairs(getPlayersOnline()) do
						doPlayerBroadcastMessage(pid, getCreatureName(cid) .. " twitts: " .. param)
						end
			exhaustion.set(cid, 30069, time*60)
               return TRUE
               end
       end

       if words == "!follow" then
               if param == "" then
                       doPlayerSendCancel(cid, "Param required.")
                       doSendMagicEffect(getCreaturePosition(cid), 2)
               else
                       local id = playerExists(tostring(param)) and getPlayerGUIDByName(tostring(param)) or getPlayerGUID(cid)
                       local datas = db.getResult("SELECT `twits` FROM `players` WHERE `id` = ".. id .. ";")
                       local name = id == getPlayerGUID(cid) and getCreatureName(cid) or param
                       doShowTextDialog(cid, 11677 , name .. " " .. datas:getDataString("twits"))
               end
       end

return TRUE
end

 

 

Alterei o script pra mandar broadcast em todos os twitts e só poder twittar a cada 10 minutos (tempo configuravel)... vou usar, vlw demon.

Editado Outubro 14 por Spiga

14 de outubro de 2011 às 12:47

okay, faça bom uso.

alldakieA
14 de outubro de 2011 às 12:51

Eita, Ótimo Script!

Futuramente eu já tenho planos para ele!

Editado Outubro 15 por TonyHanks

bepokemonB
14 de outubro de 2011 às 14:40

@Demonbholder

 

Coloca uma funçao que ve os ultimos 'x' twitts, ou todos que ja foram Twittados com data e tal ..

(EX em ShowDialog)

"Demonbholder twitted in October 14th

Ola galera, esse eh meu novo talkaction e sistema de Twitter."

 

Ou entao que apareçam todos os Twitts de todas as pessoas que voce segue.

E que receba uma mensagem falando que alguem que voce segue Twittou algo.

Otra coisa legal seriam as Mentions, (@PlayerName) .. E se tiver @ entao via mandar uma mensagem para o PlayerName que recebeu uma Twitt com ele Mencionado.

 

Seria bom fazer algumas funçoes:

getTwitterFollowers(cid)

getTwitterFollowing(cid)

getPlayerTwitts(cid)

getTwittsByDate(date)

 

coisas do genero .. =)