+ Reply to Thread
  1. #1
    Junior Member
    Join Date
    May 2009
    Posts
    24
    Reputation
    rglf is on a distinguished road
    Status
    rglf is offline

    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

  2. #2
    absolute mango freak15's Avatar
    Join Date
    Dec 2008
    Location
    Sweden
    Posts
    316
    Reputation
    freak15 is on a distinguished road
    Status
    freak15 is offline
    You need to have the shop script in login.lua the other i dont now why

  3. #3
    Junior Member
    Join Date
    Dec 2008
    Posts
    3
    Reputation
    ogi1991 is on a distinguished road
    Status
    ogi1991 is offline
    mee to have this ;/ who can help we? thanks

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts