SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Archive

 
 
Thread Tools Display Modes
Old 20/04/2012, 07:01 AM   #1
lonako45
Big Clucker
 
Join Date: Feb 2012
Posts: 185
Reputation: 0
Default שימוש בלולאה ..

אז ככה
כל המדריכים על לולאות זה איך לשלוח הודעות כמה פעמים
אני רוצה שאם נגיד שחקן עושה פקודה
/a q
זה משגר אותו לאיזה שהוא ספאון במפה
עשיתי ת'פקודה הכל סבבה
אבל מה , השחקן יכול לעשות תפקודה /a q אלף פעם
בקיצור
אני רוצה שאם השחקן עושה /a q
זה יכתוב לו "כבר יצאת מהפעילות אנא חכה שהיא תסתיים"
עזרה?
lonako45 is offline  
Old 22/06/2012, 04:34 PM   #2
[T]he3DeVi[L]`
Little Clucker
 
Join Date: Jun 2012
Location: Israel
Posts: 8
Reputation: 0
Default Re: שימוש בלולאה ..

היי Lonako45,
קודם כל, יש מדריך מעולה ללולאות בלינקיה שלי בFxp (שם המשתמש שלי שם זה _EvilBoy_, ניהלתי שם בעבר..)
שנית,
אין טעם בלולאה במקרה הזה..
הרי השחקן אמור להשתגר בצורה ראנדומלית (אקראית) לX,Y,Z מסויים שמוצבים במערך
Code:
new Float:Spawns[][3] = {
{X,Y,Z},
{X,Y,Z},
{X,Y,Z}
bla bla bla..
};
עכשיו, בשביל שהפקודה תתאפשר לשחקן פעם אחת תיצור משתנה עם מערך בגודל MAX_PLAYERS, כדי שתוכל לייחס אותו לשחקן מסויים ופשוט אתה משנה את הערך של המשתנה כשהשחקן מבצע את הפקודה, הערך בעצם מהווה אם השחקן כבר השתמש בפקודה או לא
Code:
new bool: variableName[MAX_PLAYERS char];
if(strEqual(cmdtext, "/a q", true)) {
if(variableName[playerid]) return SendClientMessage(playerid, -1, "message");
new playerRand = random(sizeof(Spawns));
SetPlayerPos(playerid, Spawns[playerRand][0], Spawns[playerRand][1], Spawns[playerRand][2]);
return variableName[playerid] = true;
}
הסבר לגבי הפקודה:
השוואת סטרינגים פשוטה, אם cmdtext (פרמטר בפאבליק OPCT) שווה ל/a q
במידה וכן, בדיקה אם ערך המשתנה כלפי השחקן חיובי (השחקן כבר השתמש בפקודה), תוחזר לשחקן הודעה
שורה שלישית בפקודה - יצירת משתנה "playerRand"
random - ברור כבר..
sizeof - מחזיר את מספר האיברים/אלמנטים במערך
בקיצור, מחזיר איבר מהמערך בצורה ראנדומלית
אחרי הזה זה בעצם שם את השחקן בposition (מיקום) ולבסוף פקודת השמה למשתנה - במילים אחרות שינוי ערך המשתנה כלפי השחקן ל true
אגב, אם הבנתי נכון זה מיועד לפעילות, אתה צריך גם לוודא שהשחקן נמצא בפעילות בכלל

לירון
[T]he3DeVi[L]` is offline  
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
מחפש מישהו שיכול לתקן לי את הMoveObject במוד EladNahum Archive 2 20/02/2012 01:57 PM
שאלה|יש פונקציה שבודקת על איזה מקש השחקן ל +Yuval+ Archive 9 01/12/2009 12:08 PM


All times are GMT. The time now is 02:32 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.