תוכן עניינים: - מהן מילים שמורות?
- רשימת המילים השמורות
- הסבר לכל מילה
- הערות
מהן מילים שמורות?
מילים שמורות הן מילים ששמורות לפאונו, כלומר, מילים שלא ניתן להשתמש בהם כמילים רגילות. (למשתנים, פונקציות, וכו').
כל מילה שמורה מקבלת צבע כחול בפאונו, וניתן להשתמש בכל אחת בצורה שונה.
ישנם מילים שמורות שלא עושות כלום בפאונו (משתמשים בהן לשפות תכנות אחרות).
רשימת מילים שמורות
asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_casts truct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_twhile
*קרדיט לויקיפדיה
הסבר לכל מילה
אוקיי את רוב המילים אני יודע, אבל יש כאלה שלא, אז אני אכתוב רק על אלה שאני יודע (ברור שאני לא אכתוב כאלה שלא עושות כלום).
לפי סדר הABC!
bool
תג של משתנה, אשר יכול להיות נכון או לא נכון (true/false, 0/1).
דוגמא:
new bool:connected[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
connected[playerid] = true;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
connected[playerid] = false;
return 1;
}
^ בודק אם השחקן מחובר.
break
מפסיק לולאה.
דוגמא:
for(new i=0;i<MAX_PLAYERS;i++)
{
if(i == 50)
{
break;
}
}
^ הלולאה מתוכננת ל200 פעמים, אך ברגע שהיא מגיעה ל50 היא תיפסק.
case
http://forum.vgames.co.il/showthread.php?t=1104079
continue
פעולה זו מדלגת על מספר.
דוגמא:
for(new i=0;i<4;i++)
{
if(i == 3)
{
continue;
}
}
^ קוד זה אמור לעשות לולאה מ0 עד 4, אבל כאשר המשתנה מגיע ל3 הוא פשוט מדלג עליו, ועובר ל 4.
default
http://forum.vgames.co.il/showthread.php?t=1104079
do
פעולה זו מצליחה רק עם שימוש בwhile. היא גורמת למשהו לקרות רק כאשר קורה משהו אחר.
דוגמא:
new i;
do
{
AddPlayerClass(0,0.0,0.0,0.0,0.0,0,0,0,0,0,0);
i++;
}
while(i !=5);
^ קוד זה יוצר עוד ועוד קלאסים של CJ, עד שהמשתנה מגיע ל5.
else
ההפך.
דוגמא:
public OnPlayerConnect(playerid)
{
if(playerid == 0)
{
}
else
{
}
return 1;
}
^ קוד זה בודק אם האיידי של השחקן הוא 0, ולאחר מכן בודק אם לא.
enum
יוצר קבוצת משתנים אשר נכנסת למשתנה אחד.
דוגמא:
enum VGamesEnum
{
IP[16],
Vent[16],
Servers[10]
}
new VGames[VGamesEnum];
^ קוד זה יוצר את המשתנה VGames עם 3 משתנים בתוכו.
הערה: ב enum יש באג - לא משנה אם תוסיפו , בסוף, או ; אחרי ה }, זה תמיד ייעבוד (אמור לתת ארורים).
false
תחליף למספר 0.
for
יוצר לולאה (Loop).
דוגמא:
for(new a=0;a<60;a++)
{
SendClientMessageToAll(0xffffffaa,"");
}
^ מנקה את הצ'אט: שולח 60 פעמים את ההודעה "" בצבע לבן.
goto
הולך ל"פונקציה" כלשהית.
דוגמא:
goto lol;
lol:
SendClientMessage(playerid,0xffffffaa,"lol");
^ שולח לplayerid הודעה בלבן, "lol".
if
נותן שאלה, "אם".
דוגמא:
new Players=0;
public OnPlayerConnect(playerid)
{
Players++;
if(Players == 200)
{
print("200 players online!");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
Players--;
return 1;
}
^ בודק מתי יש 200 שחקנים.
new
יוצר משתנה חדש.
דוגמא:
new test;
^ יוצר את המשתנה test.
public
מתחיל מקרה \ פונקצייה חדש\ה.
דוגמא:
public OnPlayerConnect(playerid)
^ בודק את המקרה "כאשר שחקן נכנס".
return
מסיים את הפונקצייה.
דוגמא:
ReturnPlayerName(playerid)
{
new n[MAX_PLAYER_NAME];
GetPlayerName(playerid,n,sizeof(n));
return n;
}
^ מסיים בכינוי של playerid.
sizeof
בודק אורך של משתנה.
דוגמא:
new var[256];
format(var,sizeof(var),"");
^ יוצר משתנה "var" שאורכו 256, ואחר כך משתמש בformat וממלא את האורך (אם בגרשיים היו יותר תוים מ256 (sizeof var) זה היה נותן ארור.
הערה: ניתן לכתוב sizeof(var) וגם sizeof var.
static
בדיוק כמו new.
switch
http://forum.vgames.co.il/showthread.php?t=1104079
true
תחליף למספר 1.
while
כל עוד.
דוגמא:
new bla=0;
while(bla != 5)
{
bla++;
printf("%i",bla);
}
^ כותב בקונסול את הערך של bla, ברגע שbla יגיע ל5 זה יפסיק לכתוב.
הערות
- המדריך לא כתוב בצורה מסודרת מצורך נוחות.
- המדריך פורסם גם כן בפורום הראשי אך שונה.
- המדריך כתוב בצורה המבזבזת שורות, כדי שגם מתחילים בשפת הPAWN יוכלו להבין אותו.
- הקודים לא כתובים בתג CODE מהסיבה שתגים אלו הורסים את סדר הקוד.