Pawn

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Pawn
Pawn logo.png
Vznikl v 1998
Vývojář ITB CompuPhase
Typová kontrola dynamická
Ovlivněn jazyky Small-C[1]
OS Multiplatformní software
Licence zlib Licence
Web www.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[editovat | editovat zdroj]

Deklarace proměnné[editovat | editovat zdroj]

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 čáskou

Deklarace funkce[editovat | editovat zdroj]

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

Tvorba vlastní (public) funkce[editovat | editovat zdroj]

// 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[editovat | editovat zdroj]

Hello world[editovat | editovat zdroj]

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

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

Náhodná čísla[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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 jazyku 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 skoro 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á nějaké ty nevýhody, jako například: Jedno okno, jeden soubor(Pouze jedna karta za okno), Je hrozně primitivní, nelze skoro vůbec nastavit podle sebe...

Ostatní programy na editaci SA-MP skriptů[editovat | editovat zdroj]

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ějaké ty lepší vlastnosti 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šechy informace o ID modelů, playermodelů,...

Notepad++(Pawn syntax + NPPExec plugin) - Tento způsob není až tak moc používán, ale je to podle mně ten divnější způsob, protože si ho musíte nakonfigurovat.

Originální tutoriál naleznete zde.

  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.

Tohle je vše, co se týče Notepad++.

Reference[editovat | editovat zdroj]

  1. a b Pawn_Language_Guide [online]. ITB CompuPhase, červen 2011, [cit. 2013-06-16]. Dostupné online.