Sistema de SHOP para quem nao usa website bom para baiak que usam account manager
Testado em
TFS 0.3.6 e TFS 0.4
Functions:
getAccountPoints(cid)
doAddPoints(cid, points)
doRemovePoints(cid, points)
Scripts:
vá para
data/lib/
e abra
function.lua
e adicione essas funcoes:
getAccountPoints:
function
getAccountPoints
(
cid
)
local Info
=
db
.
getResult
(
"SELECT `premium_points` FROM `accounts` WHERE `id` = "
..
getPlayerAccountId
(
cid
) ..
" LIMIT 1"
)
if
Info
:
getID
() ~=
LUA_ERROR then
local Points
=
Info
:
getDataInt
(
"premium_points"
)
Info
:
free
()
return
Points
end
return
LUA_ERROR
end
doAddPoints:
function
doAddPoints
(
cid
,
points
)
local Info
=
db
.
getResult
(
"SELECT `premium_points` FROM `accounts` WHERE `id` = "
..
getPlayerAccountId
(
cid
) ..
" LIMIT 1"
)
if
Info
:
getID
() ~=
LUA_ERROR then
db
.
executeQuery
(
"UPDATE accounts SET premium_points = "
..
points
..
" WHERE id="
..
getPlayerAccountId
(
cid
) ..
";"
)
Info
:
free
()
return
1
end
end
doRemovePoints:
function
doRemovePoints
(
cid
,
points
)
local Info
=
db
.
getResult
(
"SELECT `premium_points` FROM `accounts` WHERE `id` = "
..
getPlayerAccountId
(
cid
) ..
" LIMIT 1"
)
if
Info
:
getID
() ~=
LUA_ERROR then
db
.
executeQuery
(
"UPDATE accounts SET premium_points = - "
..
points
..
" WHERE id="
..
getPlayerAccountId
(
cid
) ..
";"
)
Info
:
free
()
return
1
end
end
Exemplo de uso da funcao:
Em talkaction:
crie um arquivo buysword.lua e adicione
function
onSay
(
cid
,
words
,
param
)
if
getAccountPoints
(
cid
) >=
5 then
doPlayerAddItem
(
cid
,
2400
,
1
)
doRemovePoints
(
cid
,
2
)
doPlayerSendTextMessage
(
cid
,
MESSAGE_INFO_DESCR
,
"You exchanged 5 Premium Points for 1 magic sword!"
)
else
doPlayerSendCancel
(
cid
,
"You don\'t have enough Premium Points!"
)
doSendMagicEffect
(
getPlayerPosition
(
cid
),
CONST_ME_POFF
)
end
return
TRUE
end
Logo em seguida abra o talkactions.xml e add a seguinte linha:
Para quem quizer vender pontos com crystal coin crie um arquivo buypoints.lua e adicione
function
onSay
(
cid
,
words
,
param
)
if
getPlayerItemCount
(
cid
,
2160
) >=
5 then
doPlayerRemoveItem
(
cid
,
2160
,
5
)
doAddPoints
(
cid
,
10
)
doPlayerSendTextMessage
(
cid
,
MESSAGE_INFO_DESCR
,
"You have bought 10 days of VIP"
)
else
doPlayerSendCancel
(
cid
,
"You don\'t have the items to buy Premium Points!"
)
doSendMagicEffect
(
getPlayerPosition
(
cid
),
CONST_ME_POFF
)
end
return
TRUE
end
Logo em seguida abra o talkactions.xml e add a seguinte linha:
Pronto e isso!
Duvidas basta posta ae no topico