Pawn

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

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í.

Syntaxe

Deklarace proměnné

new promenna1;//Celočíselná proměnná
new promenna2[10]; //Pole celých čísel o velikosti 10
new bool: promenna3; //Logická proměnná vada a hradba

new Float: promenna4; //Desetinné číslo s plovoucí desetinnou čárkou
new 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 funkci
forward test();

// Zde máme funkci
public test()
{
// Tělo funkce
return 1;
}

nebo

test()
{
// Tělo funkce
return 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_save
    cd $(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

  1. a b Pawn_Language_Guide [online]. ITB CompuPhase, červen 2011 [cit. 2013-06-16]. Dostupné v archivu pořízeném dne 2012-08-14. 

Externí odkazy


Média použitá na této stránce

Pawn logo.png
Autor: CompuPhase, Licence: Attribution
The Pawn Language Logo