Comprando Pontos De Exp

LuckOake
em Actions e Talkactions

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Olá olá galere do Ékz. Eu, na necessidade de treinar scripting, fico pensando no que fazer. Pesquisando scripts em lugares, vi um que comprava EXP, mas é daqueles simples que ninguém acha graça que é tipo:

 

Fulano: !buyexp
Fulano ganhou 15k de XP.

 

Pesquisei e não achei nenhum mais legal. Então eu fiz um que compra Exp por cada ponto. Exemplo, se você configurar pra cada Exp point ser 2 gold coins, se eu comprar 20, pagarei 40 gold coins.

 

Compreenderam? Vamos ao script.

 

talkactions.xml:

 

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

 

buyexp.lua:

 

-- Script by LuckOake

function onSay(cid, words, param)

local exp_cost = 1 -- Quando custa cada ponto de XP

local eff = 29 -- Efeito que será mandado

 

if not param or not tonumber(param) then

doPlayerSendCancel(cid, "Escreva apenas números.") return true

elseif not doPlayerRemoveMoney(cid, param*exp_cost) then

doPlayerSendCancel(cid, "Você não possui dinheiro suficiente para comprar "..param.." pontos de experiência.") return true

end

 

doPlayerAddExp(cid, param)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou "..param.." pontos de experiência por "..param*exp_cost.." gold coins.")

doSendMagicEffect(getCreaturePos(cid), eff)

return true

end

 

 

Exemplo:

 

Fulano: !buyexp 100
Você comprou 100 pontos de experiência por 100 gold coins.

 

Obrigado :D

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

Parabéns cara, depois vamos fazer alguns sistemas pra postar aqui tbm

ta progrediu mto

xD

bossisg.png

Newtonnotwen

Só quero saber o porque, o resto são detalhes.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 04/08/12Posts: 762

Parabéns cara, depois vamos fazer alguns sistemas pra postar aqui tbm

ta progrediu mto

xD

Que isso Vodkart, muito é pouco para oque ele progrediu.

 

------------------------------------------

 

Parabéns pelo script, grande LuckOake.

 

No momento estou "devendo" 3 REP+.

 

Após paga-los com certeza o próximo será seu.

 

Ainda bem que copiei seu avatar.

 

Aehaehaheah.

 

@Dúvida

 

Como põe identação no script?

b5feb15da83eca8bd379039567f3992860f398f765aea98c57dcd2a1ffb0d35ca20603caaf7d9f03da39a3ee5e6b4b0d3255bfef95601890afd807098c4de7dfec2a3351efcdaa9ed8451e6c.gif

milbradt

Desativado
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 04/12/09Posts: 188

Bacana o Sistema manin, da pra fazer algumas coisas com esse script ^^

O bacana mesmo seria não comprar por GOLDS e sim pontos, ou por items de "pontos" digamos assim..apenas uma dica :p, pois acredito que não iria tirar tanto o RPG.

Site NtoUltimate:

www.ntoultimate.com.br

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Obrigado, galera, tô fazendo o possível pra evoluir e tentar virar um Vodkart da vida heaueahuaheuhae

 

@milbradt

 

Bom, ai eu teria que adaptar o script pra storage dos pontos, nada muito complexo.

Skymagnum

Hamburguer
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 02/08/12Posts: 1025Char no Tibia: Maurolkit

Parabéns cara está avançando muito mais poderia colocar o seu script em code fica melhor e também estudar return deixa o script mais piqueno e ainda melhor de visualizar

 

 

 

 

function onSay(cid, words, param)
local maxim = 9999 -- máximo de exp por vez
   local exp_cost = 1 -- Quando custa cada ponto de XP
						 local eff = 29 -- Efeito que será mandado
			local msg_buy = "Você comprou " .. tonumber(param) .. " pontos de experiência por " .. exp_cost .. " gp's cada um ou seja " .. exp_cost * tonumber(param) .. " gp's."

  if not pay(cid, tonumber(param) * exp_cost) and not tonumber(param) or tonumber(param) > maxim then
		 doPlayerSendCancel(cid, "Você não tem dinheiro, ou não digitou número ou quis comprar muita exp o máximo permitido é " .. maxim .. " pontos.")
					   end
		 return doPlayerSendTextMessage(cid, 27, msg_buy) and doSendMagicEffect(getPlayerPosition(cid), eff) and doPlayerAddExp(cid, tonumber(param))
end

 

 

 

 

PS: Xtibia não quebra a identação olha o script ali encima lol

jeoz.png

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

@Skymagnum

 

Valeu, cara. Tô tentando melhorar ao máximo. Eu vou seguir seu conselho e estudar o return, mas nessa linha:

 

   if not pay(cid, tonumber(param) * exp_cost) and not tonumber(param) or tonumber(param) > maxim then
					 doPlayerSendCancel(cid, "Você não tem dinheiro, ou não digitou número ou quis comprar muita exp o máximo permitido é " .. maxim .. " pontos.")

 

Precisava especificar mais o erro, por isso não reduzi assim.

 

E sim, o XTibia quebra a identação se você usar o espaçamento com a tecla TAB. Com a barra de espaço não quebra mesmo.

 

@Newtonnotwen

 

Identação é o espaçamento que vem antes das funções para melhor organização do script.

 

Sem identação:

 

function onSay(cid, words)
if isPlayer(cid) then
doPlayerAddItem(cid, 1234, 1)
end
return true
end

 

Com identação:

 

function onSay(cid, words)
   if isPlayer(cid) then
       doPlayerAddItem(cid, 1234, 1)
   end
return true
end

 

Geralmente é usada a tecla TAB no bloco de notas ou em qualquer editor de texto que você usar, mas como o XTibia quebra a identação do TAB, o povo às vezes identa com barra de espaço mesmo.

DFelipeBrom

White Knight of Ordeal
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 24/04/12Posts: 7

Grande Gui,sempre invonado...

Marco51

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/09/12Posts: 11

vo usar em meu ot bom script

EliaWalak

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/01/13Posts: 6Char no Tibia: Berdeck Faello

To Me Surpreendendo com o XTIBIA :) Melhor Lugar que Achei Script, sem iguals vlw @LuckOake;

Darknessott

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/05/11Posts: 75Char no Tibia: Coronel Kikaos

Nossa adorei vou utilizar concerteza ja dei seu rep + muito obrigado mesmo

 

Darknessott

bobmarleyw.png

 

Creditos:Maximaah

 

;D Curtiu Rep Mais ;D

 

logowgh.png

Site da Empresa:

www.brlgames.com.br

Planos

Dedicados

,

VPS

,

Tibia

.