TO
action

Talkaction duvida dou 2 REP+ da uma olhadinha aqui

Por totonho18, 13 de mar. de 2014 em Scripts

resolvido
script
10
906
totonho18T
13 de março de 2014 às 00:47

é o seguinte galera tava tentando criar um script sozinho e não consegui,o que eu quero?

funciona como uma talkaction que checa a posição que o jogador está,caso ele esteja na pos correta,ele poderá usar uma talkaction assim !here e dps disso ele simplesmente recebe uma storage,lembrando q ele precisa obrigatóriamente estar na pos correta,que a função que criei vai checar isso,mas ta dando erro na hora de add a storage. A função ta aqui \/

function onSay(cid, words, param) 
  local player = {x=5648, y=4646, z=8}  -- pos onde o jogador precisa estar
      if getThingPos(cid).x ~= player.x or getThingPos(cid).y ~= player.y or getThingPos(cid).z ~= player.z then -- aqui checa
        return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Not here.")   
		setPlayerStorageValue(cid,55477,1) -- sto q vai ganhar
      end -- esse end finaliza o if que é a condição
	  return true
   end -- e esse end finaliza a função,oq está errado? pq n da certo?

akira021A
13 de março de 2014 às 04:00

Amigo eh simples, voce deve colocar um else antes de add a storage ou coloca o end antes de add a storage, assim ele vai add a storage, exemplo:

 

If x ==y then

Script se a condicao for comprida

Return -- se a condicao for certa ele vai retorna e nao vai executar o que estiver abaixo.

Else -- se a condicao nao for certa ele vai executar o script

Script se a condicao do if nao for a certa

Return

End

 

Deixe assim, deve funcionar certin, no seu caso basta colocar o else antes de add a storage.

 

Qualquer coisa eh soh perguntar...

13 de março de 2014 às 11:09

na verdade o único erro foi que usou a função

 

setPlayerStorageValue()

 

dentro do if .

 

o certo seria fora do 'if' , depois do end .. assim :

 

function onSay(cid, words, param) 

  local player = {x=5648, y=4646, z=8}  -- pos onde o jogador precisa estar
     
      if getThingPos(cid).x ~= player.x or getThingPos(cid).y ~= player.y or getThingPos(cid).z ~= player.z then -- aqui checa
        return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Not here.")   
      end
      
      setPlayerStorageValue(cid,55477,1) -- sto q vai ganhar
      
 return true
end
13 de março de 2014 às 11:49

@Akira Teacher Game Over

akira021A
13 de março de 2014 às 13:11

@Akira Teacher Game Over

 

=P Eu falei certo, não? o.O só pq eu não posto o script pronto pro povo? falei antes, eu ensino, mas não posto o script o.O

 

Será que devo me aposentar Shoguns? kkkkkkkk

 

 

na verdade o único erro foi que usou a função

 

setPlayerStorageValue()

 

dentro do if .

 

o certo seria fora do 'if' , depois do end .. assim :

 

function onSay(cid, words, param) 

  local player = {x=5648, y=4646, z=8}  -- pos onde o jogador precisa estar
     
      if getThingPos(cid).x ~= player.x or getThingPos(cid).y ~= player.y or getThingPos(cid).z ~= player.z then -- aqui checa
        return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Not here.")   
      end
      
      setPlayerStorageValue(cid,55477,1) -- sto q vai ganhar
      
 return true
end

 

 

Foi o que eu disse, não? eu falei pra ele colocar um else ou um end antes do setStorageValue, assim ele iria fechar o if da condição o.O

 

Só pq eu não postei o script pronto? >.<"

 

Acho que a minha explicação dava pro cara terminar o script, eu postei pelo celular, mas acho que da pra entender bem ou não?

13 de março de 2014 às 13:15

se sua intenção era essa , então desculpa mais eu não entendi ..

13 de março de 2014 às 13:17

Por isso eu falei @Akira Teacher Game Over (Teacher = Professor)

 

Ou seja, vc ta ensinando o cara... Ai acabou a Aula.

akira021A
13 de março de 2014 às 13:25

se sua intenção era essa , então desculpa mais eu não entendi ..

 

Ixi ta tão ruim assim a minha explicação? vou rever os meus conceitos de aulas, kkkkkkkkkkkkkkk

 

Sem problemas Duuh, estamos aqui para ajudar, =]

 

Por isso eu falei @Akira Teacher Game Over (Teacher = Professor)

 

Ou seja, vc ta ensinando o cara... Ai acabou a Aula.

 

Ah, entendi errado, já tava pensando em me aposentar, kkkkkkkkkkkkkkkkkkk

 

Vlw Shoguns! Vou voltar pro meu trabalhinho, meu projeto =]

 

Quando eu ver outra pessoa tentando aprender o Teacher aqui volta ^^ kkkkkkkkkkkkkkk

totonho18T
13 de março de 2014 às 19:11

DuuhCarvalho deu certo vlw msm,foi bem mais simples q imaginei,simplesmente falta de cordenar as funções na ordem certa,sou aprendiz de linguagem lua ainda,mas to aprendendo,2 REP+ pra vc

Editado Março 13 por Totonho18

zipter98Z
16 de março de 2014 às 15:48

Tópico movido para a seção de dúvidas e pedidos resolvidos.