O que é SAMPCTL? Para que serve? O que sao os arquivos includes YSI? e tals... queria saber sobre isso. Estava vendo a Y_Flooding e me perguntei como funcionava, como era instalada...
Se optou em baixar pelo GitHub, clique em Code e depois em Download Zip como na imagem.
Caso contrário e você tenha optado pelo mediafire, apenas clique no botão download como na imagem.
Após a instalação, extraia o arquivo após isso irá lhe dar uma pasta com o nome "YSI-Includes" ou algo parecido.
Clique sobre a pasta, pressione o botão direito do mouse e clique em copiar, após isso vá até a pasta de seu gamemode e cole em pawno/includes.
2. Utilizando
Primeiro de tudo, precisamos criar uma pasta onde se localizará os módulos de seu Gamemode, ele deve estar na pasta principal de seu GM e não pode conter espaços ou números, você pode optar por algo como: modulos ou modules.
Após a criação da pasta, devemos criar os seus módulos, use uma extensão como .pwn/.inc/.sys.
Dentro do arquivo criado, podemos começar definindo o uso da include y_hooks que será responsável pela modularização de seu Gamemode, use:
#include <YSI-Includes\YSI_Coding\y_hooks>
Após isso, você precisa vincular o módulo ao Gamemode, você pode usar:
#include "../suapastademodulos/nomedoseumodulo"
Você deve fazer isso antes da main ou no final do gamemode.
IMPORTANTE: Você deve definir a include y_hooks em todos os seus módulos!
3. Callbacks
Para a utilização de callbacks em módulos é bem simples, você deve apenas trocar o nome "public" por "hook" em seu módulo, algo como:
Após isso você pode utilizar a callback dentro de seu módulo sem problemas.
IMPORTANTE: A ordem em que você declara seu módulo no seu GM principal vai interferir na ordem de acontecimentos, por exemplo: Você criou um módulo onde dá pontos para uma pessoa ao matar alguém e também cria um módulo onde salva as contas ao desconectar, se você declarar o módulo de salvar ao desconectar antes do módulo de dar pontos a pessoa, não irá salvar os pontos pelo fato da ordem (Espero que isso tenha ficado claro pois é muito importante).
4. Útil
Algumas informações úteis.
Includes - Ao declarar uma include no GM principal, ela será vinculada a todos os módulos, por tanto não é necessário declarar uma include duas vezes.
Comandos - A utilização de comandos é totalmente permitida nos módulos, você pode utilizar tanto a Callback nativa quanto um processador de comandos como ZCMD ou Pawn.CMD, basta declara-lo no GM principal.
Órdem dos módulos: Já citei antes mas é importante; A ordem em que você declara seu módulo no seu GM principal vai interferir na ordem de acontecimentos, por exemplo: Você criou um módulo onde dá pontos para uma pessoa ao matar alguém e também cria um módulo onde salva as contas ao desconectar, se você declarar o módulo de salvar ao desconectar antes do módulo de dar pontos a pessoa, não irá salvar os pontos pelo fato da ordem.
Exagear - Provavelmente a biblioteca YSI não será compilada no Exagear, impossibilitando o uso da modularização pelo y_hooks
Erros: Qualquer erro ortográfico ou alguma dúvida na utilização, me contate em meu discord: gomaink#3403
após o jogador se cadastrar no servidor, eu insiro seus dados no banco de dados, mas por algum motivo o "id" do textlabel é "0", como se eu não tivesse tido tempo de pegar o valor da variável depois de inseri-la. e o dinheiro que lhe dei, ele não recebe. O que pode ser?
bom estou com problema com Checkpoint, quando eu dou /missao
aparece um Checkpoint ate ae tá funcionando, mais quando eu vou no último Checkpoint, entregar a mercadoria ele não desaparece, alguem ae pode me ajuda
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
é só um codigo de amostra mais aparentimente esta tudo certo , ao tentar
compilar o pawno.exe fecha o que sera? plugins e includes estão no lugar.
aqui o link do plugin+include : https://github.com/dotSILENT/chandling-svr