Ir para conteúdo

Featured Replies

Postado

Fala ai galera do TK, hoje eu tenho um pedido que eu imagino que seja facil pros scripters de plantão, mas eu não sei fazer. 

Bom basicamente, como ja diz o titulo, é um script que compra uma montaria, eu ja tenho uma pasta com comandos !comprar sd (Por exemplo), ai o player ganha 2 bps de sd, nesse mesmo script eu queria colocar um por exemplo: !comprar montaria shadow draptor, alguem poderia me ajudar? 

 

Digamos ae, 1kk pela mount.

 

Ta ai o script da SD por exemplo.

 

if(param == "sd") then
if getPlayerItemCount(cid, 9971) >= 10 then
local bag = doPlayerAddItem(cid, 5926, 1)
doAddContainerItem(bag, 2268, 2000)
local bag = doPlayerAddItem(cid, 5926, 1)
doAddContainerItem(bag, 2268, 2000)
doPlayerRemoveItem(cid, 9971, 10)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns você comprou 4k de SD com sucesso.")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
return TRUE
end
end

 
Eu acho que deve ser alguma coisa tipo, doPlayerAddMount, mas sei la. 

Resolvido por Wakon

Ir para solução
Postado

Adicione isso antes do end que fecha a função do param, no caso o ultimo end da parte que você postou:

elseif(param == "shadow draptor") then
if doPlayerRemoveMoney(cid, 1000000) then -- Preço.
doPlayerAddMount(cid, 13) -- Mount ID.
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de 1kk para comprar esta montaria.")
end
return true

Ficando assim, caso queira trocar a parte toda:

if(param == "sd") then
if getPlayerItemCount(cid, 9971) >= 10 then
local bag = doPlayerAddItem(cid, 5926, 1)
doAddContainerItem(bag, 2268, 2000)
local bag = doPlayerAddItem(cid, 5926, 1)
doAddContainerItem(bag, 2268, 2000)
doPlayerRemoveItem(cid, 9971, 10)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns você comprou 4k de SD com sucesso.")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
return TRUE
end
elseif(param == "shadow draptor") then
if doPlayerRemoveMoney(cid, 1000000) then -- Preço.
doPlayerAddMount(cid, 13) -- Mount ID.
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de 1kk para comprar esta montaria.")
end
return true
end
Postado
  • Autor

 

Adicione isso antes do end que fecha a função do param, no caso o ultimo end da parte que você postou:

elseif(param == "shadow draptor") then
if doPlayerRemoveMoney(cid, 1000000) then -- Preço.
doPlayerAddMount(cid, 13) -- Mount ID.
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de 1kk para comprar esta montaria.")
end
return true

Ficando assim, caso queira trocar a parte toda:

if(param == "sd") then
if getPlayerItemCount(cid, 9971) >= 10 then
local bag = doPlayerAddItem(cid, 5926, 1)
doAddContainerItem(bag, 2268, 2000)
local bag = doPlayerAddItem(cid, 5926, 1)
doAddContainerItem(bag, 2268, 2000)
doPlayerRemoveItem(cid, 9971, 10)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns você comprou 4k de SD com sucesso.")
setPlayerStorageValue(cid,11548,os.time()+30)
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possui a quantidade necessária para comprar.")
return TRUE
end
elseif(param == "shadow draptor") then
if doPlayerRemoveMoney(cid, 1000000) then -- Preço.
doPlayerAddMount(cid, 13) -- Mount ID.
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de 1kk para comprar esta montaria.")
end
return true
end

Nao nao kk, tipo, é um comando a parte, eu coloquei o da SD de exemplo, de como eu quero que seja, entendeu? Tipo, um igual o da SD, só que apenas do Shadow.

Postado
  • Solução

"nesse mesmo script eu queria colocar um por exemplo:", por isso dei essa explicação '-'.

local mounts = {
["shadow draptor"] = {price = 1000000, id = 13},
["donkey"] = {price = 10000, id = 14}
}

function onSay(cid, words, param)
   local param = string.lower(param)
   local st = mounts[param]
   if not st then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "A montaria ".. param .." não existe.") end
   if(param ~= st) then
      if doPlayerRemoveMoney(cid, st.price) then
         doPlayerAddMount(cid, st.id)
      else
         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de ".. st.price .." para comprar a montaria ".. param ..".")
      end
   end
  return true
end
<talkaction words="!mount" event="script" value="nome_do_script.lua"/>

Comando: !mount shadow draptor

@Edit

Dei uma editada no script, assim você pode configurar facilmente e adicionar outras montarias, caso queira.

Postado
  • Autor

"nesse mesmo script eu queria colocar um por exemplo:", por isso dei essa explicação '-'.

local mounts = {
["shadow draptor"] = {price = 1000000, id = 13},
["donkey"] = {price = 10000, id = 14}
}

function onSay(cid, words, param)
   local param = string.lower(param)
   local st = mounts[param]
   if not st then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "A montaria ".. param .." não existe.") end
   if(param ~= st) then
      if doPlayerRemoveMoney(cid, st.price) then
         doPlayerAddMount(cid, st.id)
      else
         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de ".. st.price .." para comprar a montaria ".. param ..".")
      end
   end
  return true
end
<talkaction words="!mount" event="script" value="nome_do_script.lua"/>

Comando: !mount shadow draptor

@Edit

Dei uma editada no script, assim você pode configurar facilmente e adicionar outras montarias, caso queira.

 

Valeu, consegui aqui ja :D 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo