• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Ver. 0.1.0 - Gesior ITEM/PACC Shop (PHP+LUA) for TFS

i dont have global.lua in my server, where should i add this InitShopComunication = 0?
3.2 Open your OTS global.lua file from ".../your-ots-directory/data/global.lua"
and add this line somewhere:
Code:

InitShopComunication = 0

i have The Forgotten Server, version 0.3.1 (Crying Damson)
 
Code:
####################       CONFIG      ###################################################
#aktywacja dotpay oraz dostepych systemow platnosci, wartosci: true / false
$config['dotpay'] = array();
$config['dotpay_active'] = true; #active dotpay system?
$config['dotpay_active_sms'] = true; #active dotpay system?
$config['dotpay_active_transfer'] = true; #active dotpay system?
# przykladowy konfig dla SMS
$config['dotpay'][0]['id'] = 41793;       # numer ID zarejestrowanego klienta
$config['dotpay'][0]['code'] = "DEB3"; # identyfikator uslug SMS
$config['dotpay'][0]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][0]['addpoints'] = 15; # ile premium punktow daje dany sms
$config['dotpay'][0]['sms_number'] = 73068; # numer na jaki nalezy wyslac kod
$config['dotpay'][0]['sms_text'] = "AP.DEB3"; # tresc jaka ma byc w SMSie
$config['dotpay'][0]['sms_cost'] = "3.66 zl brutto"; # cena za wyslanie sms
# przykladowy konfig dla przelewu bankowego/karty kredytowej
$config['dotpay'][1]['id'] = 21468;       # numer ID zarejestrowanego klienta
$config['dotpay'][1]['code'] = "DEBT"; # identyfikator uslug SMS
$config['dotpay'][1]['type'] = "C1";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][1]['addpoints'] = 400; # ile premium punktow daje dany sms
$config['dotpay'][1]['sms_number'] = ""; # numer na jaki nalezy wyslac kod
$config['dotpay'][1]['sms_text'] = "DEBT"; # tresc jaka ma byc w SMSie
$config['dotpay'][1]['sms_cost'] = "5 zl brutto"; # cena za wyslanie sms
# activation of DaoPay system
$config['daopay'] = array();
$config['daopay_active'] = true; #active daopay system?
# example config for daopay
$config['daopay'][0]['appcode'] = 46870 52651; #
$config['daopay'][0]['prodcode'] = 'DEB3'; #
$config['daopay'][0]['addpoints'] = '15'; #
$config['daopay'][0]['cost'] = "7$ for 15 premium points!"; #
#################################################################################
how i setup that i dont understand polish :(

this is how i think it is
Code:
$config['dotpay'][0]['id'] = 41793;       # numer ID zarejestrowanego klienta
here i put the Custumer Id from daopay.com the website tab?
Code:
$config['dotpay'][0]['code'] = "DEB3"; # identyfikator uslug SMS
here i put the Application code from daopay.com website tab?
Code:
$config['dotpay'][0]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
here i dont know what sms mean :S what i have to put here?
Code:
$config['dotpay'][0]['addpoints'] = 15; # ile premium punktow daje dany sms
here the number of premium points someone get when buy right?
Code:
$config['dotpay'][0]['sms_number'] = 73068; # numer na jaki nalezy wyslac kod
here i dont know please tell me
Code:
$config['dotpay'][0]['sms_text'] = "AP.DEB3"; # tresc jaka ma byc w SMSie
dont know what to put here
Code:
$config['dotpay'][0]['sms_cost'] = "3.66 zl brutto"; # cena za wyslanie sms
dont know :S

and here
Code:
# przykladowy konfig dla przelewu bankowego/karty kredytowej
$config['dotpay'][1]['id'] = 21468;       # numer ID zarejestrowanego klienta
$config['dotpay'][1]['code'] = "DEBT"; # identyfikator uslug SMS
$config['dotpay'][1]['type'] = "C1";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][1]['addpoints'] = 400; # ile premium punktow daje dany sms
$config['dotpay'][1]['sms_number'] = ""; # numer na jaki nalezy wyslac kod
$config['dotpay'][1]['sms_text'] = "DEBT"; # tresc jaka ma byc w SMSie
$config['dotpay'][1]['sms_cost'] = "5 zl brutto"; # cena za wyslanie sms

all the same thing?
 
Some one please?

There is any way to sell a backpack with others items inside and a pacc for a promo? (promo I mean, for 500 points, you get a backpack with 4 items and you may choose them...)
 
I've got other problem. I've got TFS 0.2.3 and the shop works well except one thing. Players don't get bought items. In shop history there is writing "received on ots" + date, (seems to be ok). But in game player don't get anything, even after another login.
I checked out files with configuration, but I can't see any mistakes. :/
 
How about of TFS 0.3.4. There is not a "global.lua"

##Sry for my english.
 
I've got other problem. I've got TFS 0.2.3 and the shop works well except one thing. Players don't get bought items. In shop history there is writing "received on ots" + date, (seems to be ok). But in game player don't get anything, even after another login.
I checked out files with configuration, but I can't see any mistakes. :/

solfed?
 
@TOPIC
Hello guys, i have and i think everyone have a bug in shopsystem lua files, like when try sell one offer with more then one item in the same time or when sell container with items, the player only receive one item in game, or in case of container items , only receive one container with only one item inside, how fix that? someone know? Also try sell one backpack of runes, test if this sell all runes and all with x targets.

Can someone help me with this?????
 
New error

PHP:
[25/07/2009 14:13:28] Lua Script Error: [CreatureScript Interface] 
[25/07/2009 14:13:28] in a timer event called from: 
[25/07/2009 14:13:28] data/creaturescripts/scripts/login.lua:onLogin

[25/07/2009 14:13:28] data/creaturescripts/scripts/login.lua:47: attempt to index global 'luasql' (a nil value)
[25/07/2009 14:13:28] stack traceback:
[25/07/2009 14:13:28] 	data/creaturescripts/scripts/login.lua:47: in function <data/creaturescripts/scripts/login.lua:45>
 
Sorry for dubble post but i cant edit.

Code:
-- ### 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 ###
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")
	registerCreatureEvent(cid, "BountyHunter")
    registerCreatureEvent(cid, "ArenaKill")
    -- if he did not make full arena 1 he must start from zero
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 2 he must start from zero
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 3 he must start from zero
    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) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena  
	registerCreatureEvent(cid, "aragorn")
	registerCreatureEvent(cid, "demonOak")
	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

Thats is my Login.lua
Can anyone fix it? I Need all code from it :<.
 
Back
Top