Oggi vi mostrerò uno script Source creato da Boylett .
Questo script ha la capacità ci creare gamemode "criptate" e quindi leggibili solo dal server.
Prendiamo l'esempio degli script .pwn di SA:MP . Questo tool è come se creasse il .amx
- Come si usa :Create un file chiamandolo
compiler.nut e successivamente apritelo con un editor testuale come Notepad.
All'interno copiateci questo codice ( preso da
Pyropaste )
Codice:
/*
Script by Boylett
Squirrel.nut Compiler
Released under GNU/GPL
*/
function waitForLoad()
{
print("Welcome to the IV:MP Server script compiler, by Boylett");
print("This will compile files from file.nut to file.sq");
print("USAGE: compile file");
}
function onScriptInit()
{
setTimer(waitForLoad,100,1);
return 1;
}
addEvent("scriptInit", onScriptInit);
function fileExists(filename)
{
try
{
local testfile = file(filename, "r");
}
catch(e)
{
return false;
}
return true;
}
function onConsoleInput(input)
{
local cmd = split(input," ");
if(cmd[0] == "compile")
{
if(1 in cmd)
{
local folder = "scripts/";
print("-------------------------------------------------------");
print("Attempting to compile: "+folder+cmd[1]+".nut");
if(!fileExists(folder+cmd[1]+".nut"))
{
print("File doesn't exist");
print("-------------------------------------------------------");
return true;
}
local compile;
try
{
compile = loadfile(folder+cmd[1]+".nut",true);
}
catch(e)
{
print("Failed to compile");
print("-------------------------------------------------------");
return true;
}
writeclosuretofile(folder+cmd[1]+".sq",compile);
print("Compiled to "+folder+cmd[1]+".sq\n");
print("-------------------------------------------------------");
}
else
{
print("USAGE: compile file");
}
}
return true;
}
addEvent("consoleInput", onConsoleInput);
- Ora salvate e mettete il
compiler.nut nella cartella scripts del vostro pacchetto Server
- Aprite settings.xml e aggiungete compiler.nut nella lista (come nell'esempio)
Codice:
<!-- The scripts the server will load and run -->
<script>compiler.nut</script>
- Avviate ivmp-svr.exe contenuto sempre nel vostro pacchetto Server
- In qualsiasi momento digitate
compile nomevostroscriptnomevostroscript è il nome dello script .nut contenuto nella cartella scripts.
Non è necessario mettere .nut alla fine del comando.- Ora vi ritroverete un file chiamato nomevostroscript.sq dentro la cartella scripts.
Se volete caricarlo come una normale gamemode aprite il file settings.xml e aggiungete lo script nella lista (come in esempio)
Codice:
<!-- The scripts the server will load and run -->
<script>nomevostroscript.sq</script>
<script>compiler.nut</script>
- Per i più smanettoni :
-
Cambiare il comando compile : andare alla riga 38 e modificare
Codice:
if(cmd[0] == "compile")
-
Cambiare cartella degli script compilati : andare alla riga 42 e modificare
Codice:
local folder = "scripts/";
Guida tradotta e migliorata dal
Topic originale di BoylettScusate se mi sono dilungato, dopo aver fatto 1-2 volte i passaggi vi abituerete
