BE
sistema

SHOP System - sem site

Por BenitZz, 13 de mar. de 2013 em Mods, funções e outros

script
otserv
5.0 (1)
7
1.6k
BenitZzB
13 de março de 2013 às 17:47

Esse sistema usa premium points, bom para otserv que nao tem site baiak, mapa proprio daria pra usar com global tambem fica a escolha de quem usar.

 

Testado em: TFS 0.3.6 e 0.4

 

Vamos instalar o sistema, primeiro entre em data/libs e abra o arquivo 050-function.lua e adicione:

 

function ChecarPontos(cid)

local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")

if Info:getID() ~= LUA_ERROR then

local Points= Info:getDataInt("premium_points")

Info:free()

return Points

end

return LUA_ERROR

end

 

 

function AddPontos(cid, points)

local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")

if Info:getID() ~= LUA_ERROR then

db.executeQuery("UPDATE accounts SET premium_points = " .. points .. " WHERE id=" .. getPlayerAccountId(cid) .. ";")

Info:free()

return 1

end

end

 

 

function RemoverPontos(cid, points)

local Info = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")

if Info:getID() ~= LUA_ERROR then

db.executeQuery("UPDATE accounts SET premium_points = - " .. points .. " WHERE id=" .. getPlayerAccountId(cid) .. ";")

Info:free()

return 1

end

end

 

depois de ter feito isso vamos criar a talkactions que comprará o item e removerá os pontos da conta, entre em data/talkactions/scripts e crie o arquivo vipsword.lua e adicione:

 

function onSay(cid, words, param)
if ChecarPontos(cid) >= 2 then
doPlayerAddItem(cid,2400,1)
RemoverPontos(cid, 2)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce compro uma vip sword por 2 pontos!")
else
doPlayerSendCancel(cid, "Voce nao tem pontos suficiente!")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
return TRUE
end

 

Configurando:

ChecarPontos(cid) >= 2

doPlayerAddItem(cid,2400,1)

RemoverPontos(cid, 2)

 

No Verde e Laranja coloca quantos pontos quer remover da conta.

No Azul id do item.

No Vermelho quantidade do item.

 

apos te configurado abra o talkactions.xml e adicione a seguinte linha:

 

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

 

para cada item que vc quizer adiciona basta crar um novo arquivo lua por o script e editar com o items desejado e adicionando em talkactions.xml.

 

Os adms que quizerem por os pontos para vender por crystal coin o script e esse abaixo, entre em data/talkactions/scripts e crie o arquivo buypontos.lua e adicione:

 

function onSay(cid, words, param)
if getPlayerItemCount(cid, 2160) >= 10 then
doPlayerRemoveItem(cid, 2160, 10)
AddPontos(cid, 5)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce comprou 10 pontos")
else
doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente para comprar pontos!")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
return TRUE
end

 

Configurando:

 

getPlayerItemCount(cid, 2160) >= 10 then

doPlayerRemoveItem(cid, 2160, 10)

AddPontos(cid, 5)

 

No Marron coloca quantos crystal coin quer remover do player

No Rosa quantidade de pontos para adicionar ao player.

 

apos te configurado abra o talkactions.xml e adicione a seguinte linha:

 

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

 

para funcionar perfeitamente execute no mysql:

ALTER TABLE `accounts` ADD `premium_points` INT( 11 ) NOT NULL DEFAULT '0';

 

Creditos:

Smyllodon - EU.

E ao demais que nao sei quem é.

Editado Março 13 por BenitZz

RoksasR
13 de março de 2013 às 17:59

Os créditos por favor amigo...Há muitos tópicos desse mesmo sistema, você apenas mudou os nomes das funções. Coloque os créditos por favor!

ThiagoBjiT
13 de março de 2013 às 18:01

Hum, gostei do script. Agora sim, temos shop system pra site e sem site, parabéns.

 

OBS: Houve uma pequena falha no tópico, que é na parte da distro, você colocou testado em "TFS 0.3", não colocou o final, que no caso foi testado em TFS 0.3.6

 

Fora isso, ótimo tutorial e excelente script, obrigado! Por mim, tutorial aprovado!

 

Os créditos por favor amigo...Há muitos tópicos desse mesmo sistema, você apenas mudou os nomes das funções. Coloque os créditos por favor!

 

Você não leu o tópico? pelo menos o título? Esse é SHOP SYSTEM para SQLITE, não para MYSQL.

Editado Março 13 por ThiagoBjiW

BenitZzB
13 de março de 2013 às 18:09

Os créditos por favor amigo...Há muitos tópicos desse mesmo sistema, você apenas mudou os nomes das funções. Coloque os créditos por favor!

 

Desculpe nao me recordo da pessoa que fizeram algo parecido so do Smyllodon que era eu apenas organizei o topico melhor se tiver mais alguem por favor me informe que eu coloco os creditos.

 

Você não leu o tópico? pelo menos o título? Esse é SHOP SYSTEM para SQLITE, não para MYSQL.

 

Funciona em mysql e sqlite estou fazendo a querry pra executar no sqlite e edito o topico.

ThiagoBjiT
13 de março de 2013 às 18:10

Então, ponha no tópico os créditos do Smyllodon e diz que não sabe o resto. Pronto, simples!

BenitZzB
14 de março de 2013 às 08:33

Então, ponha no tópico os créditos do Smyllodon e diz que não sabe o resto. Pronto, simples!

 

Coloquei meus proprio creditos KKK se alguem souber criar coluna no sqlite me fale para eu adicionar no post que eu adiciono os creditos.

 

vamos que vamos galera.

1 mês depois...
xSkyFrostxX
03 de abril de 2013 às 21:05

ta mais se eu por isso no meu ot como q eu vo dar os pontos pros players? tem que ter algum comando para eu dar os pontos pros players através do god