Ir para conteúdo
  • Cadastre-se

(Resolvido)Estou perdido com == true | == false


Ir para solução Resolvido por Dwarfer,

Posts Recomendados

O que eu estou tentando fazer... Uma vocação para outra:

 if getPlayerstorageValue (cid, 40300) == true then

selfsay (done,cid)

doPlayerSetvocation (cid, IDdaVocacao)

setPlayerStorageValue(cid, 40301, true)

else



Mas pq true? e se for false? é isso que não sei, essa entrada de true e false..
Link para o post
Compartilhar em outros sites

Traduzindo o código para o Português

Se verificar storage do jogador 40300 for verdadeira (true) (se ele tiver a storage) então

falar pra sí mesmo (oque estiver em "done") (done = "frase")

trocar vocação (oque estiver em IDdaVocacao) (IDdaVocacao = 1 ou 2 ou 3 ou 4 ou 5 ou 6 ou 7 ou 8 ou 9 ou 10....)
adicionar a storage do jogador 40301 

se não (else)

...

 

TRUE (Afirmação)

FALSE (Negação)

 

Brother esse seu script ta funcionando? Ta mal estruturado sei lá...

 

 

 

Link para o post
Compartilhar em outros sites

Ele funciona, porém estou um pouco confuso sobre algumas coisas, permita-me listar:

1- Eu gostaria que de Elder Druid, ele virasse uma vocação que fiz, Bloody Druid, com storage 40301 (ou outro storage...) porém... Não sei exatamente qual storage usar no getPlayerstorageValue, consultei um gringo, ele disse que tanto faz o valor no get, o que vai marcar é o setPlayerstorageValue...

2- Eu continuo meio enrolado na questão false true, poderia me iluminar nisto?

Link para o post
Compartilhar em outros sites

Você poderia liberar o seu .lua inteiro ? 
Notei que ele verifica uma storage já presente no jogador, qual .lua que está definindo ela? 
Disponibilizando eu monto o script e explico cada linha pra você

Link para o post
Compartilhar em outros sites

Infelizmente agora estou no serviço, impossível eu acessar meu computador :/ 
Poderíamos tentar comunicação via whatsapp? Só para eu não perder a sua boa vontade de ajuda kkkkkk

Link para o post
Compartilhar em outros sites

if statement:

 

Vamos pela lógica que eu aprendi:

 

Sua mae pede pra voce ir comprar pão, ela grita lá da cozinha enquanto vc está deitado na cama:

- Vai comprar o pão para tomarmos café!

Você prontamente atende a ordem da sua mãe, o que vc faz?
 

1 - 
vc levanta da cama.

2 - 
vc está vestido adequadamente para sair de casa?

	se sim (if) true
		então vá até sua carteira e veja se tem dinheiro,
  	se tiver(if) true
             então vá até a padaria e compre o pão
    se não tiver(else) false peça dinheiro para sua mae.
    
se não estiver adequado para sair de casa, então
 (else) false
  vista uma roupa melhor

 

 

como ficaria o código:

 

-- aqui eu declaro as variaveis que serão usadas
roupa_adequada = 121
roupa_inadequada = 120
carteira_cheia = 119

minha_carteira = 1
minha_roupa = 121

-- if statement

if minha_roupa == roupa_adequada then --se a variavel minha_roupa for igual a roupa_adequada (true) irá printar a mensagem e ir pro próximo if
	print('Você está adequado para sair de casa') 
	if minha_carteira == carteira_cheia then -- se a minha_carteira for igual a carteira_cheia, irá dizer que já posso ir comprar o pão
		print('Você já pode ir comprar pão')
	else -- se minha carteira estiver vazia:
		print('Vá pegar dinheiro com a sua mãe')
else -- se eu não estiver com roupas adequadas:
	print('Vá trocar de roupa.')

 

Editado por Enzo Caue (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
1 hora atrás, shadauer disse:

O que eu estou tentando fazer... Uma vocação para outra:
 


 if getPlayerstorageValue (cid, 40300) == true then

selfsay (done,cid)

doPlayerSetvocation (cid, IDdaVocacao)

setPlayerStorageValue(cid, 40301, true)

else

 

 


Mas pq true? e se for false? é isso que não sei, essa entrada de true e false..

 

Seguinte, esse é um conhecimento de lógica de programação.

Se nós traduzirmos as palavras true e false, nós teremos verdadeiro e falso, respectivamente.

Todas condicionais (if, elseif) trabalham com um valor desses. Se ele for true, o bloco de código do if é executado, se for false, e se tiver um else, ele executa o bloco de código do else.

Nesse caso, nós temos como verificação do if a função getPlayerStorageValue(), que é do próprio tfs, e não da linguagem lua.

Essa função, internamente, verifica se o player com o id que tu pôs tem a storage que tu pôs (primeiros e segundos valores, respectivamente). Retorna true se ele tiver a storage (fazendo com que o código depois do if e antes do else/end seja executado) e false se ela não tiver (executando o código do else, se houver, se não houver só pula pro end).

 

Elas são muito presentes no nosso dia-a-dia, se tu criar uma correlação entre as situações que tu usa elas no teu dia-a-dia com as situações do código, vai ser beeem mais fácil de tu entender. Se mesmo assim tu não entender, tem o canal Curso em Vídeo, do professor Guanabara, que ensina praticamente tudo que tu quiser sobre programação dsahqwdui

Editado por otteN (veja o histórico de edições)

Nem todo loop infinito é ruim ;P 

User *eu = new User("otteN");
RepSystem<User> *myRep = new RepSystem<User>("jóinha");
myRep->setAlvo(eu);

/* só por ser criado já sou o melhor membro */ 

while(eu->isMelhorMembro()){
myRep->reputar();
}

 

Link para o post
Compartilhar em outros sites
  • Solução
if getPlayerStorageValue(cid, 40300) == -1 then
    setPlayerStorageValue(cid, 40300, 1)
else
    doPlayerSendTextMessage(cid, 18, "Você já possui o storage igual a 1")
end

 

Não tem complicação nenhuma. É só armazenar o VALOR do storage e depois verificar se o VALOR corresponde ao retornado por getPlayerStorageValue(). 

Apesar de ser desnecessário fazer com true ou false, como não sei com que finalidade você tá fazendo isso, você poderia fazer algo assim:

if getBooleanFromString(getPlayerStorageValue(cid, 40300)) == true then
     doPlayerSendTextMessage(cid, 18, "Verdadeiro")
else
     doPlayerSendTextMessage(cid, 18, "Falso")
     setPlayerStorageValue(cid, 40300, "true")
end

Ou somente verificar a própria string armazenada (qualquer string):

if getPlayerStorageValue(cid, 40300) == "true" then
     doPlayerSendTextMessage(cid, 18, "Verdadeiro")
else
     doPlayerSendTextMessage(cid, 18, "Falso")
     setPlayerStorageValue(cid, 40300, "true")
end

 

Contato:

 

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo