TE
pedido

PEDIDO .:: Script ::.

Por texz, 01 de out. de 2013 em Scripts

script
26
2.4k
texzT
01 de outubro de 2013 às 00:01

Olá !




Eu preciso de um script que funcione da seguinte maneira ..




o player use o comando /tutor



e ELE GANHE ACESO O CARGO TUTOR POR UM DIA ..




E que não possa usar o comando novamente...





Explicação >



Eu editei os GROUP no xml do server.. e editei algumas talkactions .. Fzendo com que o player que seja tutor na verdade é o VIP DONATE do meu server.. que com isso ele pode usar um comando.



<group id="2" name="Donate VIP" access="1"/>

(!tp donate) e pode ter acesso a area vip.




Obrigado.



lovenina12L
01 de outubro de 2013 às 01:59

safadjenho na hora do tutor em, mais nao precisa colocar pro !tp precisar de group, coloca pra precisar de storage ( a storage do vip ) =p

 

vo fazer aqui, quando tiver pronto eu edito este comentario

texzT
01 de outubro de 2013 às 09:08

safadjenho na hora do tutor em, mais nao precisa colocar pro !tp precisar de group, coloca pra precisar de storage ( a storage do vip ) =p

 

vo fazer aqui, quando tiver pronto eu edito este comentario

 

Aguardando amigo kk

 

Obrigado..

 

 

Na verdade é assim : Eu adicionei a seguinte talkaction em meu server

<talkaction words="!tp" access="1" script="teleportvip.lua"/>

E como está bem claro.. Apenas players com Access=1 podem usar..

 

O que o comando faz ? Se o player estiver em PROTECTZONE e ultilizar este comando ele é enviado para a area DONATE

!to donate

_____________________

Eu queria que os player pudessem ultilizar um comando que deixassem eles com GROUP 2.. POR UM DIA E DEPOIS VOLTASSE AO NORMAL..

 

 

Finalidade ? Test vip,

 

e que possa ser usada uma vez apenas por player.. Pois a vip no meu server é por PLAYER e nao Account.

lovenina12L
01 de outubro de 2013 às 18:38

desculpe pela demora, estou qs terminaando

o problema e que nao consigo resolver: se o player esta off quando passa o 1 dia, nao reconnhece ele e ele continua com o tutor, mais no momento esta assim:

eu to queimando os neuronios pra descobrir qual a forma de reconhecer o "cid" ou pelomenos o nome dele enquanto ele estiver off =/

 

local storage = 920304 -- storage que ficara armazenado que o player usou o comando

local mensJapegou = "Voce ja pegou seu Tutor por um dia!" -- mensagem de quando ele ja pegou!
local mensPass = "Parabens, agora voce se tornou tutor por um dia!" -- mensagem de parabens
local backGroup = 1 -- Group ID que ira ficar depois de 1 dia
function onSay(cid, words, param, channel)
if getPlayerStorageValue(cid, storage) ~= -1 then
doPlayerSendCancel(cid, mensJapegou)
doSendMagicEffect(getCreaturePosition(cid), 2)
return TRUE
end
setPlayerGroupId(cid, 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensPass)
doSendMagicEffect(getCreaturePosition(cid), 28)
setPlayerStorageValue(cid, storage, 1)
addEvent(removeTutor, 1*24*60*60*1000, cid)
return TRUE
end
function removeTutor(cid)
if getPlayerGUID(cid) then
setPlayerGroupId(cid, 1)
else
doRemoveCreature(cid)
return TRUE
end

Editado Outubro 1 por ProfissaoPK

MaenilseM
01 de outubro de 2013 às 18:49

seria melhor deixar na variavel, o tempo caso ele queira modificar, ficar mas facil, dei uma ajustada no teu script, adcionando variavel.

