> For the complete documentation index, see [llms.txt](https://doc.ankabot.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.ankabot.dev/boutique-des-scripts/informations-pour-les-vendeurs.md).

# Informations pour les vendeurs

## <mark style="color:yellow;">Restrictions</mark>

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

* Les fonctions <mark style="color:yellow;">io:</mark> et <mark style="color:yellow;">os:</mark> et <mark style="color:yellow;">file:</mark> du langage <mark style="color:yellow;">LUA</mark> ne sont pas disponibles, et donc le script ne pourra accéder à aucun fichier de votre ordinateur.
* L'appelle des méthodes <mark style="color:yellow;">**developer:xxxxRequest**</mark> (permettant d'envoyer/récupérer des données à un URL) affiche dans la console le lien et les données envoyées.
* Les méthodes <mark style="color:yellow;">AccountController:executeCmd</mark>, <mark style="color:yellow;">AccountController:setScriptVariable</mark>, <mark style="color:yellow;">AccountController:callFunctionInScript</mark>, <mark style="color:yellow;">AccountController:callScriptFunction</mark>, <mark style="color:yellow;">AccountController:callScriptFunction</mark> sont désactivées.
* La méthode <mark style="color:yellow;">ankabotController:getPassword</mark> est désactivée.

Pour l'ecriture et la lecture des fichiers, des méthodes ont été ajoutées dans ce but, mais permettent seulement l'ecriture et la lecture des fichiers dans le dossier <mark style="color:yellow;">Sandbox</mark> :

### 🎮 <mark style="color:yellow;">Méthodes</mark>

<pre class="language-lua"><code class="lang-lua"><strong>-- Ecriture (Sans retour)
</strong><strong>developer:sandbox_append(filename, content)
</strong>developer:sandbox_write(filename, content)

-- Lecture (retour string)
developer:sandbox_read(filename)

-- Vérification (retour bool)
developer:sandbox_exist(filename)

-- filename ne doit pas contenir des caracètres spéciaux
</code></pre>

## <mark style="color:yellow;">Méthode pour importer un script chiffré</mark> <a href="#je-veux-vendre-seulement-une-ia" id="je-veux-vendre-seulement-une-ia"></a>

```lua
developer:dofile(path)
```

## <mark style="color:yellow;">Je veux vendre seulement une IA</mark>

Supposons que vous voulez seulement vendre une IA, 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é :&#x20;

```lua
function fightManagement()
    -- Mettez votre logique ici
end

-- Intégration du script de votre client
dofile(global:getCurrentScriptDirectory().."\\script_du_client.lua")
```

Et donc le client devra :&#x20;

* Mettre <mark style="color:green;">script\_du\_client.lua</mark> et <mark style="color:yellow;">script\_protégé.lua</mark> dans le meme dossier.
* Charger le script <mark style="color:yellow;">script\_protégé.lua</mark>.

## <mark style="color:yellow;">Je veux vendre un script paramètrable</mark>

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é :&#x20;

```lua
dofile(global:getCurrentScriptDirectory().."\\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 <mark style="color:green;">settings.lua</mark> :&#x20;

```lua
PARAM_1 = "YES"
PARAM_2 = "KANAKI KHTEK KATMAKI"
PARAM_3 = "RNIWNED KI ARNAKI"
```

Et donc le client devra :&#x20;

* Mettre <mark style="color:green;">settings.lua</mark> et <mark style="color:yellow;">script\_protégé.lua</mark> dans le meme dossier.
* Charger le script <mark style="color:yellow;">script\_protégé.lua</mark>.

## <mark style="color:yellow;">Je veux vendre un script décomposé en plusieurs scripts, l'un charge l'autre</mark>

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

```lua
-- Initialiser le script de base qui sera utilisée pour la première fois
if global:remember("WHAT_SCRIPT") == nil then
	global:addInMemory("WHAT_SCRIPT", 1)
end

-- Charger le script 1 (mettez tout le contenu du script dans cette condition)
if global:remember("WHAT_SCRIPT") == 1 then
	function move()
		global:printSuccess("Je suis dans le script 1, je passe au script 2")
		global:editInMemory("WHAT_SCRIPT", 2)
		global:restartScript(true)
	end
end

-- Charger le script 2 (mettez tout le contenu du script dans cette condition)
if global:remember("WHAT_SCRIPT") == 2 then
	function move()
		global:printSuccess("Je suis dans le script 2, je passe au script 3")
		global:editInMemory("WHAT_SCRIPT", 3)
		global:restartScript(true)
	end
end

-- Charger le script 3 (mettez tout le contenu du script dans cette condition)
if global:remember("WHAT_SCRIPT") == 3 then
	function move()
		global:printSuccess("Je suis dans le script 3, je passe au script 1")
		global:editInMemory("WHAT_SCRIPT", 1)
		global:restartScript(true)
	end
end
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.ankabot.dev/boutique-des-scripts/informations-pour-les-vendeurs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
