Sistema de compra de points ( com compra pelo site)

tuturatti
em Scripts
  • 1
  • 2

tuturatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/09/10Posts: 14

Eae pessoal, tudo bem?

 

Gostaria de saber se vocês conseguem me ajudar...

 

Estou criando um server com o mapa rozinx!

 

site: http://tutonados.no-ip.org

 

Antes, quando o server não estava vinculado com o mysql do site o sistema de points funcionava de boa...

 

Agora que vinculei ao site não está funcionando.

 

Gostaria de ver se algum de vocês tem um script para arrumar isso e saber se me passam um tutorial pra como colocar isso pra funcionar...

 

 

 

Poor favor fico no aguardo!

 

 

Rep+

 

 

abraços e OBRIGADO DESDE JÁ!!!

 

Qualquer coisa podem entrar em contato comigo diretamente pelo e-mail: rodrigoturatti@outlook.com.br ou tutonados@tutonados.zz.mu

 

 

OBRIGADO!

luanluciano93

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/08/13Posts: 124

Qual o modelo do seu site: gesior/modern?
Oque não esta funcionando depois do vinculo, servidor ou shop?

tuturatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/09/10Posts: 14

é gesior, então...

 

  • Não esta funcionando a compra dos points pelo site
  • Não está entegrando diretamente para a conta do player
  • Não está fazendo as compras no bau do server

 

Não tenho muito conhecimento nessa área.

 

Mais teria como comprar diretamente do site e cair no depot ou direto com o player?

 

Fico no aguardo...

 

Qualquer jeito que a compra seja feita pelo site e os pontos entregues e depois que comprar os itens os itens tbm sejam entregues esta bom!

 

 

Fico no aguardo!

luanluciano93

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/08/13Posts: 124

Cara, primeiro ponto, você tem que ver a(s) forma(s) de pagamento! Não vem 'embutido' no gesior nenhuma forma de pagamento, o máximo que você pode fazer é o redirecionamento para algum site de pagamento ou página informando dados de conta em banco para deposito. Junto com isso você pode 'bolar' alguma forma de retorno automático do site que tera o pagamento, somente assim você tera a compra e a entraga automática de points. Segundo ponto, após comprar o item no site ele é entregue automaticamente no player, isso é fácil, é um script simples ...

1º - Na pasta data/globalevents tem um arquivo com o nome 'globalevents.xml', abra esse arquivo e add a tag:

 

<globalevent name="website_shop" interval="30000" event="script" value="shop.lua" desc="Auto Shop System."/>

OBS: O interval esta para TFS 0.4, ou seja cada 1000 = 1seg, se for outro TFS, pode ser que seja contado 1 = 1seg, verifique)



2º - Ainda em data/globalevents abra a pasta 'scripts' dentro dela crie uma arquivo com a extensão .lua e coloque o nome de shop.lua e coloque isso dentro: (basta copiar qualquer outro que esta ai dentro e mudar o nome).

 