local storage = 920304 -- storage que ficara armazenado que o player usou o comando
local mensJapegou = "Voce ja pegou seu Tutor por um dia!" -- mensagem de quando ele ja pegou!
local mensPass = "Parabens, agora voce se tornou tutor por um dia!" -- mensagem de parabens
local backGroup = 1 -- Group ID que ira ficar depois de 1 dia
local Tempo = 24
 
function onSay(cid, words, param, channel)
if getPlayerStorageValue(cid, storage) ~= -1 then
doPlayerSendCancel(cid, mensJapegou)
doSendMagicEffect(getCreaturePosition(cid), 2)
return TRUE
end
 
setPlayerGroupId(cid, 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensPass)
doSendMagicEffect(getCreaturePosition(cid), 28)
setPlayerStorageValue(cid, storage, 1)
addEvent(removeTutor, Tempo * 1000, cid)
return TRUE
end
 
function removeTutor(cid)
if getPlayerGUID(cid) then
setPlayerGroupId(cid, 1)
else
doRemoveCreature(cid)
return TRUE
end

Editado Outubro 1 por Maenilse

lovenina12L
01 de outubro de 2013 às 21:34

 

seria melhor deixar na variavel, o tempo caso ele queira modificar, ficar mas facil, dei uma ajustada no teu script, adcionando variavel.

local storage = 920304 -- storage que ficara armazenado que o player usou o comando
local mensJapegou = "Voce ja pegou seu Tutor por um dia!" -- mensagem de quando ele ja pegou!
local mensPass = "Parabens, agora voce se tornou tutor por um dia!" -- mensagem de parabens
local backGroup = 1 -- Group ID que ira ficar depois de 1 dia
local Tempo = 24
 
function onSay(cid, words, param, channel)
if getPlayerStorageValue(cid, storage) ~= -1 then
doPlayerSendCancel(cid, mensJapegou)
doSendMagicEffect(getCreaturePosition(cid), 2)
return TRUE
end
 
setPlayerGroupId(cid, 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensPass)
doSendMagicEffect(getCreaturePosition(cid), 28)
setPlayerStorageValue(cid, storage, 1)
addEvent(removeTutor, Tempo * 1000, cid)
return TRUE
end
 
function removeTutor(cid)
if getPlayerGUID(cid) then
setPlayerGroupId(cid, 1)
else
doRemoveCreature(cid)
return TRUE
end

maenilse, tem um erro no seu

local Tempo = 24

tá, até ai tudo bem mais olha aqui

addEvent(removeTutor, Tempo * 1000, cid)

deveria ser

addEvent(removeTutor, Tempo * 60 * 60 * 1000, cid)
MaenilseM
01 de outubro de 2013 às 21:53

nao sei aonde, ta certo aqui eu testei... e funcionou eu testei com o local tempo = 1

e funcionou perfeitamente, e desse modo.

texzT
01 de outubro de 2013 às 22:25

Obrigado a todos que estão ajudando :)

 

 

Maenilse

 

Esse seu ta com erro na linha 28

 

 

ProfissaoPK

erro na linha 21 e 27

 

 

Estou usando 0.3.6 | 8.6

 

 

Ambas talkactions não funcionam =s

 

Mesmo assim obrigado galera. Seu que não é facil.. Espero por novas respostas :))

Editado Outubro 1 por texz

lovenina12L
02 de outubro de 2013 às 00:23


local storage = 920304 -- storage que ficara armazenado que o player usou o comando

local mensJapegou = "Voce ja pegou seu Tutor por um dia!" -- mensagem de quando ele ja pegou!

local mensPass = "Parabens, agora voce se tornou tutor por um dia!" -- mensagem de parabens

local backGroup = 1 -- Group ID que ira ficar depois de 1 dia

local Tempo = 24

 

 

function onSay(cid, words, param, channel)

if getPlayerStorageValue(cid, storage) ~= -1 then

doPlayerSendCancel(cid, mensJapegou)

doSendMagicEffect(getCreaturePosition(cid), 2)

return TRUE

end

 

 

