Ir para conteúdo

[Reprovado] Bau Vip!com Points!


saulos

Posts Recomendados

Hoje eu irei traser um script do vodkart mais so que editado vamos la!!

 

primeiro va na pasta do seu ot/data/actions/script/quests e crie um arquivo.lua com o nome de Bau vip.lua e coloka assim la dentro:

 

local lever = {

[6001] = {15,12606},

[6002] = {15,12609},

[6003] = {15,8905},

[6004] = {25,10064},

[6005] = {8,7839},

[6006] = {8,8858},

[6007] = {8,7390},

[6008] = {25,10134},

[6009] = {40,10022},

[6010] = {15,12610},

[6011] = {15,12605},

[6012] = {15,12604},

[6013] = {15,12603},

[6014] = {10,12385}

}

function onUse(cid,item,fromPosition,itemEx,toPosition)

if getPoints(cid) < lever[item.actionid][1] then

return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "você precisa de "..lever[item.actionid][1].." points.")

end

doPlayerAddItem(cid,lever[item.actionid][2], isItemStackable(lever[item.actionid][2]) and 100 or 1)

removePoints(cid,lever[item.actionid][1])

doPlayerSendTextMessage(cid,22,"você comprou um " .. getItemNameById(lever[item.actionid][2]))

doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))

return true

end

 

depois va em actions.xml e coloke na parte de quests o seguinte

 

<action actionid="6001-6014" script="quests/Bau vip.lua"/>

 

como vcs perceberam akele parte ali 6001-6014 representa que a tag vai de 6001 a 6014 caso vc quira faze mais tags aumente ali exemplo 6001-6020

 

depois va em data/talkactions/script e crie systempoints.lua e coloke assim la dentro:

 

function onSay(cid, words, param)

if(words == "!points") then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_WHITE, "Você tem "..getPoints(cid).." Points para usalos va na area de amostra de itens vip e clique no bau do item desejado.")

elseif(words == "!rankpoints") then

local max_players,str = 20,""

str = "--[ RANK POINTS ]--\n\n"

query = db.getResult("SELECT `name`, `points` FROM `players` WHERE `points` > -1 AND `id` > 6 AND `group_id` < 2 ORDER BY `points` DESC, `name` ASC;")

if (query:getID() ~= -1) then k = 1 while true do

str = str .. "\n " .. k .. ". " .. query:getDataString("name") .. " - [" .. query:getDataInt("points") .. "]"

k = k + 1

if not(query:next()) or k > max_players then break end end query:free()end

if str ~= "" then doShowTextDialog(cid,6500, str) end

elseif(words == "/addpoints") then

if getPlayerAccess(cid) == 5 then

local t = string.explode(param, ",")

if not t[1] or not t[2] then return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end

local player = getPlayerByName(t[1])

local points = t[2]

local pid = getPlayerByNameWildcard(t[1])

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "você adicionou "..points.." Points do jogador "..t[1])

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..points.." Points no seu character.")

addPoints(player,points)

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você agora tem "..getPoints(player).." Points.")

end

elseif(words == "/delpoints") then

if getPlayerAccess(cid) == 5 then

local t = string.explode(param, ",")

if not t[1] or not t[2] then return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end

local player = getPlayerByName(t[1])

local points = t[2]

local pid = getPlayerByNameWildcard(t[1])

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "você removeu "..points.." Points do jogador "..t[1])

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram removidos "..points.." Points do seu character.")

removePoints(player,points)

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você agora tem "..getPoints(player).." Points.")

end

elseif(words == "/setpoints") then

if getPlayerAccess(cid) == 5 then

local t = string.explode(param, ",")

if not t[1] or not t[2] then return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end

local player = getPlayerByName(t[1])

local points = t[2]

local pid = getPlayerByNameWildcard(t[1])

if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then

return TRUE,doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Agora o jogador "..t[1].." tem "..points.." Points no seu character.")

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "agora você tem "..points.." Points do seu character.")

setPoints(player,points)

end

end

return TRUE

end

 

depois va em talkactions.xml e coloke na area de gods o seguinte:

<talkaction words="!points;!rankpoints;/addpoints;/delpoints;/setpoints" script="systempoints.lua"/>

 

 

espero que tenham gostado

 

[6010] = {15,12610},

 

aki funciona assim o ali no 6010 e a tag que sera colokada no action id do bau no maper edito o 15 ali e os points que serao retirados do character e o 12610 e o id do item!!

 

para colokar o sistema de points no sql para que se posibilite adicionar points mesmo com o character off fassa o seguinte:

1° Abra o programa Sqlite

2° na parte superior do programa tem a aba "Tools",clica nela e seleciona "Open SQL query editor" ou (ALT + E) se preferir

3° Vai abrir uma janela branca,nela você coloca isso:

ALTER TABLE `players` ADD `points` INT NOT NULL DEFAULT '0'

4° Depois clica no ícone do raio ali na parte de cima ou aperta o botão F9 que vai fazer com que a query seja executada.

 

99.9% VodKart

00.1%Eu

 

Quem gostou peço que dem rep para Vodkart e se quiserem a mim tbm!obrigado

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

  • 2 weeks later...
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...