Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Estou a 5 dias olhando vários Tópicos, e não obtive sucesso com nenhum.

Portanto resolvi criar meu próprio tópico.

Bom meu site esta funcionando legal mais na parte do shop system, esta entregando itens  a cada 30 segundos.

Alguém poderia me ajudar?

 

Deis de já agradeço a compreensão.

 

Uso os seguintes arquivos

 

 

 

 

TAG

 
<globalevent name="shop" interval="30" script="shop.lua"/>

 

shopsystem.php

shop.lua

Link para o post
Compartilhar em outros sites

Da algum erro na distro?

SIM DA O SEGUINTE ERRO

 

[16/07/2014 10:09:35] [Error - GlobalEvent Interface] 
[16/07/2014 10:09:35] data/globalevents/scripts/shop.lua:onThink
[16/07/2014 10:09:35] Description: 
[16/07/2014 10:09:35] data/globalevents/scripts/shop.lua:56: attempt to call field 'executeQuery' (a nil value)
[16/07/2014 10:09:35] stack traceback:
[16/07/2014 10:09:35] data/globalevents/scripts/shop.lua:56: in function <data/globalevents/scripts/shop.lua:7>
[16/07/2014 10:09:35] [Error - GlobalEvents::think] Couldn't execute event: shop
Editado por luquinhas166 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

O no teu login.lua o que tens sobre o shop?

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

Link para o post
Compartilhar em outros sites

De uma olhada neste tópico e veja se resolve.

 

http://www.tibiaking.com/forum/topic/26163-bug-shop-system-gesior-account-maker/

Editado por absoftfgn (veja o histórico de edições)

LONADOVISK ♥

znExesyD.png

 

Link para o post
Compartilhar em outros sites

 

O no teu login.lua o que tens sobre o shop?

 

Vish maninho nao tem nada olha

 

 

local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
 
function onLogin(cid)
accountManager = "Account Manager"                       
managerCounter = 0
 
   for i, player in ipairs(getOnlinePlayers()) do
      if accountManager:lower() == player:lower() then             
      managerCounter = managerCounter + 1
      end 
   end
 
   if managerCounter >= 3 then
      return false
   end
local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
end
 
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
if(lastLogin > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
else
str = str .. " Please choose your outfit."
doPlayerSendOutfitWindow(cid)
end
 
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
 
if(not isPlayerGhost(cid)) then
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
 
registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "GuildMotd")
 
registerCreatureEvent(cid, "Idle")
if(config.useFragHandler) then
registerCreatureEvent(cid, "SkullCheck")
end
 
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "AdvanceSave")
registerCreatureEvent(cid, "attackguild")
registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "FimVip")
registerCreatureEvent(cid, "SkullCheck")
registerCreatureEvent(cid, "demonOakLogout")
registerCreatureEvent(cid, "demonOakDeath")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, VipReceive)
registerCreatureEvent(cid, "PlayerKill")
registerCreatureEvent(cid, "KillingInTheNameOf")
 
    if (InitArenaScript ~= 0) then
    InitArenaScript = 1
 
        for i = 42300, 42309 do
            setGlobalStorageValue(i, 0)
            setGlobalStorageValue(i+100, 0)
        end
    end
 
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
 
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
 
    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0)
    end
    setPlayerStorageValue(cid, 42350, 0)
    setPlayerStorageValue(cid, 42352, 0)
return true
end
Link para o post
Compartilhar em outros sites

 

SIM DA O SEGUINTE ERRO

 

[16/07/2014 10:09:35] [Error - GlobalEvent Interface] 
[16/07/2014 10:09:35] data/globalevents/scripts/shop.lua:onThink
[16/07/2014 10:09:35] Description: 
[16/07/2014 10:09:35] data/globalevents/scripts/shop.lua:56: attempt to call field 'executeQuery' (a nil value)
[16/07/2014 10:09:35] stack traceback:
[16/07/2014 10:09:35] data/globalevents/scripts/shop.lua:56: in function <data/globalevents/scripts/shop.lua:7>
[16/07/2014 10:09:35] [Error - GlobalEvents::think] Couldn't execute event: shop

 

o erro ta aqui ; qual versao de tfs vc usa? se puder postar o creaturescript playerdeath.lua eu consigo achar a funcao certa pra corrigir o erro;

 

 

facebook.com/PokeJota

Link para o post
Compartilhar em outros sites

o erro ta aqui ; qual versao de tfs vc usa? se puder postar o creaturescript playerdeath.lua eu consigo achar a funcao certa pra corrigir o erro;

