Ir para conteúdo
  • 0

[Talkations] Editar um script


Kagefighter

Pergunta

Queria que alguém me ajudasse, neste script que achei no fórum diz que o player troca MONEY por DIAS VIP. Queria saber se tem como trocar o MONEY por um Certo item que poderei colocar a quantidade (removeitem)

 

o script:

 

 

function onSay(cid, words, param, channel)

if words == "!buyvip" then

local price = 1000000

local days = 30

if doPlayerRemoveMoney(cid, price) then

addVipDays(cid, days)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.")

end

 

elseif words == "/vipdays" then

local duration = getVipDate(cid)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))

end

return TRUE

end

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

cara n so nenhum scripter mais fiz por action q tu quizer, n tenhu certeza q vai funciona né mais bora tenta ?

data/action/script/xxx.lua

function onUse(cid, item, frompos, item2, topos)

doPlayerAddPremiumDays(cid, 30)
doSendMagicEffect(getThingPos(cid), 29)
sendMsgToPlayer(cid, 20, "Parabéns, você ganhou 30 dia de PREMIUM!")
return true
end

Editado por StyloMaldoso
Link para o comentário
Compartilhar em outros sites

  • 0

tenta

 

 

 

function onSay(cid, words, param, channel)

if words == "!buyvip" then

local item == 2806

local days = 30

if doRemoveItem(item.uid,1) then

addVipDays(cid, days)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.")

end

 

elseif words == "/vipdays" then

local duration = getVipDate(cid)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))

end

return TRUE

end

 

 

Editado por Mattziin
Link para o comentário
Compartilhar em outros sites

  • 0

Cara eu já disse que quero que o player remova "x" item por "x" dias vip da talkations que eu postei! Eu fiz o tópico poque quero que ela fique como estou falando não estou pedindo nenhuma actions.

 

tenta

 

 

 

function onSay(cid, words, param, channel)

if words == "!buyvip" then

local item == 2806

local days = 30

if doRemoveItem(item.uid,1) then

addVipDays(cid, days)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.")

end

 

elseif words == "/vipdays" then

local duration = getVipDate(cid)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))

end

return TRUE

end

 

 

 

Muito obrigado! REP+ podem mover

 

@mattzin

eu testei e deu isso aki:

 

[16/02/2013 22:20:09] [Error - TalkAction Interface]
[16/02/2013 22:20:09] data/talkactions/scripts/vipaccplayer.lua:onSay
[16/02/2013 22:20:09] Description:
[16/02/2013 22:20:09] data/talkactions/scripts/vipaccplayer.lua:14: attempt to call global 'getVipDate' (a nil value)
[16/02/2013 22:20:09] stack traceback:
[16/02/2013 22:20:09]  data/talkactions/scripts/vipaccplayer.lua:14: in function <data/talkactions/scripts/vipaccplayer.lua:2>
[16/02/2013 22:20:17] [Error - TalkAction Interface]
[16/02/2013 22:20:17] data/talkactions/scripts/vipaccplayer.lua:onSay
[16/02/2013 22:20:17] Description:
[16/02/2013 22:20:17] data/talkactions/scripts/vipaccplayer.lua:6: attempt to index local 'item' (a number value)
[16/02/2013 22:20:17] stack traceback:
[16/02/2013 22:20:17]  data/talkactions/scripts/vipaccplayer.lua:6: in function <data/talkactions/scripts/vipaccplayer.lua:2>

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta

 

 

function onSay(cid, words, param, channel)

if words == "!buyvip" then

local days = 30

if itemEx.itemid == 2806 then

addVipDays(cid, days)

doRemoveItem(itemEx.uid,1)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você adicionou "..days.." dia(s) de vip, agora você possui "..getVipDays(cid).." dia(s) de vip.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..price.." para adicionar "..days.." dia(s) de vip.")

end

 

elseif words == "/vipdays" then

local duration = getVipDate(cid)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você possui "..getVipDays(cid).." dia(s) de vip."..(duration and (" Ela irá durar até "..duration..".") or ""))

end

return TRUE

end

Editado por Mattziin
Link para o comentário
Compartilhar em outros sites

  • 0

Deu n "/

 

[16/02/2013 22:30:16] [Error - TalkAction Interface]
[16/02/2013 22:30:16] data/talkactions/scripts/vipaccplayer.lua:onSay
[16/02/2013 22:30:16] Description:
[16/02/2013 22:30:16] data/talkactions/scripts/vipaccplayer.lua:14: attempt to call global 'getVipDate' (a nil value)
[16/02/2013 22:30:16] stack traceback:
[16/02/2013 22:30:16]  data/talkactions/scripts/vipaccplayer.lua:14: in function <data/talkactions/scripts/vipaccplayer.lua:2>
[16/02/2013 22:30:25] [Error - TalkAction Interface]
[16/02/2013 22:30:25] data/talkactions/scripts/vipaccplayer.lua:onSay
[16/02/2013 22:30:25] Description:
[16/02/2013 22:30:25] data/talkactions/scripts/vipaccplayer.lua:5: attempt to index global 'itemEx' (a nil value)
[16/02/2013 22:30:25] stack traceback:
[16/02/2013 22:30:25]  data/talkactions/scripts/vipaccplayer.lua:5: in function <data/talkactions/scripts/vipaccplayer.lua:2>

Link para o comentário
Compartilhar em outros sites

  • 0

vc ja adicionou as tables na database ?

 


ALTER TABLE `accounts` ADD
`vipdays` int(11) NOT NULL DEFAULT 0;

?

 

 

e ja adicionou Isso na lib ?

 


--- Vip functions by Kekox
function getPlayerVipDays(cid)
   local Info = db.getResult("SELECT `vipdays` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
       if Info:getID() ~= LUA_ERROR then
       local days= Info:getDataInt("vipdays")
       Info:free()
       return days
   end
    return LUA_ERROR
end

function doAddVipDays(cid, days)
   db.executeQuery("UPDATE `accounts` SET `vipdays` = `vipdays` + " .. days .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end

function doRemoveVipDays(cid, days)
   db.executeQuery("UPDATE `accounts` SET `vipdays` = `vipdays` - " .. days .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end

 

?

Editado por Mattziin
Link para o comentário
Compartilhar em outros sites

  • 0

onde fica o "phpmyadmin." eu não entendi :/

 

Edit: eu arrumei umas tag's e ele gastou o item e falou que ganhou os dias vip mas deu esse erro:

 

[17/02/2013 11:13:38] [Error - TalkAction Interface]
[17/02/2013 11:13:38] data/talkactions/scripts/vipaccplayer.lua:onSay
[17/02/2013 11:13:38] Description:
[17/02/2013 11:13:38] (luaDoRemoveItem) Item not found
[17/02/2013 11:16:09] Error during getDataInt(viptime).
[17/02/2013 11:16:09] Error during getDataInt(viptime).
[17/02/2013 11:16:09] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: viptime (UPDATE "accounts" SET "viptime" = 1363702569 WHERE "id" = 5;)
[17/02/2013 11:16:09] Error during getDataInt(viptime).
[17/02/2013 11:16:57] Error during getDataInt(viptime).
[17/02/2013 11:16:57] Error during getDataInt(viptime).

 

E falou que adicionou mas não ta vip! eu coloquei pra só vip usar fly e mesmo comprando não da

 

@Edit:

 

11:19 Você adicionou 30 dia(s) de vip, agora você possui 0 dia(s) de vip.

11:19 Você possui 0 dia(s) de vip.

 

Ta dando esse erro...

Link para o comentário
Compartilhar em outros sites

  • 0

mano pra q usar VIPsistem? n faz muito sentido para serv pokemon ;/

tenta usar esse..

 

			 --id, qntdade
local item = {1111, 1}

function onSay(cid, words, param)
if not tonumber(param) or tonumber(param) < 1 or tonumber(param) > 30 then
  return doPlayerSendTextMessage(cid, 27, "Wrong params! say ".. words .." [days]\n[days] have to be a number between 1 and 30!")
end
local days = tonumber(param)
local cost = item[2]*days

if getPlayerItemCount(cid, item[1]) >= cost then
  doPlayerAddPremiumDays(cid, days)
  doPlayerRemoveItem(cid, item[1], cost)
  doPlayerSendTextMessage(cid, 27, "Congradulations, now you have ".. days .." days of premium!")
else
  doPlayerSendTextMessage(cid, 27, "You need atleast ".. cost .." ".. getItemNameById(item[1]) .." to buy this much of days of premium!")
end
return true
end

 

 

dai para usar tens q dizer qnts dias queres... tpw... /premium 30 -/premium eh soh um exemplo, podes por qlqr word neh...-

 

ps: a qntdade de itens q vai ser tirada do player vai ser a qntdade q tu por na variavel item * qnts dias o cara escolheu...

 

e dai nos scripts para checar se o player tem premium eh soh usar..

if not isPremium(cid) then
return doPlayerSendTextMessage(cid, 27, "You don't are premium!")
end

 

 

@PEDIDO

sei la quem moveu esse topico mas na proxima, ESPERE O DONO DO TOPICO FLAR Q FOI SANADA!!!

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...