Pawn

Pawn (původně Small) je open source programovací jazyk určený hlavně pro tvorbu gamemodů/filterscriptů do módu SA-MP a módů AMXModX pro modifikace hry Half-Life (Counter Strike 1.6).Pawn je dynamicky typovaný jazyk ovlivněný jazykem Small-C[1] s C-like syntaxí.

Pawn
Vznik1998
VývojářITB CompuPhase
Typová kontroladynamická
Ovlivněn jazykySmall-C[1]
OSMultiplatformní software
Licencezlib Licence
Webwww.compuphase.com/pawn/pawn.htm

Syntaxe

Deklarace proměnné

new promenna1;//Celočíselná proměnnánew promenna2[10]; //Pole celých čísel o velikosti 10new bool: promenna3; //Logická proměnná vada a hradbanew Float: promenna4; //Desetinné číslo s plovoucí desetinnou čárkounew Fixed: promenna5; //Desetinné číslo s pevnou desetinnou čárkou

Deklarace funkce

funkce(parametr1, parametr2){    //Tělo funkce    return vysledek;//Funkce může, ale nemusí něco vrátit}

Tvorba vlastní (public) funkce

// Tento řádek nám přidá tuto funkciforward test();// Zde máme funkcipublic test(){// Tělo funkcereturn 1;}nebotest(){// Tělo funkcereturn 1;}

Program začíná funkcí main.

Ukázka kódu

Hello world

Tradiční program „Hello world“ vypadá takto:

#include <core>main(){    print("Hello World!");}

Náhodná čísla

Příklad kódu, který vypíše 4 náhodná čísla:

#include <core>main(){    new digit[4];    for(new i = 0; i < 4; i++)    {        digit[i] = random(5000);//přiřadí náhodné číslo mezi 0 a 5000        printf("%d. náhodné číslo je: %d", i, digit[i]);    }    return 1;}

Pawno

Pawno je editor skriptovacího jazyka Pawn pro mód SA-MP. Tento editor je považován za oficiální editor, protože je vydáván vždy s novou verzí překladače jazyka Pawn a je přikládán k SA-MP Windows Server balíčku. Soubory jazyka Pawn mají obyčejně příponu .inc (includy, které mohou obsahovat vlastní definice a funkce) a .pwn (skripty, módy).Výstupem překladače jazyka Pawn je soubor .amx, tento soubor obsahuje množinu hexadecimálních čísel, které lze zpětně editovat pomocí patřičného editoru. Na soubory .amxx existují různé dekompilátory, ze kterých je možno získat téměř totožný kód. Ovšem proměnné se nazývají jinak. Kvůli těmto 'fintám' se začaly vytvářet AntiDeAMX skripty, které se přidávají přímo do módu / filterscriptu (skript).

Pawno má jisté nevýhody, jako například: Jedno okno, jeden soubor (Pouze jedna karta za okno), Je hrozně primitivní, nelze skoro vůbec vzhledově a funkčně přizpůsobit.

Ostatní programy na editaci SA-MP skriptů

Scripting Machine - Je program napsán v jazyce platformy .NET, který napsal The_Chaoz speciálně pro SA-MP komunitu, který sám o sobě obsahuje některá vylepšení určena pro SA-MP GM/FS vývojáře.

  • Podpora více karet na okno.
  • Tvorba dialogů, Color picker, Area tool, Converter(převede například MTA do SA-MP), Gates maker(Tvorba bran), Tvorba teleportačního příkazu, A všechny informace o ID modelů, playermodelů,...

Notepad++(Pawn syntax + NPPExec plugin) - Tento způsob není až tak moc používán, musíte si ho nakonfigurovat.

Originální tutoriál naleznete zde[nedostupný zdroj].

  1. Stáhneme si userDefineLang.xml
  2. Soubor přesuneme do %appdata%\Notepad++ (Obrázek zde)
  3. Potom musíme nastavit to, aby se .pwn soubor spustil v Notepad++ (Obrázek zde)
  4. Musíme si stáhnout Pawn API pro Notepad++ zde (Obrázek zde)
  5. Následovně ho přesuneme do složky APIs, kde máme nainstalovaný NPP.
  6. Settings -> Preferences -> Backup/Auto-Completion, zde si můžeme aktivovat autodokončení.
  7. Potřebujeme si stáhnout plugin NppExec, kterým si spustíme Pawn Compiler (Můžete použít kompilér, který je přibalen v Pawnu).
  8. Plugins -> Plugin Manager -> Show Plugin Manager -> Nainstalujeme NppExec, potom restartujeme Notepad++
  9. Plugins -> NppExec -> Execute... -> Zde si napíšeme skript, který se bude vyvolávat při kompilaci.
  10. Plugins -> NppExec -> No internal messages
  11. Plugins -> NppExec -> Advanced Options -> Menu item (Name: "Název spouštěcího kódu", Associated script: "Váš skript, který jste napsal")
  12. Settings -> ShortCut Mapper -> Plugin Commands -> "Název spouštěcího kódu" -> Nastavíme klávesu, kterou spustíme skript (Například: Pawn Compile - F7).
    npp_savecd $(CURRENT_DIRECTORY)"C:\Users\Sevenisko\Desktop\samp\Pawno\pawncc.exe" "$(FILE_NAME)" -; -(
    Poznámka - Přepište si cestu, kde máte nainstalovaný Pawn Compiler/Pawno (SA-MP Server), a ujistěte se, že ve složce "includes" máte potřebné .inc soubory.

Reference

Externí odkazy