Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido] Comando para comprar montaria


Ir para solução Resolvido por Wakon,

Posts Recomendados

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. 
Link para o post
Compartilhar em outros sites

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
Link para o post
Compartilhar em outros sites

 

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.

Link para o post
Compartilhar em outros sites
  • 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.

Link para o post
Compartilhar em outros sites

"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 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo