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


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

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

 מתכנת שרת DeathMatch

הודעות: 2,575

חבר בקהילת: -

מנותק

מנותק

#1   פורסם: 28.12, 15:17

ברירת מחדל [מדריך] RaceCheckpoints


ראיתי שיש ביקוש לזה ובכללי הקטע הזה קצת מסובך, הוא היה בעייתי גם לי כשהתחלתי ללמוד אותו.
אני אדגים לכם את זה על חצי מערכת מירוצים (לכל אלה שאוהבים לקחת קודים ממדריכים - אתם לא תצליחו כאן, כי זה חצי קוד וזה רק דוגמה).
אנחנו צריכים 2 משתנים:
new racecp[MAX_PLAYERS];
new 
Float:racecps[][3] =
{
    {
0.0,0.0,0.0},
    {
0.0,0.0,0.0},
    {
0.0,0.0,0.0},
    {
0.0,0.0,0.0}
}; 
הראשון ייסמל את מספר הצ'קפוינט הנוכחי של השחקן.
השני הוא "רשימה" של צ'קפוינטים אליהם השחקן ייצטרך להגיע.
שימו לב: לא חייב לבנות עם זה מירוץ, אני אישית השתמשתי בזה גם לדריפטים, ויש לזה עוד המון שימושים, הכל תלוי בכם.
כדי להראות לשחקן צ'קפוינט כשהוא מצטרף למירוץ, אנחנו צריכים להשתמש בקוד הבא:
SetPlayerRaceCheckpoint(playerid,0,racecps[0][0],racecps[0][1],racecps[0][2],racecps[1][0],racecps[1][1],racecps[1][2]); 
הסבר על פונקציות המירוץ:
SetPlayerRaceCheckpoint(playerid,model,x,y,z,nextx ,nexty,nextz);
playerid - האיידי של השחקן שלו נראה את הצ'קפוינט
model - סוג הצ'קפוינט (מידע בהמשך)
x,y,z - פרמטרי Float המסמלים את מיקום הצ'קפוינט
nextx,nexty,nextz - פרמטרי Float המסמלים את מיקום הצ'קפוינט הבא (אתם בטח שואלים את עצמכם למה צריך את זה: זה כדי להציג במפה אייקון קטן של הצ'קפוינט הבא + לדעת לאן לכוון את החץ שיש על חלק ממודלי הצ'קפוינט).
DisablePlayerRaceCheckpoint(playerid);
playerid - האיידי של השחקן שלו נמחק את הצ'קפוינט

איך ממשיכים מכאן?
אנחנו צריכים לדאוג שכל פעם שהשחקן נכנס לצ'קפוינט מירוץ, יוצג לפניו צ'קפוניט מירוץ חדש, וכמובן למחוק את הקודם.
לשם כך יש לנו את הפונקציה OnPlayerEnterRaceCheckpoint (ומי שרוצה לעשות את זה כשהשחקן יוצא מצ'קפוינט המירוץ, יכול להשתמש גם בOnPlayerLeaveRaceCheckpoint).
public OnPlayerEnterRaceCheckpoint(playerid)
{
    if(
racecp[playerid] == sizeof(racecps)-1
    
{
        
// השחקן נכנס לצ'קפוינט האחרון, הוא ניצח.
        
racecp[playerid] = 0;
    }
    else
    {
        if(
racecp[playerid] == sizeof(racecps)-2)
   
SetPlayerRaceCheckpoint(playerid,1,racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2],racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2]);
            
// ^ אם הצ'קפוינט של השחקן הוא הצ'קפוינט שלפני האחרון... להראות צ'קפוינט עם מודל 1 (קו סיום) + להראות את הצ'קפוינט הבא כאילו זה הצ'קפוינט הזה.
        
else
   
SetPlayerRaceCheckpoint(playerid,0,racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2],racecps[racecp[playerid]+1][0],racecps[racecp[playerid]+1][1],racecps[racecp[playerid]+1][2]);
            
// ^ אם הצ'קפוינט הזה הוא לא האחרון ולא לפני האחרון... להראות את הצ'קפוינט רגיל
        
racecp[playerid]++;
        
// ^ להוסיף 1 למשתנה הצ'קפוינט של השחקן
    
}
    return 
1;

מודלים של צ'קפוינטים:
0 - רגיל עם חץ
1 - קו סיום עם דגל עליו
2 - צ'קפוינט רגיל, כמו SetPlayerCheckpoint
3 - עיגול
4 - עיגול סיום


gmR Amit


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

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

HDesign

הודעות: 3,293

חבר בקהילת: -

מנותק

מנותק

#2   פורסם: 28.12, 17:46

שמת אחרי כל playerid שתי [[ וגם יש כאלה ששחכת ליסגור S:

עריכה: גם לי יש ת'אירור הזה O:

נערך לאחרונה על ידי Hill, 28.12 בשעה 17:51.


Yossi
Email: Yossi.Genin@Gmail.Com
Hill Design
Pawno Scripter



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

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

 מנהל פורום IV

הודעות: 2,132

חבר בקהילת: -

מחובר

מחובר

#3   פורסם: 28.12, 18:55

ואיי עמית אני אוהב אותך!!!!!!
עזרת לי כל-כך!#!@#!@#
תודה תודה תודה..!@#

ו-BadDad הארור הזה אומר שלא כתבת את כל הדברים לפונקציה...
למשל אני ירשום SendClientMessage ככה:
SendClientMessage(playerid,"שלום"); 
אני יקבל ארור כמו שלך כי שחכתי לירשום את הצבע (color) של ההודעה...
מקווה שהבת...




שחקן בקלאן Men In Black
לשעבר OmeRinG למי שלא יודע...
מנהל קהילת GTA IV


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

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

מודל לחיקוי

הודעות: 2,388

חבר בקהילת: -

מחובר

מחובר

#4   פורסם: 28.12, 19:20

OmeRinG
ציטוט:
צפה בהודעה
ואיי עמית אני אוהב אותך!!!!!!
עזרת לי כל-כך!#!@#!@#
תודה תודה תודה..!@#

ו-BadDad הארור הזה אומר שלא כתבת את כל הדברים לפונקציה...
למשל אני ירשום SendClientMessage ככה:
SendClientMessage(playerid,"שלום"); 
אני יקבל ארור כמו שלך כי שחכתי לירשום את הצבע (color) של ההודעה...
מקווה שהבת...
נכון עומר אני ביקשתי נממנו להכין

תודה תוןדה תודה תודה עמית!!!
אני מת עליך


samp: [gmR]N1trO
Ventrilo: gmR N1trO
GTA IV Live: OmeRDiE

הנהלת GTA IV

מעצב חתימות מומחה
אדמין בשרת Vgames 3 ואחרי פעילויות


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

משתמש חדש

הודעות: 11

חבר בקהילת: -

מנותק

מנותק

#5   פורסם: 28.12, 23:13

D:

מגניב ,

אבל כבר סיימתי לבנות את המערכת שלי


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

משתמש חדש

הודעות: 18

חבר בקהילת: -

מנותק

מנותק

#6   פורסם: 29.12, 00:37

:]] , אני משתמש בשיטה יותר קלה , כבר יש לי מערכת מירוצים. מדריך נחמד.


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

