JU
website

[Modern AAC] Instalando o Sistema de SHOP

Por Junior001, 14 de mar. de 2014 em Tutoriais de Websites

junior001
shop system
modern aac
otserv
tibia
script
44
26.9k
Junior001J
14 de março de 2014 às 18:05

Olá Galerinha do xtibia, Tudo Bem ???

Antes de mais nada peço que movam para a área de Tutoriais de Website pois quando fui tentar criar um novo tópico la não estava dando tentei em Envie Seu Tutorial e nada. :/

Vamos ao que interessa, estou fazendo esse tutorial ensinando a colocar o SHOP em seu Modern AAC pois vejo que muitos tem dúvida nesse assunto e eu quero que essas dúvidas acabem :D

Quando acabarem de ler o Tópico veras que não é uma coisa dificil.

Então vamos la para que funcione corretamente faça como eu peço no Tópico.

 

Primeiramente vamos colocar para que o Shop entregue os items ao comprar certo ?!?!

É Bem facil vá na pasta data/globalevents/script e crie um arquivo chamado shop.lua e coloco o seguinte script abaixo dentro e salve.

 

 

 

function onThink(interval, lastExecution, thinkInterval)
local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;")
if(result:getID() ~= -1) then
while(true) do
cid = getCreatureByName(tostring(result:getDataString("player")))
product = tonumber(result:getDataInt("product"))
itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";")
if isPlayer(cid) then
local id = tonumber(itemr:getDataInt("item"))
local tid = tonumber(result:getDataInt("id"))
local count = tonumber(itemr:getDataInt("count"))
local tipe = tonumber(itemr:getDataInt("type"))
local productn = tostring(itemr:getDataString("name"))
if isInArray({5,8},tipe) then
if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then
if isContainer(getPlayerSlotItem(cid, 3).uid) then
received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count)
if received then
doPlayerSendTextMessage(cid,19, "Você Recebeu Uma >> "..productn.." << do Shop System")
db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
else
doPlayerSendTextMessage(cid,19, "Desculpa, Você não tem espaço para receber o item >> "..productn.." <<")
end
else
doPlayerSendTextMessage(cid,19, "Desculpa, Você não tem espaço para receber >> "..productn.." <<")
end
else
doPlayerSendTextMessage(cid,19, "Desculpa, você não tem cap para receber >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)")
end
elseif isInArray({6,7},tipe) then
if tipe == 6 then
bcap = 8
bid = 1987
elseif tipe == 7 then
bcap = 20
bid = 1988
end
if isItemRune(id) then
count = 1
end
if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then
local bag = doCreateItemEx(bid, 1)
for i = 1,bcap do
doAddContainerItem(bag, id, count)
end
received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag)
if received == RETURNVALUE_NOERROR then
doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system")
db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
else
doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<")
end
else
doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)")
end
end
end
itemr:free()
if not(result:next()) then
break
end
end
result:free()
end
return true
end

Agora vá em globalevents.xml e coloque a seguinte tag
	<globalevent name="Shop" interval="3000" event="script" value="shop.lua"/>

Pronto a parte do shop entregar os items após a compra está feito agora vamos instalar o SHOP.

Peço que baixem o seguinte arquivo abaixo.

http://www.4shared.com/rar/LLcxJq-dba/shop.html?

Após baixarem, extraem em seu dekstop será extraida uma pasta chamada shop, renomeem ela para gifts e a coloque dentro da pasta do seu site(htdocs), após fazerem isso vá na pasta system/pages e crie um arquivo chamado gifts.php e coloque o codigo abaixo dentro e salve.

 

 

 

<?php
include("gifts/gifts.php");
?>

Após fazerem isso va no phpmyadmin entre em sua DB e execulte o shop.sql que se encontra dentro da pasta SeuSite/gifts/config
e pronto agora só entrar no link e terá la as instruções para finalizar a instalação.
Pronto SHOP instalado agora vamos colocar a aba de SHOP em seu site caso não tenha ou esteja com outro url.
Vá na pasta seusite/templates/seutemplate e abra o index.php e coloque o seguinte url na parte onde tem as urls das paginas
		<li><a href="{$path}/index.php/p/v/gifts">SHOP</a></li>
E pronto salve e entre em seu site e veja a magica :D
Em Breve estarei fazendo um tópico ensinando a colocar o sistema de pagseguro automatico ou seja a pagina de DONATE do Server.
Obrigado pela atenção de todos e até a próxima :D
Creditos: Pelo Tutorial

Junior Silva
14 de março de 2014 às 18:45

bom gostei mesmo n sabendo meche com isso rep+

kiritorK
14 de março de 2014 às 18:45

vlw junior concerteza vai ajuda muita jente parabens ganhou meu rep+

JG6J
14 de março de 2014 às 18:54

cara tudo ta mt certo mais essa tag:

<globalevent name="Shop" interval="3000" event="script" value="shop.lua"/>

 

pq colocar 3000 no interval assim demoraria mais pra chegar seria 3 min, quem quiser use essa tag chegara muito mais rapido:

<globalevent name="Shop" interval="1" event="script" value="shop.lua"/>

Junior001J
14 de março de 2014 às 19:09

Obrigado a todos :D

 

cara tudo ta mt certo mais essa tag:

<globalevent name="Shop" interval="3000" event="script" value="shop.lua"/>

 

pq colocar 3000 no interval assim demoraria mais pra chegar seria 3 min, quem quiser use essa tag chegara muito mais rapido:

<globalevent name="Shop" interval="1" event="script" value="shop.lua"/>

 

Sim o intervalo de tempo para a entrega do item é configuravel ai é de acordo com oque vocês quiserem mais eu não recomendaria deixar o intervalo de 1 '-' mais tudo bem :D

JG6J
14 de março de 2014 às 19:16

eu coloquei no meu 0 zero e chega na hora q eu clico em buy product

mais mesmo assim otimo tutorial :) rep+

Editado Março 14 por joaopera

DbkoD
14 de março de 2014 às 19:42

se deixar 1 O interval vai buga seu mapa depois de algumas compras vao para de receber seus items

JG6J
14 de março de 2014 às 19:47

eu to testano faz um mes isso i já fiz varias compras i n bugo ainda

Junior001J
14 de março de 2014 às 20:04

Com o Intervalo 1 realmente não buga :D

JG6J
14 de março de 2014 às 20:11

pelo contrario o sistema fica é mais eficientena hora da compra do produto :)

ntoserverN
14 de março de 2014 às 20:24

Gostei muito Tava Muito mesmo precisando dessa Scripts Continuie assim vai ajudar muitos aki vlw mesmo Junior Ganhou meu Rep

14 de março de 2014 às 20:27

Bem Legal Mano Gostei Aprovado

Junior001J
14 de março de 2014 às 20:28

Muito Obrigado, Galera :D

gabriellippaG
14 de março de 2014 às 23:43

Bem elaborado. Parabens Rep+

Junior001J
15 de março de 2014 às 01:48

Muito Obrigado a todos em breve farei um ensinando a colocar o pagseguro automatico

:D