Jump to content

[Skript] "format slot" e suas limitações...


danielzinh
 Share

Recommended Posts

_______________________________________

Olá. Muitos skripters iniciantes se apegaram ao famoso format slot por ser simples, mas hoje vou te mostrar que isso é algo que pode te prejudicar.

_______________________________________

Contexto e Introdução

o format slot por si nem deveria existir no Skript, vamos aos motivos:

Ele é limitado

[!] Possui bugs de duplicação de inventário [!]

Você só pode executar expressões utilizando um comando pronto ou Functions

- Já possui bloqueador de coleta (não permite pegar o item do menu) e isso limita para certos códigos

[!] Pode causar bugs como o item não ir pro menu e sim pro seu inventário [!]

_______________________________________

Solução dos seus Problemas

No lugar de format slot use set slot, além de ser muito mais fácil de se usar, é o jeito certo e mais customizavel pros seus códigos.

 

Um exemplo de código com set slot:

Por favor, registre-se ou entre para visualizar isso.

Expressões e Syntax

Uso correto: set slot %slot% of %inventory% to %item%

Exemplo: set slot 10 of player's current inventory to grass block

___________________________

Esclarecimentos

player's current inventory - Menu atual do jogador (se não houver, será o inventário)

player's inventory - Inventário do jogador

Então não usem player's inventory caso queiram inserir o item no menu! pois usando isso, ele irá pro inventário. Sempre use player's current inventory.

_______________________________________

name of player's current inventory - Nome do menu atual, no exemplo acima, será "Menu"

clicked slot - Slot em que você clicou (NÃO RECOMENDADO - O slot clicado pode ser tanto do inventário como do menu, podendo causar um conflito caso queira pegar o slot só do menu.)

clicked item e name of clicked item - Exibe o item, e exibe o nome do item respectivamente.

clicked type - Tipo de clique (Se você clicou com o botão direito, esquerdo, com shift, sem shift, etc)

clicked inventory - Diz se o inventário clicado foi o do player ou não.

_______________________________________

Sabendo disso...

Vamos a um exemplo mais complexo, se você estiver querendo aprender, recomendo que estude esse código:

Por favor, registre-se ou entre para visualizar isso.

 

 

 

 

Bons estudos, Skripters :)

EliteSK

Link to comment
Share on other sites

Observação importantíssima:

Utilize:

Por favor, registre-se ou entre para visualizar isso.

Esse if name of player's current inventory is "Menu": faz com que somente os slots se o menu realmente estiver aberto! se o servidor estiver meio lagado, aquele wait 1 tick pode falhar e o player fechar o inventário antes de executar os slots, fazendo com que os itens dos slots vão diretamente pro seu inventário, causando duplicação!

Edited by danielzinh
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...