Go Back   OtLand > OpenTibia > Support

Reply
Old 11th June 2009, 16:35   #1 (permalink)
rglf
Junior Member
 
Join Date: May 2009
Posts: 24
Reputation: rglf is on a distinguished road



Smile Shop system comflit with ARENA quest!!!

Hello all friend!!!

I am made a shop on mine server..

I fallow this tutorial:

HTML Code:
http://otland.net/f118/ver-0-1-0-gesior-item-pacc-shop-php-lua-forgotten-server-5772/
But when i go to creaturesscripts, i see the tutorial and its say to change login for all write on the tutorial but in login its a script of ARENA, mine server its GLOBAL...

If i delete it will be dont work ARENA!!

I do login2 to shop

But its dont work for itens becouse i think its a little error the script try see login and LOGIN its a script of arena..

I think i need change in shopsystem or other file login to login2 for script work but where i find it???

Look script

login (arena script)

HTML Code:
function onLogin(cid)
    setPlayerStorageValue(cid,29061,1)
    registerCreatureEvent(cid, "DeathBroadcast")
    --registerCreatureEvent(cid, "inquisitionPortals")
    registerCreatureEvent(cid, "PlayerDeath")
    registerCreatureEvent(cid, "PlayerKill")
	registerCreatureEvent(cid, "KilledMonstersCounter")
	
    if (InitArenaScript ~= 0) then
    InitArenaScript = 1
    -- make arena rooms free
       for i = 42300, 42309 do
            setGlobalStorageValue(i, 0)
            setGlobalStorageValue(i+100, 0)
        end
    end
for i = 1, 3 do
       if getPlayerStorageValue(cid, 42300 + i * 10 - 1) < 1 then
           for j = 0, 9 do
               setPlayerStorageValue(cid, 42290 + i * 10 + j, 0)
           end
       end
   end
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena  
	

    return TRUE
end
And look login2 (shop script)

HTML Code:
-- ### CONFIG ###
-- message send to player by script "type" (types you can check in "global.lua")
SHOP_MSG_TYPE = 17
-- time (in seconds) between connections to SQL database by shop script
SQL_interval = 30
-- ### END OF CONFIG ###
SQL_COMUNICATION_INTERVAL = SQL_interval * 1000
function onLogin(cid)
	if(InitShopComunication == 0) then
		local eventServ = addEvent(sql_communication, SQL_COMUNICATION_INTERVAL, {})
		InitShopComunication = eventServ
	end
	registerCreatureEvent(cid, "PlayerDeath")
	return TRUE
end

function sql_communication(parameters)
	dofile("./config.lua")
	env = assert(luasql.mysql())
	con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))
	result_plr = assert(con:execute("SELECT * FROM z_ots_comunication WHERE `type` = 'login';"))
	todo = result_plr:fetch({}, "a")
	while todo do
		id = tonumber(todo.id)
		action = tostring(todo.action)
		delete = tonumber(todo.delete_it)
		cid = getPlayerByName(tostring(todo.name))
		if isPlayer(cid) == TRUE then
			local itemtogive_id = tonumber(todo.param1)
			local itemtogive_count = tonumber(todo.param2)
			local container_id = tonumber(todo.param3)
			local container_count = tonumber(todo.param4)
			local add_item_type = tostring(todo.param5)
			local add_item_name = tostring(todo.param6)
			local received_item = 0
			local full_weight = 0
			if add_item_type == 'container' then
				container_weight = getItemWeight(container_id, 1)
				if isItemRune(itemtogive_id) == TRUE then
					items_weight = container_count * getItemWeight(itemtogive_id, 1)
				else
					items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count)
				end
				full_weight = items_weight + container_weight
			else
				full_weight = getItemWeight(itemtogive_id, itemtogive_count)
				if isItemRune(itemtogive_id) == TRUE then
					full_weight = getItemWeight(itemtogive_id, 1)
				else
					full_weight = getItemWeight(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.')
					delete = assert(con:execute("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";"))
					assert(con:execute("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
		todo = result_plr:fetch (todo, "a")
	end
	con:close()
	env:close()
	local eventServ = addEvent(sql_communication, SQL_COMUNICATION_INTERVAL, parameters)
end
If you know how i change it, tell me please

Thanks all..

Cya you later

:P
rglf is offline   Reply With Quote
Old 12th June 2009, 03:33   #2 (permalink)
freak15
absolute mango
 
freak15's Avatar
 
Join Date: Dec 2008
Location: Sweden
Posts: 318
Reputation: freak15 will become famous soon enough



Send a message via MSN to freak15 Send a message via Skype™ to freak15
You need to have the shop script in login.lua the other i dont now why
freak15 is offline   Reply With Quote
Old 13th July 2009, 15:55   #3 (permalink)
ogi1991
Junior Member
 
Join Date: Dec 2008
Posts: 2
Reputation: ogi1991 is on a distinguished road



mee to have this ;/ who can help we? thanks
ogi1991 is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 12:27.
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO
Copyright ©2007 - 2010, OtLand.net.