- ### CONFIG ###
-- message send to player by script "type" (types you can check in "data/lib/000-constants.lua")
SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_BLUE
-- time (in seconds) between queries to MySQL database by shop script
SQL_interval = 30
-- ### END OF CONFIG ###
function onThink(interval, lastExecution)
    local result_plr = db.getResult("SELECT * FROM `z_ots_comunication` WHERE `type` = 'login';")
    if(result_plr:getID() ~= -1) then
        while(true) do
            id = tonumber(result_plr:getDataInt("id"))
            action = tostring(result_plr:getDataString("action"))
            delete = tonumber(result_plr:getDataInt("delete_it"))
            cid = getCreatureByName(tostring(result_plr:getDataString("name")))
            if isPlayer(cid) == TRUE then
                local itemtogive_id = tonumber(result_plr:getDataInt("param1"))
                local itemtogive_count = tonumber(result_plr:getDataInt("param2"))
                local container_id = tonumber(result_plr:getDataInt("param3"))
                local container_count = tonumber(result_plr:getDataInt("param4"))
                local add_item_type = tostring(result_plr:getDataString("param5"))
                local add_item_name = tostring(result_plr:getDataString("param6"))
                local received_item = 0
                local full_weight = 0
                if add_item_type == 'container' then
                    container_weight = getItemWeightById(container_id, 1)
                    if isItemRune(itemtogive_id) == TRUE then
                        items_weight = container_count * getItemWeightById(itemtogive_id, 1)
                    else
                        items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count)
                    end
                    full_weight = items_weight + container_weight
                else
                    full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
                    if isItemRune(itemtogive_id) == TRUE then
                        full_weight = getItemWeightById(itemtogive_id, 1)
                    else
                        full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
                    end
                end
                local free_cap = getPlayerFreeCap(cid)
                if full_weight <= free_cap then
                    if add_item_type == 'container' then
                        local new_container = doCreateItemEx(container_id, 1)
						doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
						doItemSetAttribute(new_container, "tid", id)
                        local iter = 0
                        while iter ~= container_count do
							local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
							doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
							doItemSetAttribute(new_item, "tid", id)
							doAddContainerItemEx(new_container, new_item)
                            iter = iter + 1
                        end
                        received_item = doPlayerAddItemEx(cid, new_container)
                    else
                        local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
						doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
						doItemSetAttribute(new_item, "tid", id)
                        received_item = doPlayerAddItemEx(cid, new_item)
                    end
                    if received_item == RETURNVALUE_NOERROR then
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS SHOP.')
						doPlayerSave(cid)
                        db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                        db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
                    else
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')
                    end
                else
                    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')
                end
            end
            if not(result_plr:next()) then
                break
            end
        end
        result_plr:free()
    end
    return true
end

OBS: Tbem tem uma expressão ai que pode variar de acordo com a versão do TFS, a parte 'db.query', pode ser que só funcione sendo 'db.executeQuery'.



É isso, qualquer dúvida poste aqui!

tuturatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/09/10Posts: 14

irei usar o paypal ajuda?

o que mais preciso?


de uma olhada no site e ve o que voce sugere por favor...

 

uso o link tutonados.dlinkddns.com:8090 mais para tirar o 8090 redireciono pelo tutonados.no-ip.org

luanluciano93

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/08/13Posts: 124

Deu certo a entrega de itens? (Se ajudei rep+ )

Então cara, as formas de pagamentos eu ainda não sei configurar nada!

Há vários tutoriais que ensinam como usar o pagseguro da uol, como fazer tudo automático, o redirecionamento e o retorno. Pelo Paypal não sei não cara, tenta procurar algum tutorial.

tuturatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/09/10Posts: 14

Estou testando agora... Já posto se deu tudo certo... Obrigado pela ajuda por enquanto!

luanluciano93

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/08/13Posts: 124

De nada, precisar é só pedir ...

tuturatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/09/10Posts: 14

Cara, acabei de testar...

 

Quando compro ele retira os pontos tipo tinha 20 pontos o item valia 5 fiquei com 15 Certinho ok!

 

So que não entrega o item ;/

 

ajuda por favor :/

luanluciano93

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/08/13Posts: 124

Deu algum erro na página do site?

Creio que a questão do item é aquilo que eu disse mesmo, é no servidor ...

AQUI!

 

 

Cara, primeiro ponto, você tem que ver a(s) forma(s) de pagamento! Não vem 'embutido' no gesior nenhuma forma de pagamento, o máximo que você pode fazer é o redirecionamento para algum site de pagamento ou página informando dados de conta em banco para deposito. Junto com isso você pode 'bolar' alguma forma de retorno automático do site que tera o pagamento, somente assim você tera a compra e a entraga automática de points. Segundo ponto, após comprar o item no site ele é entregue automaticamente no player, isso é fácil, é um script simples ...

1º - Na pasta data/globalevents tem um arquivo com o nome 'globalevents.xml', abra esse arquivo e add a tag:

 

<globalevent name="website_shop" interval="30000" event="script" value="shop.lua" desc="Auto Shop System."/>

OBS: O interval esta para TFS 0.4, ou seja cada 1000 = 1seg, se for outro TFS, pode ser que seja contado 1 = 1seg, verifique)



