(Tutorial) Cum sa creezi sau sa modifici plugin-uri AMXX folosind AI!

Started by Astarasefk,

Previous topic - Next topic

Astarasefk

Cum să folosești AI ca să creezi sau să modifici pluginuri AMXX
Traducere și adaptare după ghidul lui joaquimandrade, postat inițial pe forumul AlliedModders.



Acest ghid arată cum poți folosi un agent AI (care rulează direct în terminal, pe Linux) ca să scrie, testeze și repare singur pluginuri AMXX pentru CS 1.6. Poți să-l pui să facă un plugin nou de la zero, să repare un bug într-unul vechi, sau chiar să lucreze la module sau la AMXX-ul propriu-zis. E o modalitate bună să scoți din cap idei vechi pe care nu ai avut timp să le scrii de mână, sau moduri mari care ar lua prea mult timp manual — și poți încerca gratuit.

Orice îi dai agentului să proceseze (cod, prompturi, capturi de ecran) ajunge stocat și procesat pe serverele celui care oferă modelul AI, indiferent dacă folosești o unealtă gratuită sau un abonament plătit. Ține cont de asta dacă lucrezi cu cod pe care nu vrei să-l trimiți în altă parte.

Bucla completă de lucru

Ca să scoți tot ce poate din agent, cel mai bine e să-l pui să parcurgă singur toată bucla:

  • scrie codul
  • validează / compilează codul
  • pune (deploy) pluginul pe server
  • pornește jocul
  • testează cumva dacă pluginul face ce trebuie

Partea grea e la pasul 5 — nu e o simplă verificare de text. Cel mai bine e să-i ceri să testeze prin comenzi RCON și prin capturi de ecran din joc. Așa poate să vadă singur ce se întâmplă, să decidă dacă trebuie să se întoarcă la pasul 1 ca să repare ceva, și abia apoi să-ți dea ție controlul înapoi.

Instalarea (Linux — opencode)

Totul merge cel mai bine pe o mașină Linux — acolo se descurcă cel mai bine agenții AI, pentru că au acces la toată puterea comenzilor Linux.

Poți folosi orice agent, de exemplu Claude Code, dar eu am folosit opencode ca să poți face asta și fără abonament plătit.

Intri pe https://opencode.ai/ și rulezi comanda de instalare pentru Linux:

curl -fsSL https://opencode.ai/v2/install | bash
După ce s-a instalat, îl deschizi cu comanda opencode (poate ai nevoie de o consolă nouă ca sistemul să vadă noul binar).

Se deschide un program în consolă, cam așa:



Ca model, pornește pe "Big Pickle". Eu am folosit "Muse Spark 1.3 Free" — poți testa cu orice model vrei, dar ajută dacă poate procesa și imagini, nu doar text. Schimbi modelul din:

CTRL + P



Eu aveam deja amxmodx instalat, plus yapb pentru boți. Dacă nu le ai, poți pur și simplu să-i ceri agentului să ți le instaleze el.

Primul test — un plugin simplu

Primul prompt e ca să vezi dacă agentul își dă seama singur cum e instalat jocul, cum interacționează cu el, și dacă poate scrie și rula pluginuri:

find my CS 1.6 installation, create a simple amxx plugin, run the game, test if you can take screenshots, and if you can use rcon commands


Poate dura câteva minute bune, dar la final vezi jocul pornind singur, testat de agent, și un raport cam așa:



Al doilea test — un plugin mai complex

Acum îi ceri ceva mai greu, și îl pui să se testeze singur:

Now create an amxx plugin that gives the player a flying pet dragon. spawn a flying creature (models/stukabat.mdl from the Half-Life base game), that follows the player next to their right shoulder with a slight lag, when it sees an enemy bot, it roars, plays its attack animation and spits a burst of fireballs: animated xfireball3.spr sprites homing onto the target, with a flame sound.
Only use models, sprites and sounds that exist on disk, precache everything in plugin_precache(), and test it yourself in the running game with bots.

Pe scurt, promptul de mai sus cere: un dragon zburător care urmează jucătorul din spatele umărului drept, cu o mică întârziere, și care, când vede un bot inamic, răcnește, joacă animația de atac și aruncă o rafală de mingi de foc (sprite-uri xfireball3, cu "homing" spre țintă) și sunet de flacără. Tot ce folosește (model, sprite, sunet) trebuie să existe deja pe disc și să fie precache-uit corect în plugin_precache().



A durat destul de mult, dar la început chiar merită să-l lași să-și facă treaba în ritmul lui, ca să "învețe" singur cum să facă bucla mai bine — de exemplu, să forțeze jucătorul să intre pe o echipă înainte de test, și să verifice cu adevărat ce a făcut. În funcție de modelul AI folosit, o să vezi diferențe: unele modele se bazează mai mult pe capturile de ecran (deci scapă de MOTD și fac screenshot direct), altele preferă loguri și își adaugă singure loguri de validare.

Rezultatul final, obținut din primul prompt, one-shot:
https://drive.google.com/file/d/1SGExU3QOrdq14nr7WehRhE0rZx2SfOoz/view?usp=sharing



P.S. Am sărit peste câțiva pași — cum că opencode îți cere voie înainte de fiecare acțiune, și output-ul exact la fiecare rulare — ca să fie mai scurt. Încearcă singur și dacă ai întrebări, întreabă.
terra fanclub.