Eu não sei qual a versão do meu TFS. 

quanto eu faço login aparece isso 

 

[16/07/2014 13:52:06] Global Server  , version 0.1.7 (Global Server  )
[16/07/2014 13:52:06] Global Server 100% Full 8.60                
[16/07/2014 13:52:06] Desenvolvido ADM LIKIS
 
 
Bom no meu Creature script nao tem playerdeath.lua.
Link para o post
Compartilhar em outros sites

tenta trocar seu shop lua por esse

-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = 19
-- time (in seconds) between connections to SQL 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)
local iter = 0
while iter ~= container_count do
doAddContainerItem(new_container, itemtogive_id, itemtogive_count)
iter = iter + 1
end
received_item = doPlayerAddItemEx(cid, new_container)
else
local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
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.')
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 ..' << Seu item esta esperando por voce. Por favor faça o local para este item em sua mochila e aguarde '.. SQL_interval ..' segundos para obte-lo.')
end
else
doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << Seu item esta esperando por voce. O peso do item e '.. full_weight ..' oz., Vc tem no momento '.. free_cap ..' oz. de capacidade livre. Coloque alguns itens no deposito e espere cerca de '.. SQL_interval ..' segundos para obte-lo.')
end
end
if not(result_plr:next()) then
break
end
end
result_plr:free()
end
return TRUE
end 

 

 

facebook.com/PokeJota

Link para o post
Compartilhar em outros sites

tenta trocar seu shop lua por esse

-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = 19
-- time (in seconds) between connections to SQL 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)
local iter = 0
while iter ~= container_count do
doAddContainerItem(new_container, itemtogive_id, itemtogive_count)
iter = iter + 1
end
received_item = doPlayerAddItemEx(cid, new_container)
else
local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)
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.')
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 ..' << Seu item esta esperando por voce. Por favor faça o local para este item em sua mochila e aguarde '.. SQL_interval ..' segundos para obte-lo.')
end
else
doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << Seu item esta esperando por voce. O peso do item e '.. full_weight ..' oz., Vc tem no momento '.. free_cap ..' oz. de capacidade livre. Coloque alguns itens no deposito e espere cerca de '.. SQL_interval ..' segundos para obte-lo.')
end
end
if not(result_plr:next()) then
break
end
end
result_plr:free()
end
return TRUE
end 

Ainda esta dando item de 30 em 30 segundos :'(  

Eu estou achando que é isso

 

if received_item == RETURNVALUE_NOERROR then

doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.')

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

 

Porque nao esta MOSTRANDO    (REALIZED)  no site mostra ( Not realized yet. )

entaoeu acho que se nao aparecer REALIZED vai continuar mandando os itens de 30 em 30 segundos ate aparecer REALIZED Correto?

 

Isso é o que aparece no SITE

 Item Transactions To: From: Offer name Bought on page Received on APUCH GLOBAL

Compro Mesmo Your account 0 16 July 2014, 15:50:41 status: Not realized yet.

Editado por luquinhas166 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Ainda esta dando item de 30 em 30 segundos :'(  

Eu estou achando que é isso

 

if received_item == RETURNVALUE_NOERROR then

doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.')

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

 

Porque nao esta MOSTRANDO    (REALIZED)  no site mostra ( Not realized yet. )

entaoeu acho que se nao aparecer REALIZED vai continuar mandando os itens de 30 em 30 segundos ate aparecer REALIZED Correto?

 

Isso é o que aparece no SITE

 Item Transactions To: From: Offer name Bought on page Received on APUCH GLOBAL

Compro Mesmo Your account 0 16 July 2014, 15:50:41 status: Not realized yet.

com o meu script continua dando erro no server??

 

se sim posta sua pasta creaturescripts zipada pra eu ver como é q posso fazer...

 

 

facebook.com/PokeJota

Link para o post
Compartilhar em outros sites

com o meu script continua dando erro no server??

 

se sim posta sua pasta creaturescripts zipada pra eu ver como é q posso fazer...

OU O ARQUIVO DA PASTA POR AQUI MESMO.

 

GRATO!

  UP

UP

UP

creaturescripts.rar

Editado por luquinhas166 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

qual a versão do seu ot?

 Whatsapp: +55 (48) 98815-0709 Discord: Qwizer#5713

 

Global 100% 7.40 com Website

TFS 1.2 10.97-11.00 + GlobalFull OtherWorld ...

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo