05.07.2018, 11:40
(
Last edited by Y_Less; 05/07/2018 at 12:35 PM.
)
y_tho
IntroductionHave you ever wished pawn wasn’t so C-like? Would you much prefer to script in the superior language of unix shell scripting? Well now you can! y_tho brings pawn syntax in to the 22nd century, with new keywords such as esac, fi, and many many more; just take a look:
Examples
Before:
Code:
for (new i = 0; i != 10; ++i) { printf("i is %d", i); }
Code:
for i in {0 .. 10} do echo i is %d, i done
Code:
if (playerid < 7) { SetPlayerPos(playerid, 0.0, 0.0, 4.0); }
Code:
if [ playerid -lt 7 ] then SetPlayerPos playerid, 0.0, 0.0, 4.0 fi
Code:
switch (boss) { case 5: { printf("boss is 5"); } case 10: { printf("boss is 10"); } }
Code:
switch boss of case 5) printf("boss is 5"); case 10) printf("boss is 10"); esac
if/elif/else
Code:
if [ i -gt 5 ] then echo "i is %d", i elif [ i -eq 5 ] then echo i is 5 else echo "i is something else" fi
Code:
for j in {7 .. 11} do echo j is %d, j done
for (arithmetic)
Code:
for ((k = 10; k != 100; ++k)) do echo k is %d, k done
Code:
while [ i -lt 10 ] do echo "i is %d", i ++i done
Code:
until [ i -eq 15 ] do echo "i is %d", i SetPlayerPos i, 0.0, 0.0, 4.0 ++i done
Code:
switch i of case 5) echo i is 5 case 10) echo i is 5 default) echo i is %d, i esac
![Sad](images/smilies/sad.gif)
echo
Code:
echo Hello world echo "How are you?" echo "The answer is %d", 42
- -lt - Less than.
- -le - Less than or equal to.
- -eq - Equal.
- -ne - Not equal.
- -ge - Greater than or equal to.
- -gt - Greater than.
These are now optional:
Code:
SetPlayerPos(playerid, 0.0, 0.0, 4.0)
If you are using the new (community) compiler (which you really should be - it is available here: https://github.com/pawn-lang/compiler/releases), brackets are also optional:
Code:
SetPlayerPos playerid, 0.0, 0.0, 4.0
y_tho?
y_not?
Seriously, why though?
Because people kept joking about me writing a library called “y_tho”, so I did.
Installation
I’m slightly apprehensive about even giving you the link to this, but here:
https://github.com/Y-Less/y_tho
It is also available through sampctl (another tool you should get from here: http://sampctl.com/) here:
Code:
sampctl package install Y-Less/y_tho
Code:
#include <y_tho>