שלום לכולם !
היום אני יסביר לכם על שימוש בטיימרים.
הפונקציות שנדבר עליהם:
- SetTimer.
- SetTimerEx.
- KillTimer.
-----------------
הפונקציה SetTimer:
הפרמטרים של הפונקציה :
PHP Code:
SetTimer(funcname[], interval, repeating);
• []funcname = שם הפאבליק.
• interval = הזמן שיתחיל הפאבליק ( 1000 = שניה ).
• repeating = לחזור על הפאבליק(האם הפאבליק יתקיים מספר פעמים) , 0 = לא לחזור(פעם אחת הפאבליק יפעל) , 1 = לחזור(יפעל מספר פעמים).
----------------
הפונקציה SetTimerEx:
הפרמטרים של הפונקציה :
PHP Code:
SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...);
• []funcname = שם הפאבליק.
• interval = הזמן שיתחיל הפאבליק ( 1000 = שניה ).
• repeating = לחזור על הפאבליק(האם הפאבליק יתקיים מספר פעמים) , 0 = לא לחזור(פעם אחת הפאבליק יפעל) , 1 = לחזור(יפעל מספר פעמים).
• []const format = סוגי הפורמט ( יוסבר בהמשך ).
• ...:{_,Float} = מספר הארגמנטים(פרמטרים).
([]Format syntax(const format
i |
אינטגר(מספר) |
d |
דומה ל ' i ' |
s |
מחרוזת (string) |
f |
מספר פלואטי(Float) |
b |
בוליאני(ture / false) |
----------------------------------
הפונקציה KillTimer:
הפרמטרים של הפונקציה :
PHP Code:
KillTimer(timerid);
• timerid = הפאבליק שברצונכם לעצור.
-----------------------
דוגמאות:
הודעה אוטומטית בעזרת SetTimer:
PHP Code:
public OnGameModeInit()
{
SetTimer("AutoMessage",60000,1);
}
למטה במוד
forward AutoMessage();
public AutoMessage()
{
SendClientMessageToAll(-1,"Message");
SendClientMessageToAll(-1,"Message");
SendClientMessageToAll(-1,"Message");
SendClientMessageToAll(-1,"Message");
}
הסבר:
"AutoMessage" = שם הפאבליק ([]funcname).
60000 = זמן (interval).
1 = יחזור על עצמו מספר פעמים (repeating).
SetTimerEx:
PHP Code:
if(!strcmp(cmdtext,"/Hello",true)) return SetTimerEx("PlayerHello",1000,0,"is",playerid,"Hello");
למטה במוד
forward PlayerHello(playerid,string[]);
public PlayerHello(playerid,string[])
{
SendClientMessage(playerid,-1,string);
}
הסבר:
"PlayerHello" = שם הפאבליק([]funcname).
1000 = זמן(interval).
0 = יחזור על עצמו פעם אחת(repeating).
"is" = פורמטים במקרה שלו : i = מספר , s = הודעה([]const format).
playerid = השחקן שאליו תשלח ההודעה ({Float,_}:...).
"Hello" = ההודעה שתשלח אל השחקן ({Float,_}:...).
KillTimer:
PHP Code:
יצירת משתנה למעלה במוד:
new Timer;
OnGameModeInit()
{
Timer = SetTimer(....);
}
לדוגמא נעשה פקודה שתעצור תטיימר:
if(!strcmp(cmdtext,"/Stop",true)) return KillTimer(Timer);
מקווה שהייתי מובן , במידה ומשהו לא מובן אתם מוזמנים לשאול אותי כאן באשכול ואני יענה לכם : )