Preciso Orientaçao

ivanhardjr
em Scripts

ivanhardjr

Outsider Server®
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/01/13Posts: 19Gênero: Masculino

Pessoal to aprendendo agora, as coisas mais basicas da linguagem lua, mais eu nao tenho ngm que me ensine ai fica muito dificil pra mim, bom vamos la !

 

Eu peguei um sistema feito, pois ainda nao aprendi a criar do 0, apenas sei modificalo as vezes, porem esse eu n to conseguindo, alguem pode me fazer um script como esse? e porfavor me ensinar como fazer e onde usar tais açoes como: else - return then - return true - end

 

Porfavor gente, quero muito aprender, me dedico mais eu n entendo muito, se alguem se disponibilizar, entrar em contato comigo e tals, Obrigado !

 

 

 

function onSay(cid, words, param)
if(words == "!buyvip") then
 
doPlayerRemoveItem(cid,6527,30)
 
local days = 30
 
local daysvalue = days * 24 * 60 * 60
 
local storageplayer = getPlayerStorageValue(cid, 13540)
 
local timenow = os.time()  
 
 
if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
 
time = timenow + daysvalue
 
else  
 
time = storageplayer + daysvalue
 
end
 
 
if string.find(tostring(getCreatureName(cid)),"[Vip]") then  
 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")  
 
setPlayerStorageValue(cid, 13540, time)  
 
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))  
 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")  
 
else  
 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")  
 
setPlayerStorageValue(cid, 13540, time)  
 
local name = getCreatureName(cid)  
 
db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")  
 
doRemoveCreature(cid)  
 
end  
 
else  
 
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de 30 Multi Coins para colocar vip.")  
 
end 
 

 

 

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata

Estrutura de controle IF

 

@@você quer uma versão desse sistema ai, que funcione? ou só quer aprender sobre as funções?

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

ivanhardjr

Outsider Server®
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/01/13Posts: 19Gênero: Masculino

@, Porfavor preciso dos 2, aprender em primeiro lugar, odeio ter que vir pedir ajuda sobre isso, e tambem do sistema feito, que ai eu ja vejo onde que eu tava errando, obrigado !

Deadpool

!!!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/10/11Posts: 2175Gênero: MasculinoChar no Tibia: Sociopata

Então da uma olhada no link que mandei acima, quanto a seu sistema. É vip ou premium account? qual sistema vip ta usando? e qual a base do seu servidor/versão?

Não respondo PMs solicitando suporte. Já existem seções no fórum para isto.

 

 

 

 

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

ivanhardjr

Outsider Server®
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/01/13Posts: 19Gênero: Masculino

Então da uma olhada no link que mandei acima, quanto a seu sistema. É vip ou premium account? qual sistema vip ta usando? e qual a base do seu servidor/versão?

Entao, esse sistema de Vip eu nao faço ideia, pq meio que eu peguei um pouco de cada, mais é VIP EX: (ele troca certo item por uma storage usando o comando !buyvip apenas isso) Servidor 8.60, ja a base do server é uma que o SubWat Postou, Refugia2012, porem ja mudei e retirei os bugs, só falta isso do vip :/

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

Vou explicar passo a passo pra você algumas questões do script.

 

 

--- script

 

function onSay(cid, words, param)

if(words == "!buyvip") then

 

doPlayerRemoveItem(cid,6527,30) -- sugiro antes de remover um item, saber se o player tem o item ou a quantidade de itens necessário. if not (getPlayerItem (cid, itemid, quantidade)) then return true, doPlayerSendCancel (cid, "você não tem o item.") end

 

 

local days = 30

 

local daysvalue = days * 24 * 60 * 60

 

local storageplayer = getPlayerStorageValue(cid, 13540)

 

local timenow = os.time()

 

 

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then --você já declarou na variável acima "storageplayer", não é necessário repetir aqui.

 

time = timenow + daysvalue

 

else

 

time = storageplayer + daysvalue

 

end

 

 

if string.find(tostring(getCreatureName(cid)),"[Vip]") then

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

 

setPlayerStorageValue(cid, 13540, time)

 

local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")

 

else

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

 

setPlayerStorageValue(cid, 13540, time)

 

local name = getCreatureName(cid)

 

db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")--essa query tem ser executada depois do player ser removido.

 

doRemoveCreature(cid)

 

end

 

else

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de 30 Multi Coins para colocar vip.")

 

end

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

ivanhardjr

Outsider Server®
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/01/13Posts: 19Gênero: Masculino

Eu ja resolvi de outra maneira, mais obrigado de verdade aprendi mais um pouco ^^, poderia me ajudar agora, sobre uma spell?

 

 

Vou explicar passo a passo pra você algumas questões do script.


--- script

function onSay(cid, words, param)
if(words == "!buyvip") then

doPlayerRemoveItem(cid,6527,30) -- sugiro antes de remover um item, saber se o player tem o item ou a quantidade de itens necessário. if not (getPlayerItem (cid, itemid, quantidade)) then return true, doPlayerSendCancel (cid, "você não tem o item.") end


local days = 30

local daysvalue = days * 24 * 60 * 60

local storageplayer = getPlayerStorageValue(cid, 13540)

local timenow = os.time()


if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then --você já declarou na variável acima "storageplayer", não é necessário repetir aqui.

time = timenow + daysvalue

else

time = storageplayer + daysvalue

end


if string.find(tostring(getCreatureName(cid)),"[Vip]") then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

setPlayerStorageValue(cid, 13540, time)

local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

setPlayerStorageValue(cid, 13540, time)

local name = getCreatureName(cid)

db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")--essa query tem ser executada depois do player ser removido.

doRemoveCreature(cid)

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de 30 Multi Coins para colocar vip.")

end

 

 

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

Se você quer mesmo aprender, então começa aprendendo lógica de programação, identação, etc.

 

Eu sugiro que você faça o seguinte:

Crie um script.

Tente torná -lo menor e mais prático.

Faça-o simples, configurável, adaptável e portavel.

Revise-o.

Teste o script tentando encontrar falhas.

Finalize ele tornando-o o mais inteligível possível.

 

Veja um exemplo usando seu script.

 

--script

function onSay(cid, words, param)

local days = 30

local daysvalue = days * 24 * 60 * 60

local item, quantidade = 6527,30

local storageplayer = getPlayerStorageValue(cid, 13540)

local timenow = os.time()

local time = storageplayer < timenow and timenow+daysvalue or storageplayer+daysvalue

 

if (getplayeritemCount(cid, item) < quantidade) then

return true, doPlayerSendCancel (cid,"tu nao teins os itens")

elseif not(string.find(tostring(getCreatureName(cid)),"[Vip]")) then

return true, doPlayerSendCancel (cid,"tu naos eis vip")

else

doPlayerRemoveItem (cid, item, quantidade)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")

setPlayerStorageValue(cid, 13540, time)

doRemoveCreature (cid)

db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName (cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")

end

return true

end

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."