Ir para conteúdo
  • 0

Alavanca De Sumonar Monstro Com Custo


godpank

Pergunta

Olá! Gostaria de um script onde o player puxasse uma alavanca e pudesse sumonar 02 monstros. Cada monstro sumonado teria que descontar do player algum valor. Quando o espaço dos monstros sumonados forem ocupados, o player não poderia perder dinheiro quando continuasse puxando. Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Respostas 33
  • Created
  • Última resposta

Top Posters For This Question

Top Posters For This Question

Posts Recomendados

  • 0

Usa a script que você fez então, mas usando isso aqui:

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 3334 then
   doPlayerSendTextMessage(cid,22,"teste.")	   
   local creature = doSummonCreature("demon",topos)
   if not isCreature(creature) then return true end
   if not doPlayerRemoveMoney(cid, 500) then
    doRemoveCreature(creature)
    return true
   end
   doSendMagicEffect(getThingPos(creature),13)
else
   doPlayerSendCancel(cid,"Você está sem gps.")
end
return 1
end

 

desculpe amigo, mas não faz sentido algum aparecer you cannot use this object se a script foi carregada normal... esse missing script tag deve ser de outra coisa no seu server

se deu you cannot use this object é porque não está executando o script, seja por ele não ter sido carregado ou você não ter colocado o action id certo

eu peguei o seu script de "teste" e só coloquei pra não remover dinheiro caso o player nã oconsiga sumonar o monstro, e esse usa unique id, e não action id, que é onde acho que você está errando

 

desculpe-me se estiver errado

Link para o comentário
Compartilhar em outros sites

  • 0

Brun123, testei novamente o seu primeiro script, refiz tudo cuidadosamente e deram os mesmos erros mencionados anteriormente.

 

Com este script "teste" que você alterou para não remover dinheiro quando não sumonar, está sumonando a cada clicada na alavanca, mesmo sem dinheiro, ou seja, não está cobrando nada para sumonar. Fiz um teste sem BP para ter certeza, sumonou os monstros sem gps.

 

Brun123 e Skyligh, obrigado pelo empenho. Estou precisando ainda desta action, se mais alguém souber como resolver fico muito agradecido. Pensei que era algo mais simples, mas acho que não. Obrigado.

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

  • 0

Olha cara, então vamos fazer uma coisinha aqui só pra tentar descobrir onde é o erro...

 

Use a script assim:

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 3334 then     
   local creature = doSummonCreature("demon", topos)
   print("O UID do monstro sumonado é "..creature..".")
   if not isCreature(creature) then print("O monstro não pode ser sumonado - 'not isCreature' retornou true.") return true end
   if not doPlayerRemoveMoney(cid, 500) then
           print("Not doPlayerRemoveMoney retornou true.")
           doRemoveCreature(creature)
           return true
   end
   doSendMagicEffect(getThingPos(creature), 13)
else
   doPlayerSendCancel(cid,"Você está sem gps.")
end
return 1
end

 

Isso vai mostrar algumas mensagens no console do seu server, quero que você dê use 1 única vez na alavanca e mostre todas as mensagens que apareceram no console

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Brun123! Que bom que você retornou.

 

Fiz tudo como você falou, na hora de rodar o servidor passa as actions sem mensagem de erro, está sumonando o demon, mas não desconta nada do player. Quando cliquei uma vez somente na alavanca, a mensagem do console foi esta: O UID do monstro sumonado Ú 2. Bem assim mesmo. Não sei se é permitido postar screens, se puder favor avisar que te mostro.

Obg.

Link para o comentário
Compartilhar em outros sites

  • 0

servidor 7.6 é complicado, em servers mais recents as funções que criam monstros retornam o uid dele, bom amigo, como eu não sei se as funções são muito ou pouco diferenets dos servers mais atuais, eu vou precisar dar uma olhada no código fonte do seu server pra pensar em um jeito de fazer isso, mais especificamente o arquivo luascript.cpp...

 

se você não tem o código fonte do seu server, pelo menos me diz em que distro ele é baseado, se é the forgotten server ou outro, enquanto isso, faz uma coisa pra mim:

 

enche de stone (uma que não dê pra criar monstro em cima) e cerca a alavanca todinha, fazendo com que seja impossível criar o monstro e dê use na alavanca novamente pra ver o resultado, poste aqui depois o que apareceu no console

Link para o comentário
Compartilhar em outros sites

  • 0

Infelizmente não tenho o código, mas o server é o yurots 0.94d. Ao invés de pedras, coloquei um piso que não é possível andar nele. Fica como se fosse a pedra.

 

Imagem:

 

image2ha.jpg

 

Brun123, se não for possível desta forma, seria possível assim: Quando puxar a alavanca, sumona o monstro e retira uma scarab coin do player ? Sem scarab, sem monstro.

Link para o comentário
Compartilhar em outros sites

  • 0

Tente Com este

 

function onUse(cid, item, frompos, item2, topos)
local name = "Rat" -- Nick Do Monster
local money = 1000 -- Quantos Gp's Ira Remover

if item.itemid == 4852 then -- id da lavaca
elseif doPlayerRemoveMoney(cid,money) then
doPlayerSendCancel(cid,"Sorry you do not have enough money.")
return true
elseif doSummonCreature(name, getThingPos) then
doPlayerSendTextMessage(cid, 22, "Monster summoned Successfully")
return true
end
end

Link para o comentário
Compartilhar em outros sites

  • 0

Bom amigo, essa é a minha última tentativa...

 

eu procurei saber um pouco mais de servidores 7.6 e não tinha true ou false, era só 0 ou 1, e qualquer nº em lua retorna true, talvez assim funcione:

 

function onUse(cid, item, frompos, item2, topos)
if item.uid == 3334 then	    
   local creature = doSummonCreature("demon", topos)
   if creature == 0 then
    doPlayerSendCancel(cid, "Não há espaço para sumonar o monstro.")
   return 1 end
   if doPlayerRemoveMoney(cid, 500) ~= 1 then
    doPlayerSendCancel(cid, "Você está sem gps.")
    doRemoveCreature(creature)
   return 1
   end
   doSendMagicEffect(getThingPos(creature), 13)
end
return 1
end

 

não sei se existe a função doRemoveCreature no seu server...

talvez funcione, agora olha só, sempre que não der pra sumonar o monstro, vai aparecer essa mensagem no console avisando que o monstro não pôde ser criado

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

  • 0

Tente Com este

 

function onUse(cid, item, frompos, item2, topos)
local name = "Rat" -- Nick Do Monster
local money = 1000 -- Quantos Gp's Ira Remover

if item.itemid == 4852 then -- id da lavaca
elseif doPlayerRemoveMoney(cid,money) then
doPlayerSendCancel(cid,"Sorry you do not have enough money.")
return true
elseif doSummonCreature(name, getThingPos) then
doPlayerSendTextMessage(cid, 22, "Monster summoned Successfully")
return true
end
end

 

Skyligh, o script passa sem mensagem de erro no console, mas no jogo não sumona e fica descontando gps do player =/

Link para o comentário
Compartilhar em outros sites

  • 0

function onUse(cid, item, frompos, item2, topos)
local name = "Rat" -- Nick Do Monster
local money = 1000 -- Quantos Gp's Ira Remover
if item.itemid == 4852 then -- id da lavaca
elseif doPlayerRemoveMoney(cid,money) then
doPlayerSendCancel(cid,"Sorry you do not have enough money.")
return true
elseif doSummonCreature(name, getPlayerPosition(cid)) then
doPlayerSendTextMessage(cid, 22, "Monster summoned Successfully")
return true
end
end			   

 

Acho que vai.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.

×
×
  • Criar Novo...