[מדריך] טיימרים - משחקים Vgames - קהילות
 


נושא: [מדריך] טיימרים
1
משתמשים פעילים הצופים בנושא זה: 1 (0 משתמשים רשומים ו- 1 אורחים)
 
מחבר הודעה

האווטר המגניב של Amit_B

 מתכנת שרת DeathMatch

הודעות: 2,575

חבר בקהילת: -

מנותק

מנותק

#1   פורסם: 26.07, 15:54

ברירת מחדל [מדריך] טיימרים


לפני שמתחילים עם SetTimerEx רצוי וחשוב לדעת SetTimer.
וכשמשתמשים בSetTimer רצוי לדעת להשתמש בKillTimer.
SetTimer
בפונקציה הזאת אנחנו קוראים לפונקציה (public, לא stock).
הפונקציה
SetTimer(function[],interval,repeating);
פאראמטרים
function[] - פאראמטר string של הפונקציה שאנחנו רוצים לקשר אליה.
interval - פאראמטר int שאומר בעוד כמה זמן לקרוא לפונקציה. 1000 = שנייה.
repeating - פאראמטר int שבוחר אם לחזור על הפונקציה.
דוגמא
public OnGameModeInit()
{
    
SetTimer("PrintCredits",60000,1);
    return 
1;
}
forward PrintCredits();
public 
PrintCredits()
{
    print(
"credits..");
    print(
"bla bla bla");
    return 
1;

בקוד הזה, ייצרנו טיימר שמתחיל כאשר המוד רץ על השרת, ובכל דקה קורא לPrintCredits.
ככה שבכל דקה יופיע
"credits..
bla bla bla"
על חלון הקונסול.
SetTimerEx
בפונקציה הזאת אנחנו קוראים לפונקציה (public, לא stock) עם פאראמטרים.
הפונקציה
SetTimerEx(function[],interval,repeating,format[],params);
פאראמטרים
function[] - פאראמטר string של הפונקציה שאנחנו רוצים לקשר אליה.
interval - פאראמטר int שאומר בעוד כמה זמן לקרוא לפונקציה. 1000 = שנייה.
repeating - פאראמטר int שבוחר אם לחזור על הפונקציה.
format[] - הגדרת הפורמט לפאראמטרים.
params - הפאראמטרים, מותר לשים אינסוף מכל סוג בדיוק כמו בפונקציה format().
דוגמא
הדוגמא הפעם תהיה שונה.
אני יסביר לאט לאט על הקוד כי הוא די מסובך בהתחלה, בדרך כלל...
אם לדוגמא אנחנו רוצים לתת קיק לשחקן בעוד 3 שניות מאז שהוא נכנס.
יש לנו את הפונקציה SetKick(playerid), אבל אנחנו לא יכולים להשתמש בSetTimer - מה יהיה עם playerid כאשר אנחנו משתמשים בSetTimer? כלום.
הוא ייחשב כ0.
לכן אנחנו צריכים להשתמש בSetTimerEx כדי לקשר לפונקציה עם פאראמטרים.
SetTimerEx("SetKick",3000,0,"d",playerid);
את הקוד הזה נשים בOnPlayerConnect.
למה SetKick? - כדי לקשר אל SetKick.
3000? - כדי לתת את הקיק בעוד 3 שניות (שוב, 1000 = שנייה).
0? - כדי לתת קיק פעם אחת, כמובן.
"d"? - כאן הגענו לחלק הקשה. בגלל שהפאראמטר הסופי והיחיד שלנו הוא playerid והוא מסוג int (מספר), אנחנו עושים "d". לפי הformat זה %d.
במידה ויש לנו SetKick(playerid,reason[]); יש לנו גם פאראמטר string.
SetTimerEx("SetKick",3000,0,"ds",playerid,reason);
d = playerid = %d
s = reason = %s
אם יש מספר (int) נשתמש בd או i.
אם יש טקסט (string) נשתמש בs.
אם יש מספר float נשתמש בf.
וכו'...
לפי המשתנים של הformat.
KillTimer
בפונקציה הזאת אנחנו מפסיקים טיימר שיש לו repeating 1, שחוזר על עצמו.
הפונקציה
SetTimer(function[],interval,repeating);
פאראמטרים
timerid = פאראמטר int, המספר הסידורי של הטיימר.
דוגמא
new thetimertimes=0;
public 
OnGameModeInit()
{
    
times 0;
    
thetimer SetTimer("PrintCredits",60000,1);
    return 
1;
}
forward PrintCredits();
public 
PrintCredits()
{
    
times++;
    print(
"credits..");
    print(
"bla bla bla");
    if(
times == 3KillTimer(thetimer);
    return 
1;

בקוד הזה, הפסקנו את הטיימר של הקרדיטים שייצרנו בהתחלה, אחרי 3 פעמים שהוא פעל.
ככה שבכל דקה יופיע
"credits..
bla bla bla"
על חלון הקונסול רק 3 פעמים.


gmR Amit


חזרה לראש העמוד

האווטר המגניב של owner_way

מצליחן

הודעות: 658

חבר בקהילת: -

מנותק

מנותק

#2   פורסם: 26.07, 16:07

אחלה השקע אחי


חזרה לראש העמוד

האווטר המגניב של d[0 _o]b

שואף לשלמות

הודעות: 3,687

חבר בקהילת: -

מנותק

מנותק

#3   פורסם: 26.07, 16:17

אוי תודה אמית עזר לי

ד"א אתה יכול להכין מדריך על המילה השמורה Bool
ראיתי במדריך שלך על מילים שמורות אבל לא כל כך הבנתי אתה יכול להכין ?
עם דוגמה?
תודה


|לעזרה| ICQ : 389169879 | בפרטי בפורום|


^^זה בנשמע^^
תגיבו בבקשה
http://forum.vgames.co.il/showthread...31#post2293731
Mr_SandwicH - לשעבר


חזרה לראש העמוד

האווטר המגניב של Sk8erBoi

שואף לשלמות

הודעות: 3,476

חבר בקהילת: -

מנותק

מנותק

#4   פורסם: 26.07, 17:29

ואי ואי ואי
עכשיו גנא ישתגיע ממך
תודה רבה עמית


[LorD]ScoRPionS[C]
העקרב והאגדה

http://forum.vgames.co.il/showthread.php?t=1111978

Wari U


חזרה לראש העמוד

האווטר המגניב של NikeShox

נינג'ה בלגי

הודעות: 1,827

חבר בקהילת: -

מנותק

מנותק

#5   פורסם: 26.07, 18:05

יפה




מתכנת ראשי שרת vGames 5 Stunts & Races


חזרה לראש העמוד

LeL

האווטר המגניב של LeL

 צוות ניהול GTA

הודעות: 8,190

חבר בקהילת: -

מנותק

מנותק

#6   פורסם: 27.07, 01:56

תודה האמת כבר הצלחתי לעשות טיימר במוד BF2 עם PLAYERID
אבל הסברתה לי על הפרמטרים וזה מה שחיפשתי, תודה! =]


LeL
פרשתי מניהול GTA

מספר האנשים שראו את החתימה שלי מהתאריך 14/2/09


חזרה לראש העמוד

האווטר המגניב של GiP YossI

משתמש ותיק

הודעות: 5,136

חבר בקהילת: -

מנותק

מנותק

#7   פורסם: 27.07, 15:21

תודה מתוקי,ואיך אפשר בלי המילה החשובה שצריכים בכל מדריך טוב?
לינקייה!!!


תמונה אחת שווה אלף מילים:


תעתיקו לחתימה שלכם!


חזרה לראש העמוד

האווטר המגניב של RealistiC_

עילוי

הודעות: 10,995

חבר בקהילת: -

מנותק

מנותק

#8   פורסם: 27.07, 16:31

תודה עמית.


Samp Player
Name: [LorD]RealistiC_
Clan: LorD Rulezz


אם אתם צריכים אותי:
dor1325@gmail.com



חזרה לראש העמוד

משתמש עצבני

הודעות: 205

חבר בקהילת: -

מנותק

מנותק

#9   פורסם: 27.07, 17:58

תודה עמית !


מעצב חתימות מתחיל

קרדיט לי על הסוסה למעלה!!!
לגלריה[שווה כניסה]
לחצו פה


חזרה לראש העמוד

האווטר המגניב של Yossi_Lee

משתמש צעיר

הודעות: 50

חבר בקהילת: -

מנותק

מנותק

#10   פורסם: 28.07, 18:09

מלךQ!


SA:MP RolePlay Player


חזרה לראש העמוד

האווטר המגניב של Mr_fire

מודל לחיקוי

הודעות: 2,539

חבר בקהילת: -

מנותק

מנותק

#11   פורסם: 29.07, 19:12

מדריך נחמד.. תודה..!


עברתי את ה-2500!!
IDF - Israel Defense Force
Admin Vgames 3 Death Match
מדריכים שלי:
:My FilterScripts


חזרה לראש העמוד
1

 

 
משחקי מחשב, פלייסטיישן 1-2-3, נינטנדו ואקסבוקס קונים במונסטר
 

 

הגדרות נושא
אפשרויות הצגת נושא