2º - Ainda em data/globalevents abra a pasta 'scripts' dentro dela crie uma arquivo com a extensão .lua e coloque o nome de shop.lua e coloque isso dentro: (basta copiar qualquer outro que esta ai dentro e mudar o nome).

 

- ### CONFIG ###
-- message send to player by script "type" (types you can check in "data/lib/000-constants.lua")
SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_BLUE
-- time (in seconds) between queries to MySQL database by shop script
SQL_interval = 30
-- ### END OF CONFIG ###
function onThink(interval, lastExecution)
    local result_plr = db.getResult("SELECT * FROM `z_ots_comunication` WHERE `type` = 'login';")
    if(result_plr:getID() ~= -1) then
        while(true) do
            id = tonumber(result_plr:getDataInt("id"))
            action = tostring(result_plr:getDataString("action"))
            delete = tonumber(result_plr:getDataInt("delete_it"))
            cid = getCreatureByName(tostring(result_plr:getDataString("name")))
            if isPlayer(cid) == TRUE then
                local itemtogive_id = tonumber(result_plr:getDataInt("param1"))
                local itemtogive_count = tonumber(result_plr:getDataInt("param2"))
                local container_id = tonumber(result_plr:getDataInt("param3"))
                local container_count = tonumber(result_plr:getDataInt("param4"))
                local add_item_type = tostring(result_plr:getDataString("param5"))
                local add_item_name = tostring(result_plr:getDataString("param6"))
                local received_item = 0
                local full_weight = 0
                if add_item_type == 'container' then
                    container_weight = getItemWeightById(container_id, 1)
                    if isItemRune(itemtogive_id) == TRUE then
                        items_weight = container_count * getItemWeightById(itemtogive_id, 1)
                    else
                        items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count)
                    end
                    full_weight = items_weight + container_weight
                else
                    full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
                    if isItemRune(itemtogive_id) == TRUE then
                        full_weight = getItemWeightById(itemtogive_id, 1)
                    else
                        full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
                    end
                end
                local free_cap = getPlayerFreeCap(cid)
                if full_weight <= free_cap then
                    if add_item_type == 'container' then
                        local new_container = doCreateItemEx(container_id, 1)
						doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
						doItemSetAttribute(new_container, "tid", id)
                        local iter = 0
                        while iter ~= container_count do
							local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
							doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
							doItemSetAttribute(new_item, "tid", id)
							doAddContainerItemEx(new_container, new_item)
                            iter = iter + 1
                        end
                        received_item = doPlayerAddItemEx(cid, new_container)
                    else
                        local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
						doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].')
						doItemSetAttribute(new_item, "tid", id)
                        received_item = doPlayerAddItemEx(cid, new_item)
                    end
                    if received_item == RETURNVALUE_NOERROR then
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS SHOP.')
						doPlayerSave(cid)
                        db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")
                        db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")
                    else
                        doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')
                    end
                else
                    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')
                end
            end
            if not(result_plr:next()) then
                break
            end
        end
        result_plr:free()
    end
    return true
end

OBS: Tbem tem uma expressão ai que pode variar de acordo com a versão do TFS, a parte 'db.query', pode ser que só funcione sendo 'db.executeQuery'.



É isso, qualquer dúvida poste aqui!

 



Tenta ae!

tuturatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/09/10Posts: 14

Manin, nao funcionou a entrega wacko.pngwacko.pngwacko.png

luanluciano93

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/08/13Posts: 124

Você testou as 'OBS' que eu coloquei? Que depende do TFS ...

luanluciano93

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/08/13Posts: 124

Quando você abre o .exe tem a versão dfo TFS no começo cara ...

tuturatti

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/09/10Posts: 14

Aparece isso:

 

[20/09/2013 00:45:42] The Lost Server, version 0.3.6 (Crying Damson)
[20/09/2013 00:45:42] Compiled with GNU C++ version 4.4.0 at Jul 28 2013, 21:31:32.
[20/09/2013 00:45:42] A server developed by davialves
[20/09/2013 00:45:42] Visit our forum for updates, support and resources: www.rudnick.com.
  • 1
  • 2