setPlayerGroupId(cid, 2)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensPass)

doSendMagicEffect(getCreaturePosition(cid), 28)

setPlayerStorageValue(cid, storage, 1)

addEvent(removeTutor, Tempo * 60 * 60 * 1000, cid)

return TRUE

end

 

 

function removeTutor(cid)

if getPlayerGUID(cid) then

setPlayerGroupId(cid, 1)

else

doRemoveCreature(cid)

end

return TRUE

end

texzT
02 de outubro de 2013 às 11:19

Agora funcionou *-*

 

Mais será que ele esta reconhecendo aqela parada que voce tinha falado referente a não estar online ?

 

 

 

- Outra coisa - Se eu quiser alterar o tempo.. Posso simplesmente modificar

local Tempo = 24

??

Editado Outubro 2 por texz

MaenilseM
02 de outubro de 2013 às 13:36

sim, 24 - 24 horas. modifique com a quantidade de tempo que vc quiser.

texzT
02 de outubro de 2013 às 14:25

E ele esta verificando players OFFLINE?

MaenilseM
02 de outubro de 2013 às 14:31

pra remover qnd o player tiver offline, use o script assim.

 

local storage = 920304 -- storage que ficara armazenado que o player usou o comando
local mensJapegou = "Voce ja pegou seu Tutor por um dia!" -- mensagem de quando ele ja pegou!
local mensPass = "Parabens, agora voce se tornou tutor por um dia!" -- mensagem de parabens
local backGroup = 1 -- Group ID que ira ficar depois de 1 dia
local Tempo = 24


function onSay(cid, words, param, channel)
if getPlayerStorageValue(cid, storage) ~= -1 then
doPlayerSendCancel(cid, mensJapegou)
doSendMagicEffect(getCreaturePosition(cid), 2)
return TRUE
end


setPlayerGroupId(cid, 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensPass)
doSendMagicEffect(getCreaturePosition(cid), 28)
setPlayerStorageValue(cid, storage, 1)
addEvent(removeTutor, Tempo * 60 * 60 * 1000, cid)
return TRUE
end


function removeTutor(cid)
if getPlayerGUID(cid) then
db.executeQuery("UPDATE `players` SET `group_id` = 1 WHERE `id` = "..getPlayerGUID(cid))
doRemoveCreature(cid)
end
return TRUE
end
texzT
02 de outubro de 2013 às 15:01

 

pra remover qnd o player tiver offline, use o script assim.

local storage = 920304 -- storage que ficara armazenado que o player usou o comando
local mensJapegou = "Voce ja pegou seu Tutor por um dia!" -- mensagem de quando ele ja pegou!
local mensPass = "Parabens, agora voce se tornou tutor por um dia!" -- mensagem de parabens
local backGroup = 1 -- Group ID que ira ficar depois de 1 dia
local Tempo = 24


function onSay(cid, words, param, channel)
if getPlayerStorageValue(cid, storage) ~= -1 then
doPlayerSendCancel(cid, mensJapegou)
doSendMagicEffect(getCreaturePosition(cid), 2)
return TRUE
end


setPlayerGroupId(cid, 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensPass)
doSendMagicEffect(getCreaturePosition(cid), 28)
setPlayerStorageValue(cid, storage, 1)
addEvent(removeTutor, Tempo * 60 * 60 * 1000, cid)
return TRUE
end


function removeTutor(cid)
if getPlayerGUID(cid) then
db.executeQuery("UPDATE `players` SET `group_id` = 1 WHERE `id` = "..getPlayerGUID(cid))
doRemoveCreature(cid)
end
return TRUE
end

 

Assim funcionará como ? as 24 horas vão contar mesmo que o player estiver off ? ( assim que e quero)

MaenilseM
02 de outubro de 2013 às 15:10

claro que sim lek, e tambem removera o tutor, e deixara como player, msm se o player tiver online, ou offline, mas o tempo ira contar com ele offline ou online.