Ir para conteúdo

!buypremium


ka9

Posts Recomendados

Eis o script:

-->Config
--->ID do item
Item = {id = 4545, amount = 1}
--->Level da promotion(1 para promotion normal)
PromoLevel = 1
--->Dias de premium
PremDays = 30

function onSay(cid)
if doPlayerTakeItem(cid, Item.id, Item.amount) == true then
	doPlayerSetPromotionLevel(cid, PromoLevel)
	doPlayerAddPremiumDays(cid, PremDays)
			doPlayerRemoveItem(cid, Item.id, Item.amount)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought ".. PremDays .." days of premium account.")
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN)
else
	doPlayerSendCancel(cid, "You need a ".. getItemNameById(Item.id) .." to buy premium.")
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
end
return true
end

 

Adeus

Editado por iRockStar
Link para o comentário
Compartilhar em outros sites

Reveja seus conceitos, se a condição for falsa(ou seja, ele não tiver o item) ele irá receber a promotion e a premium ._.

 

E o TRUE e FALSE são iguais a true e false, veja as variáveis nos arquivos data.lua/global.lua, os dois dão no mesmo.

Link para o comentário
Compartilhar em outros sites

pelo visto você necessita aprender mais sobre lua.

porque como todos sabem lua diferencia maiusculas de minusculas.

 

TRUE e diferente de true mas TRUE e true em lua ele aceita como condições verdadeiras ou 1.

FALSE e diferente de false, (false) e considerado por lua uma condição verdadeira.

tudo que for diferente de FALSE em lua e considerado verdadeiro.

mas temos tambem o nill que tambem e uma condição FALSA(FALSE)

 

verifique pelo menos a função que voce está usando e saiba como usa-la doPlayerTakeItem(cid, itemid, amount)

não só ela como outras funções necessitam ser FALSE pra ser executado a proxima linha.

 

reveja os seus conceitos.

Link para o comentário
Compartilhar em outros sites

Praque será tuda essa frescura?

se no proprio TFS ja vem ¬¬

 

 

local config = {
days = 7,
cost = 7000,
maxDays = 360
}

function onSay(cid, words, param, channel)
if(getPlayerPremiumDays(cid) > config.maxDays) then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.")
	doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	return TRUE
end

if(doPlayerRemoveMoney(cid, config.cost) ~= TRUE) then
	doPlayerSendCancel(cid, "You don't have enough money, " .. config.days .. " days premium account costs " .. config.cost .. " gold coins.")
	doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	return TRUE
end

doPlayerAddPremiumDays(cid, config.days)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
return TRUE
end

Link para o comentário
Compartilhar em outros sites

Tomara que rezolva logo essa discução de quem é o mais esperto na lua, porquê eu tambem não entendo nada diço e queria saber qual o geito serto.

 

@URockStar:

 

Eu não axei no arquivo compat.lua issu que voce falou, agora que fiquei na duvida mesmo, como é u sertu afinal?

Link para o comentário
Compartilhar em outros sites

#kkk11111:

Ele quer por item filho.

 

#Marcryzius:

2i0x3qx.png

 

data/lib/compat.lua

 

Quem é que deve reaprender lua agora?

 

quase me matei de tanto rir.

 

o cara aprendeu lua abrindo arquivos.lua de ot server.

 

eu aprendi lua com apostila, cursos de programação de computadores, e tutoriais e tenho um livro do manual de referencia lua 5.1

 

entra nesse link e diz pra eles que estão errados e você está certo.

principalmente nessa parte.

 

Lua é uma linguagem que diferencia minúsculas de maiúsculas: and é uma palavra reservada, mas And e AND são dois nomes válidos diferentes. Como convenção, nomes que começam com um sublinhado seguido por letras maiúsculas (tais como _VERSION) são reservados para variáveis globais internas usadas por Lua.

 

 

topico:

crêio que ninguem aqui seja empregado seu pra você ta mandando trabalhar.

 

iRockStar:

se você usa true e false você necessita declarar o que são porque no caso você quer utiliza-la como se fosse global so que lua não entende isso e por isso ele declara tudo que for diferente de FALSE ou NILL é considerado TRUE ou 1(verdadeiro).

 

mesmo que estejamos usando open tibia isso não quer dizer que podemos fazer isso que você faz.

e o que você comentou sobre o compat.lua você deveria saber que não são todas as versões que tem o que mostra na ss.

ou seja se você declara true e false como global pra ots você está fazendo um script pra uma versão 8.5 ou modificada.

Editado por Marcryzius
Link para o comentário
Compartilhar em outros sites

Desculpe por falar isso, mas deixe de ser besta, estamos falando de OT servers, aquilo são variáveis globais, então pare com essa asneira.

 

Vamos parar com essa discussão no tópico, senão irá fugir do assunto ._.

 

Edit 1:

Não me acuse sem ter certeza, não sabe de onde eu vim, então calado, se aprendi LUA mexendo em arquivos de otservers ou com apostilas/scripters/tutoriais o problema é meu.

E se eu aprendesse LUA abrindo arquivos("fuçando") eu creio que aprendi a LUA orientada para OTS melhor que você.

 

Edit 2:

#AleisterCrowley:

Se orientada a open tibia servers, as duas estão corretas.

A pasta library só está em servidores The Forgotten Server para servidores de tibia na versão 8.40+

 

Edit 3:

Marcryzius, você comeu um parênteses na sua condição.

Para o melhor entendimento de scripts, e para deixar mais bonito, o bom seria indentar o script.

Editado por iRockStar
Link para o comentário
Compartilhar em outros sites

Vamos evitar discussões como esta aqui, seria mais interessante vocês competirem de uma forma 'amigável', marquem um dia X e façam algum script para a comunidade. Os usuários votariam no melhor script e pronto, sem esta 'briga' que não vai levar a nada!

-

ka9, você cometeu um flood brother, não faça mais isto ou terei que alertar você em 10%...

Como é sua primeira infração, não vou te alertar. Aqui fica o alerta verbal.

 

Abraços

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...