Ir para conteúdo

Coisas que você provavelmente não sabia no skript


danielzinh

Posts Recomendados

Olá, quero criar essa mini aula para ensinar aos skripters avançados, códigos que podem ajudar muito na criação de seus códigos, que talvez vocês não sabiam. vamos ao primeiro.

 

TIME FORMAT (FILTRO)

%dates% formatted [human-readable] [(with|as) %string%]

Exemplo: now formatted human-readable as "HH:mm" <- Vai falar a hora:minuto em formato 24 horas.
                                                    
Skript 2.2-dev31+

Muitos de vocês já devem ter tido problemas com o queridão "%now%" pois ele sempre tem coisas desnecessárias como o dia, e as vezes você só quer a hora, com isso, você pode filtrar tudo.

 

Vamos a um exemplo, supondo que eu queira pegar somente o dia atual...

o time format usado será o "dd", mas você pode conferir todos em https://www.gnu.org/software/pspp/manual/html_node/Time-and-Date-Formats.html

command /dia:
	trigger:
		set {_x} to now formatted human-readable as "dd" # O dd É UM TIME FORMAT, ATRAVÉS DELE VOCÊ FILTRA A HORA, CONFIRA NO SITE.
		send "Dia: %{_x}%"

image.png

CONTINUE (O CONTRÁRIO DE STOP)

já para os amantes de STOP, agora temos o CONTINUE para nos ajudar a programar em Skript.

continue [loop]

Skript 2.2-dev37+

 

EXEMPLO DO PRÓPIO DESENVOLVEDOR:

loop all players:
	if loop-value has permission "moderator":
		continue # filtrar apenas os moderadores
	broadcast "%loop-player% is a moderator!" # somente moderadores vão aparecer no broadcast.

ABS() - NÚMERO ABSOLUTO

Para as pessoas que querem transformar o resultado de uma divisão em numero inteiro, use a função:

abs(n: number) 

Skript 2.2+

Exemplo:

abs(2.3333333)
resultado: 2

Opa! esse abs() também transforma números negativos em positívos.

SET SLOT - MELHOR QUE FORMAT SLOT

Sim, SET SLOT é melhor que format slot por várias razões, vou falar uma delas:

- Não da para dupar

- é mais responsivo

- é mais configuravel

Vamos a sintaxe:

NÃO ACHEI A SINTAXE.

Skript 2.2+ <- não tenho certeza.

Exemplo:

command /menu:
	trigger:
		open chest with 3 rows named "Menu" to player
		if name of player's current inventory contains "Menu":
			set slot 0 of player's current inventory to a stained glass pane
on inventory click:
	if name of player's current inventory contains "Menu":
		cancel event
		if clicked slot is 0:
			send "&aVocê clicou no slot 0!"

CLICKED INVENTORY

De repente o player clicou em ALGUM slot, mas o slot que ela deve clicar, deve ser do MENU, certo? Use o CLICKED INVENTORY pra isso.

click[ed] inventory 

Skellet

ele te fala o nome do inventário caso seja um menu personalizado, ou fala se é o inventário do player ou não, pode ser muito útil para skirpters de lojas por menu.

CLICKED TYPE

Mais uma utilidade boa para os skripters que fazem lojas por skript.

%clickedtype%

Skellet

Tipos:

CONTROL_DROP - Segure Ctrl enquanto pressiona a tecla "Soltar" (o padrão é Q).
CREATIVE - Qualquer ação realizada com o inventário do criativo aberto.
DOUBLE_CLICK - Pressionando o botão esquerdo do mouse duas vezes em rápida sucessão.
DROP - A tecla "Soltar" (o padrão é Q).
LEFT - o esquerdo (ou principal) do mouse.
MIDDLE - O botão do meio do mouse ou um "clique na roda de rolagem".
NUMBER_KEY - Uma das teclas numéricas 1-9 corresponde aos slots na barra de acesso.
RIGHT - O botão direito do mouse.
SHIFT_LEFT - Segure shift enquanto pressiona o botão esquerdo do mouse.
SHIFT_RIGHT - Segure shift enquanto pressiona o botão direito do mouse.
UNKNOWN - Um tipo de manipulação de inventário ainda não reconhecido pelo Bukkit.
WINDOW_BORDER_LEFT - Clique no botão esquerdo do mouse na área cinza ao redor do inventário.
WINDOW_BORDER_RIGHT - Clique no botão direito do mouse na área cinza ao redor do inventário.

Esse eu particularmente gosto muito pela variedade de coisas rsrs

Exemplo:

command /menu:
	trigger:
		open chest with 3 rows named "Menu" to player
		if name of player's current inventory contains "Menu":
			set slot 0 of player's current inventory to a stained glass pane
on inventory click:
	if name of player's current inventory contains "Menu":
		cancel event
		if clicked slot is 0:
			if "%clickedtype%" is "LEFT":
				send "&aClicou com o esquerdo!"


# Não testado.

DOWNLOAD FILE

Fazer com que seu Skript baixe novos addons automaticamente de acordo com a vontade da pessoa? Seria uma coisa interessante, não? poderia fazer um skript só com as listas de todos os addons :0

download file from %string% to file %-string% 

Exemplo:

download file from "https://github.com/tim740/skUtilities/releases/download/v0.8.8/skUtilities.v0.8.8.jar" to file "plugins\\skutilDLFU.jar"

# baixar para "plugins\\"skutilDLFU.jar"

DAMAGE TYPE

"ainnnnnnnnnnnnnn, mas quem nunca usou damage type? esse eu já sei", eu sei que sabe, mas aposto que você não sabe todos os tipo de dano:

 

contact, attack, sweep attack, projectile, suffocation, fall, fire, burning, melting, lava, drowning, block explosion, entity explosion, void, lightning, suicide, starvation, poison, potion, wither, falling block, thorns, dragon's breath, unknown, hitting wall while flying, magma, cramming, dryout

DIMENSION

Verifica se o player está no nether, fim ou overworld.

dimension

MundoSK 1.8+
end
the_end
nether
normal

ENCHANTMENT

Aqui está a lista de todos os encantamentos:

Frost Walker, Feather Falling, Unbreaking, Knockback, Projectile Protection, Respiration, Punch, Protection, Blast Protection, Lure, Impaling, Smite, Silk Touch, Infinity, Luck of The Sea, Thorns, Multishot, Curse of Vanishing, Fire Aspect, Flame, Depth Strider, Piercing, Fire Protection, Sharpness, Power, Sweeping Edge, Aqua Affinity, Curse of Binding, Bane of Arthropods, Soul Speed, Looting, Efficiency, Mending, Riptide, Quick Charge, Fortune, Loyalty, Channeling

INTEGER E NÚMERO

Aqui pode ser algo que a maioria já sabe, mas sempre tem uns que não.

Número = 2.3333

Integer = 2

;D

 

Até o momento é isso pessoal, até mais.

Link para o comentário
Compartilhar em outros sites

ANÁLISE DE CONTEÚDO DESATUALIZADO

Este tópico foi automaticamente arquivado devido à falta de atualizações recentes ou ao fato de o conteúdo estar desatualizado em relação às práticas ou informações atuais. Para manter a qualidade e relevância das discussões na comunidade, tópicos sem novas atualizações ou com informações obsoletas são periodicamente arquivados.

Se houver novos dados ou atualizações pertinentes ao tema, sinta-se à vontade para criar um novo tópico com as informações atualizadas.

Equipe de Moderação
Gamer's Board
Link para o comentário
Compartilhar em outros sites

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