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í.
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 |
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].
- Stáhneme si userDefineLang.xml
- Soubor přesuneme do %appdata%\Notepad++ (Obrázek zde)
- Potom musíme nastavit to, aby se .pwn soubor spustil v Notepad++ (Obrázek zde)
- Musíme si stáhnout Pawn API pro Notepad++ zde (Obrázek zde)
- Následovně ho přesuneme do složky APIs, kde máme nainstalovaný NPP.
- Settings -> Preferences -> Backup/Auto-Completion, zde si můžeme aktivovat autodokončení.
- 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).
- Plugins -> Plugin Manager -> Show Plugin Manager -> Nainstalujeme NppExec, potom restartujeme Notepad++
- Plugins -> NppExec -> Execute... -> Zde si napíšeme skript, který se bude vyvolávat při kompilaci.
- Plugins -> NppExec -> No internal messages
- Plugins -> NppExec -> Advanced Options -> Menu item (Name: "Název spouštěcího kódu", Associated script: "Váš skript, který jste napsal")
- 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).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.
npp_save cd $(CURRENT_DIRECTORY) "C:\Users\Sevenisko\Desktop\samp\Pawno\pawncc.exe" "$(FILE_NAME)" -; -(
Reference
- Pawn_Language_Guide [online]. ITB CompuPhase, červen 2011 [cit. 2013-06-16]. Dostupné v archivu pořízeném dne 2012-08-14.