Postado Junho 13, 2017 7 anos Eae mulecada, estou com o seguinte problema: preciso de um script que, quando o player clicar no item, ele ganhe pontos premium no Gesior; Versão do OT: 10, TFS 1.2 Script que estou usando: function onUse(cid, item, fromPosition, itemEx, toPosition) local addpoints = 10 -- amount of points to add db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + "..addpoints.." WHERE `id` = '" ..getPlayerAccountId(cid).. "';") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, ""..addpoints.." premium points have been added to your account.") doRemoveItem(item.uid, 1) return true end Lib: function getPoints(cid) local resultx = db.storeQuery("SELECT `premium_points` FROM `accounts` WHERE `id` = "..getPlayerAccountId(cid)) if resultx then points = result.getDataString(resultx, 'premium_points') result.free(resultx) return points end return LUA_ERROR end function addPoints(cid, qt) db.query("UPDATE `accounts` SET `premium_points` = "..getPoints(cid).."+"..qt.." WHERE `id` = "..getPlayerAccountId(cid)..";") end function removePoints(cid, amount) db.query("UPDATE `accounts` SET `premium_points` = "..getPoints(cid).."-"..qt.." WHERE `id` = "..getPlayerAccountId(cid)..";") end Erro: Lua Script Error: [Action Interface] data/actions/scripts/points.lua:onUse data/actions/scripts/points.lua:3: attempt to call global 'getPlayerAccountId' (a nil value) stack traceback: [C]: in function 'getPlayerAccountId' data/actions/scripts/points.lua:3: in function <data/actions/scripts/points.lua:1> Minha database possui a coluna premium_points na area dos accounts, ajudem please!!
Postado Junho 13, 2017 7 anos @Alberto1997 local points = 10 function onUse(player, item, fromPosition, itemEx, toPosition) db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + "..points.." WHERE id=" ..player:getAccountId()) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Você recebeu '..points..' premium points!') player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Item(item.uid):remove(1) return true end
Postado Junho 13, 2017 7 anos 10 minutos atrás, Liipe Silva disse: @Alberto1997 local points = 10 function onUse(player, item, fromPosition, itemEx, toPosition) db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + "..points.." WHERE id=" ..player:getAccountId()) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Você recebeu '..points..' premium points!') player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Item(item.uid):remove(1) return true end Pode fazer ele funcionar em tfs 0.4? Tipo, o script todo. Editado Junho 13, 2017 7 anos por Skipper (veja o histórico de edições)
Postado Junho 13, 2017 7 anos Autor 13 minutos atrás, Liipe Silva disse: @Alberto1997 local points = 10 function onUse(player, item, fromPosition, itemEx, toPosition) db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + "..points.." WHERE id=" ..player:getAccountId()) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Você recebeu '..points..' premium points!') player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Item(item.uid):remove(1) return true end FUNCIONOU MAN, OBRIGADO!
Postado Junho 16, 2017 7 anos Em 13/06/2017 ás 10:58, Liipe Silva disse: @Alberto1997 local points = 10 function onUse(player, item, fromPosition, itemEx, toPosition) db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + "..points.." WHERE id=" ..player:getAccountId()) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'Você recebeu '..points..' premium points!') player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) Item(item.uid):remove(1) return true end eu coloco onde mesmo? movements?
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.