getPlayerLevel(cid) min / max

LekoDS
Por LekoDS
em Scripts

LekoDS

webdesign
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/11/10Posts: 203Char no Tibia: Lerv

Olá galera, tudo bem? Estou com uma dúvida aqui no meu script que não conseguir resolver. Eu estou usando o getPlayerLevel(cid) para que ao fazer uma X ação com um NPC que ao determinado pelo level min / max ele receberia uma ação. Estou usando esta parte de comparação:

if msgcontains(msg, 'hi') and getPlayerLevel(cid) >= 20 and getPlayerLevel(cid) <= 49 then

...

if msgcontains(msg, 'hi') and getPlayerLevel(cid) >= 50 and getPlayerLevel(cid) <= 99 then 

O problema que o getPlayerLevel(cid) >= 20 esta pegando "todos" jogadores level maior que 20, eu creio que minha comparação este errada com o and .. E eu não posso usar o elseif nesta parte do script :S

pbrlogo_home.png?1460522502

Pokemon Tibia Online Server

24hrs - 6 anos online

 

Para a comunidade:

- [MODERN ACC] Segundo Layout da PokeXGames

- TUTORIAL DE FTP

Wend ll

elas me acham lindo mais que o Caio Castro
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 25/02/14Posts: 589Gênero: Masculino

Não entendi, você quer que apenas players abaixo de level 20 realize essa ação ?

                                                                  150531014832523340.gif

LekoDS

webdesign
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/11/10Posts: 203Char no Tibia: Lerv

@Anna apenas os que estejam dentro do level X e Y, ex: 20 a 49, 50 a 100..

pbrlogo_home.png?1460522502

Pokemon Tibia Online Server

24hrs - 6 anos online

 

Para a comunidade:

- [MODERN ACC] Segundo Layout da PokeXGames

- TUTORIAL DE FTP

Wend ll

elas me acham lindo mais que o Caio Castro
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 25/02/14Posts: 589Gênero: Masculino

Desculpe minha desatenção, faz um pouquinho de tempo qe não mexo com isso ^^

vou ver oque posso fazer happy.png

                                                                  150531014832523340.gif

aberick

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/11/10Posts: 66

if msgcontains(msg, 'hi') and (getPlayerLevel(cid) >= 20 and not getPlayerLevel(cid) >= 50) then

 

...

 

if msgcontains(msg, 'hi') and (getPlayerLevel(cid) >= 50 and not getPlayerLevel(cid) >= 100) then

 

Assim que você quer??

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

Tente assim:

if msgcontains(msg, 'hi') then
	if getPlayerLevel(cid) >= 20 and getPlayerLevel(cid) <= 49 then
		-- acão 1
	elseif getPlayerLevel(cid) >= 50 and getPlayerLevel(cid) <= 99 then
		-- acão 2
	end
end

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window

LekoDS

webdesign
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/11/10Posts: 203Char no Tibia: Lerv

@Alberick eu tentei mais ainda não funcionou :S

@Bruno isto que eu tinha feito no script, mas ele pega qualquer player >= 20

pbrlogo_home.png?1460522502

Pokemon Tibia Online Server

24hrs - 6 anos online

 

Para a comunidade:

- [MODERN ACC] Segundo Layout da PokeXGames

- TUTORIAL DE FTP

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

e daí? mas vc uso o and <= 49

 

então vai pegar todos lvl acima de 20 e todos lvl igual ou abaixo de 49

 

vc sabe para que serve o "and"?

if getPlayerLevel(cid) >= 20 and getPlayerLevel(cid) < 50 then
...
elseif getPlayerLevel(cid) >= 50 and getPlayerLevel(cid) < 100 then
...
end

bossisg.png

LekoDS

webdesign
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 16/11/10Posts: 203Char no Tibia: Lerv

@Vodkart foz a primeira coisa que eu fiz na interação do NPC colocar o and, mas mesmo não dando eu acredito que o >= 20 ele obtêm qualquer um level maior que 20. Por agora estou sem tempo, mas vou rever a situação do problema e explicar melhor as tentativas. Obrigado.

pbrlogo_home.png?1460522502

Pokemon Tibia Online Server

24hrs - 6 anos online

 

Para a comunidade:

- [MODERN ACC] Segundo Layout da PokeXGames

- TUTORIAL DE FTP

mkbrabsolute

Exilado
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 20/11/11Posts: 455

Você quer a função pra usar no level exato é isso?

Fir3element

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 16/06/08Posts: 998Gênero: Masculino

@Vodkart foz a primeira coisa que eu fiz na interação do NPC colocar o and, mas mesmo não dando eu acredito que o >= 20 ele obtêm qualquer um level maior que 20. Por agora estou sem tempo, mas vou rever a situação do problema e explicar melhor as tentativas. Obrigado.

if getPlayerLevel(cid) >= 20 and getPlayerLevel(cid) < 50 then

Se o player for maior ou a igual 20 e menor que 50...

Bruno

Ousadia e Alegria
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 01/05/08Posts: 2571Gênero: Masculino

Man, não foi o que você fez, me desculpe!

 

Nas suas duas verificações ele checa se contem a mensagem "hi", sendo que isso é só uma vez.

Caso caia nesta condição ele vai chegar o level, então deveria estar funcionando perfeitamente.

Faz o seguinte, posta seu script todo que é mais fácil de ajudá-lo.

 

"and" ou "e" ou "&&" (em qualquer linguagem que seja) -> só é verdadeiro quando todas as condições forem verdadeiras.

Atenciosamente,
Bruno Minervino

 

Tibia Clients - Downloads Window

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

Veja este paste que criei no codepad.org - http://codepad.org/skN2Sm6t

 

Adaptando para o que você quer, seria:

local level = getPlayerLevel(cid)

if msgcontains(msg, "hi") then
	if level >= 20 and level < 50 then
		-- piece of code here
	elseif level >= 50 and level < 100 then
		-- piece of code here
	else
		-- piece fo code here
	end
end

Em nenhum momento, ele apenas passa pelo primeiro if, como pode ver no link passado acima.

Furabio

Why be a king.. when you can be a god
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 08/04/15Posts: 962Gênero: Masculino

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

EQD4Qy4.gif