Ir para conteúdo

[Encerrado] [Dúvida]


Seagull

Posts Recomendados

Bom, boa noite primeiramente.

 

Estou voltando aos otservers porém agora com o intuito de aprender, principalmente programação porém as vezes preciso de uma ajuda ( mais pra tirar dúvidas pois não manjo muito). Então se tiver alguem que manje bastante, como garou por exemplo, ou seila outros membros. Me mandem o face...

 

Um exemplo de ajuda de script que preciso é esse, que estava fazendo mas não ta funcionando:

 

Na verdade este é meu "primeiro" script em anos. Sempre li tutoriais mais nunca tinha uma ideia, e agora surgiu e quis por em praticas mas estou enfrentando problemas.

function onAttack(cid, target) -- Ao Atacar.

local skulls = {1, 2, 3, 4, 5}

if isPlayer(cid) and isPlayer(target) then
  if and getPlayerStorageValue(cid, 3000) == 1 getPlayerStorageValue(target, 2000) == 1 then
	if getPlayerStorageValue(cid, 3000) == 1 and getCreatureSkullType(cid) == skulls then
	doCreatureSetSkullType(cid, 0)
	doPlayerAddExp(cid, 1)
	doRemoveCondition(cid, CONDITION_INFIGHT)
	end
   end
end

return true
end  

Os scripts criados, postarei aqui para ajudar a comunidade.

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

1º - Ali você checa a variavel "inimigo" que não foi declarada.

2º - Ali onde você ta usando getPlayerStorageValue(atacado, 2000) e todos os outros lugares que você tá usando "atacado" e "atacante" sem ser no primeiro if tem de ser trocados pra cid e target respectivamente, porque a função "isPlayer" é do tipo booleana, retorna true ou false só, e essas "getStorage", etc pedem uma integer, o id da criatura.

 

3º - Você tá botando 'getPlayerStorageValue(atacado, 2000) == true', mas essa getPlayerStorageValue retorna uma STRING xD Você pode salvar ela tipo:

setPlayerStorageValue(cid, 2000, 1) ou setPlayerStorageValue(cid, 2000, 'true') e depois só comparar: (
getPlayerStorageValue(atacado, 2000) == 'true') por exemplo.

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

Tudo que você falou eu fiz, mesmo assim não funciona. Parece que não está funcionando pra nada.

 

A storage já está setada em dois personagens.

(cid, 3000, 1)

(cid, 2000, 1)

Link para o comentário
Compartilhar em outros sites

No seu segundo if, as palavras estão na ordem errada. O and deve ficar no meio dos valores a serem comparados. x and y, e não and x y.

 

Do mais, o que o script deveria fazer? Se eu não sei o que você quer, impossivel ajudar.

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

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