האווטר המגניב של «`BooMaN»

ס.מנהל קהילת Left 4 Dead

הודעות: 8,215

חבר בקהילת: -

מחובר

מחובר

#7   פורסם: 29.12, 14:05

תודה רבה עמית!!!


בברכה דוד,
סגן מנהל קהילת Left 4 Dead.
יצירת קשר: VgBooMaN@Gmail.Com
"גם בימים הקשים, אקום מהקרשים ולעולם אשא דגלך בגאווה."


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

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

נינג'ה בלגי

הודעות: 1,827

חבר בקהילת: -

מנותק

מנותק

#8   פורסם: 10.01, 10:49

====== זה לא הקפצה זה עדיין בעמוד הראשי=======

יש לי בעיה.
בשורה הזו:
SetPlayerRaceCheckpoint(playerid,1,jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2],jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2]); 
ובזו:
SetPlayerRaceCheckpoint(playerid,0,jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2],jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2]); 
יש לי את ההזהרה הזו:
number of arguments does not match definition 




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


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

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

מודל לחיקוי

הודעות: 2,388

חבר בקהילת: -

מחובר

מחובר

#9   פורסם: 10.01, 14:12

NikeShox
ציטוט:
צפה בהודעה
====== זה לא הקפצה זה עדיין בעמוד הראשי=======

יש לי בעיה.
בשורה הזו:
SetPlayerRaceCheckpoint(playerid,1,jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2],jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2]); 
ובזו:
SetPlayerRaceCheckpoint(playerid,0,jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2],jeepcps[jeepcp[playerid]][0],jeepcps[jeepcp[playerid]][1],jeepcps[jeepcp[playerid]][2]); 
יש לי את ההזהרה הזו:
number of arguments does not match definition 

זה אמור ליהיות ככה
SetPlayerRace(playeridtypeFloat:xFloat:yFloat:zFloat:nextxFloat:nextyFloat:nextzFloat:size
שים לב... ><"

חסר לך Float:Size


samp: [gmR]N1trO
Ventrilo: gmR N1trO
GTA IV Live: OmeRDiE

הנהלת GTA IV

מעצב חתימות מומחה
אדמין בשרת Vgames 3 ואחרי פעילויות


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

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

 מתכנת שרת DeathMatch

הודעות: 2,575

חבר בקהילת: -

מנותק

מנותק

#10   פורסם: 28.12, 21:04

תודה תודה ^_^
BadDad
ציטוט:
צפה בהודעה
יש לי אירורים.
E:&icirc;&ugrave;&ccedil;÷&eacute;&iacute;&ugrave;&oslash;&uacute;&eacute;&iacute; &aacute;&eacute;&uacute;&eacute;&eacute;&iacute;&ugrave;&oslash;&uacute; &aacute;&eacute;&uacute;&eacute3gamemodesrace.pwn(160) : warning 202number of arguments does not match definition 
E:&icirc;&ugrave;&ccedil;÷&eacute;&iacute;&ugrave;&oslash;&uacute;&eacute;&iacute; &aacute;&eacute;&uacute;&eacute;&eacute;&iacute;&ugrave;&oslash;&uacute; &aacute;&eacute;&uacute;&eacute3gamemodesrace.pwn(163) : warning 202number of arguments does not match definition 
160:
SetPlayerRaceCheckpoint(playerid,1,racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2],racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2]); 
163:

SetPlayerRaceCheckpoint(playerid,0,racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2],racecps[racecp[playerid]+1][0],racecps[racecp[playerid]+1][1],racecps[racecp[playerid]+1][2]); 
כמו שרשמתי מה שיש במדריך זה אפילו לא חצי ממערכת מירוצים, זה רק דוגמה איך להתחיל, משהו שיילמד אותכם איך להכין בעצמכם.
וכמו שרשמתי - אם תקחו מכאן זה לא ייעבוד.
אני מציע לך בחום לתכנת רק דברים שאתה מבין ויודע.


gmR Amit


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

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

נינג'ה בלגי

הודעות: 1,827

חבר בקהילת: -

מנותק

מנותק

#11   פורסם: 29.12, 09:44

BadDad
ציטוט:
צפה בהודעה
יש לי אירורים.
E:&icirc;&ugrave;&ccedil;÷&eacute;&iacute;&ugrave;&oslash;&uacute;&eacute;&iacute; &aacute;&eacute;&uacute;&eacute;&eacute;&iacute;&ugrave;&oslash;&uacute; &aacute;&eacute;&uacute;&eacute3gamemodesrace.pwn(160) : warning 202number of arguments does not match definition 
E:&icirc;&ugrave;&ccedil;÷&eacute;&iacute;&ugrave;&oslash;&uacute;&eacute;&iacute; &aacute;&eacute;&uacute;&eacute;&eacute;&iacute;&ugrave;&oslash;&uacute; &aacute;&eacute;&uacute;&eacute3gamemodesrace.pwn(163) : warning 202number of arguments does not match definition 
160:
SetPlayerRaceCheckpoint(playerid,1,racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2],racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2]); 
163:

SetPlayerRaceCheckpoint(playerid,0,racecps[racecp[playerid]][0],racecps[racecp[playerid]][1],racecps[racecp[playerid]][2],racecps[racecp[playerid]+1][0],racecps[racecp[playerid]+1][1],racecps[racecp[playerid]+1][2]); 

עזוב מתן אתה לא יודע לתכנת טוב ואם התוקפניות שאתה נותן לאנשים עדיף שלא תלמד




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


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

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

שואף לשלמות

הודעות: 4,783

חבר בקהילת: -

מנותק

מנותק

#12   פורסם: 29.12, 12:20

NikeShox
ציטוט:
צפה בהודעה
עזוב מתן אתה לא יודע לתכנת טוב ואם התוקפניות שאתה נותן לאנשים עדיף שלא תלמד
מתן??
מי זה??? חחחחחחחחחח
זה עומר.. xD..






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

 

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

 

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