Pour les développeurs

Restrictions

Plusieurs restrictions seront appliquées aux scripts protégés vendus sur notre plateforme :

  • Les fonctions io: et os: du langage LUA ne sont pas disponibles, et donc le script ne pourra accéder à aucun fichier de votre ordinateur.

  • L'appelle des méthodes web (permettant d'envoyer/récupérer des données à un URL) affiche dans la console le lien et les données envoyées.

  • L'appelle des méthodes ipc (permettant d'exécuter du code LUA sur une autre fenêtre) affiche dans la console le code exécuté.

  • Les méthodes pour récupérer le compte, le mot de passe et la clé Frigost sont désactivées.

Pour la manipulation des fichiers, des méthodes ont été ajoutées dans ce but, mais permettent uniquement la manipulation des fichiers dans le dossier sandbox dans le dossier de votre Frigost.

Méthodes pour la manipulation des fichiers

-- Ecriture (Sans retour)
sandbox.writeToFile(filename, content)
sandbox.appendToFile(filename, content)

-- Lecture (retourne string)
sandbox.readFile(filename)

-- Vérification (retourne bool)
sandbox.fileExists(filename)

-- Suppression (retourne bool)
sandbox.deleteFile(filename)

-- filename ne doit pas contenir des caracètres spéciaux

Je veux vendre uniquement une IA avancée

Supposons que vous voulez vendre uniquement une IA avancée, et c'est le client qui s'occupe de la fonction move() et autres ...

Vous pouvez alors faire comme ça dans le script principale qui sera protégé et chiffré :

function fight_procedure()
    -- Mettez votre logique ici
end

-- Intégration du script de votre client
dofile(script.folder().."\\script_du_client.lua")

Et donc le client devra :

  • Mettre script_du_client.lua et script_protégé.lua dans le même dossier.

  • Charger le script script_protégé.lua.

Je veux vendre un script paramètrable

Supposons que vous voulez vendre un script, et donner la possibilité au client de configurer des paramètres.

Vous pouvez alors faire comme ça dans le script principale qui sera protégé et chiffré :

dofile(script.folder().."\\settings.lua")

function move()
    -- Mettez votre logique ici
    if PARAM_1 == "YES" then
        global:printSuccess(PARAM_2)
    else
        global:printSuccess(PARAM_3)
    end
end

Et dans le script settings.lua :

PARAM_1 = "YES"
PARAM_2 = "UN MESSAGE"
PARAM_3 = "UN AUTRE MESSAGE"

Et donc le client devra :

  • Mettre settings.lua et script_protégé.lua dans le même dossier.

  • Charger le script script_protégé.lua.

Je veux vendre un script décomposé en plusieurs scripts, l'un charge l'autre

Il suffit de mettre tous vos scripts dans un seul script et faire comme ça par exemple :

-- Initialiser le script de base qui sera utilisé pour la première fois
if memory.get("WHAT_SCRIPT") == nil then
	memory.set("WHAT_SCRIPT", 1)
end

-- Charger le script 1 (mettez tout le contenu du script dans cette condition)
if memory.get("WHAT_SCRIPT") == 1 then
	function move()
		console.success("Je suis dans le script 1, je passe au script 2")
		memory.set("WHAT_SCRIPT", 2)
		script.restart(true)
	end
end

-- Charger le script 2 (mettez tout le contenu du script dans cette condition)
if memory.get("WHAT_SCRIPT") == 2 then
	function move()
		console.success("Je suis dans le script 2, je passe au script 3")
		memory.set("WHAT_SCRIPT", 3)
		script.restart(true)
	end
end

-- Charger le script 3 (mettez tout le contenu du script dans cette condition)
if memory.get("WHAT_SCRIPT") == 3 then
	function move()
		console.success("Je suis dans le script 3, je passe au script 1")
		memory.set("WHAT_SCRIPT", 1)
		script.restart(true)
	end
end

Dernière mise à jour