תפריט ראשי

תוצאות 1 עד 13 מ 13
  1. #1
    הצטרף בתאריך
    17.10.2007
    עיר
    אשקלון
    הודעות
    1,456
    דרך אגב, לא יודע למה כתבתי "בעיה מוזרה עם הטיימר", אולי בגלל שאני לא מרגיש כל כך טוב... אבל זה קשור ל MoveObject .
    מי שיוכל לשנות את הכותרת, תודה.



    טוב...ראשית כל.
    הקוד:
    בהתחלה
    [PHP]forward Gate(playerid)[/PHP]


    ואז מתחת לפאבליק OnGameModeInit()

    [PHP]SetTimer("Gate",100,1);[/PHP]


    ואז את הפאבליק עצמו:

    [PHP]public Gate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid))//lspd
    {
    if(PlayerToPoint(2.0,playerid,246.2703,72.2759,100 3.6406))
    {
    MoveObject(pdigate,249.4775,73.2434,1003.6406,2);
    }
    else
    {
    MoveObject(pdigate,246.4401,72.3780,1003.6406,2);
    }
    }
    if(gTeam[playerid] == 2 || IsAnInstructor(playerid))//dmv
    {
    if(PlayerToPoint(10.0,playerid,1415.9313,-1648.6454,13.3828))
    {
    MoveObject(dmvgate,1415.864258,-1655.367310,12.713753,2);
    }
    else
    {
    MoveObject(dmvgate,1415.708130,-1644.765625,12.549690,2);
    }
    }
    if(gTeam[playerid] == 2 || IsAMedic(playerid))//hospital
    {
    if(PlayerToPoint(2.0,playerid,252.9705,109.0409,10 03.2188))
    {
    MoveObject(hgate,253.7998,112.0991,1003.2188,2);
    }
    else
    {
    MoveObject(hgate,253.3172,109.0428,1003.2188,2);
    }
    }
    if(gTeam[playerid] == 2 || IsAMedic(playerid))//hospital
    {
    if(PlayerToPoint(2.0,playerid,239.8898,117.5917,10 03.2257))
    {
    MoveObject(hgate2,238.9703,120.5885,1003.2188,2);
    }
    else
    {
    MoveObject(hgate2,239.6383,117.5649,1003.2188,2);
    }
    }
    if(gTeam[playerid] == 2 || IsACop(playerid))//lspd
    {
    if(PlayerToPoint(15.0,playerid,1587.8142,-1638.0837,13.3975))
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,5.7200,2);
    }
    else
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,12.7200,2);
    }
    }
    }
    return 1;
    }[/PHP]


    ועכשיו לבעיה:
    דבר ראשון, כמובן שיש הגדרה לכל ה lspdgate וכו'.
    אבל הבעיה היא שכשאני נכנס, השער נפתח כאשר אני באותו הפאקשן המוגדר.
    אבל אם עוד מישהו נכנס (שגם באותו הפאקשן), והוא עומד ליד האובג'קט, הוא לא נפתח לו.
    זאת אומר שזה פועל על בנאדם אחד.
    אני לא יודע בדיוק מה הבעיה פה, לא יצא לי להתמודד עם בעיות מהסוג הזה o.O

    אתם יכולים לעזור לי?
    תודה מראש.
    נערך לאחרונה על ידי Xclusive; 08.01.2009 בשעה 20:46.
    שתף ב-Google+

  2. #2
    הצטרף בתאריך
    13.02.2008
    עיר
    נצרת עילית
    הודעות
    4,315
    אני חושב שאתה צריך להגדיר מישתנה לכל השרת ככה:
    [PHP]for(new i=0; i<MAX_PLAYERS; i++)[/PHP]
    ובPlayerToPoint אתה משנה ל-i
    וב-IsACop וכל מה שיש שמה.

    Xbox 360 Slim 250GB Owner
    HardUrchin7
    ^זמני^
    שתף ב-Google+

  3. #3
    הצטרף בתאריך
    17.10.2007
    עיר
    אשקלון
    הודעות
    1,456
    נכתב במקור על ידי Hill
    אני חושב שאתה צריך להגדיר מישתנה לכל השרת ככה:
    [PHP]for(new i=0; i<MAX_PLAYERS; i++)[/PHP]
    ובPlayerToPoint אתה משנה ל-i
    וב-IsACop וכל מה שיש שמה.
    לולאת for ?
    אני ינסה ויחזיר תשובה... תודה.

    עריכה: שיניתי הכל, לא עוזר.
    הנה הקוד:
    [PHP]public Gate(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    if(IsPlayerConnected(i))
    {
    if(gTeam[i] == 2 || IsACop(i))//pdi
    {
    if(PlayerToPoint(2.0,i,246.2703,72.2759,1003.6406) )
    {
    MoveObject(pdigate,249.4775,73.2434,1003.6406,2);
    }
    else
    {
    MoveObject(pdigate,246.4401,72.3780,1003.6406,2);
    }
    }
    if(gTeam[i] == 2 || IsAnInstructor(i))//dmv
    {
    if(PlayerToPoint(10.0,i,1415.9313,-1648.6454,13.3828))
    {
    MoveObject(dmvgate,1415.864258,-1655.367310,12.713753,2);
    }
    else
    {
    MoveObject(dmvgate,1415.708130,-1644.765625,12.549690,2);
    }
    }
    if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,252.9705,109.0409,1003.2188 ))
    {
    MoveObject(hgate,253.7998,112.0991,1003.2188,2);
    }
    else
    {
    MoveObject(hgate,253.3172,109.0428,1003.2188,2);
    }
    }
    if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,239.8898,117.5917,1003.2257 ))
    {
    MoveObject(hgate2,238.9703,120.5885,1003.2188,2);
    }
    else
    {
    MoveObject(hgate2,239.6383,117.5649,1003.2188,2);
    }
    }
    if(gTeam[i] == 2 || IsACop(i))//lspd
    {
    if(PlayerToPoint(15.0,i,1587.8142,-1638.0837,13.3975))
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,5.7200,2);
    }
    else
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,12.7200,2);
    }
    }
    }
    return 1;
    }[/PHP]
    נערך לאחרונה על ידי Xclusive; 09.01.2009 בשעה 10:04.
    שתף ב-Google+

  4. #4
    הצטרף בתאריך
    10.08.2007
    הודעות
    3,292
    [PHP]
    public Gate()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    if(IsPlayerConnected(i))
    {
    if(gTeam[i] == 2 || IsACop(i))//pdi
    {
    if(PlayerToPoint(2.0,i,246.2703,72.2759,1003.6406) )
    {
    MoveObject(pdigate,249.4775,73.2434,1003.6406,2);
    }
    else
    {
    MoveObject(pdigate,246.4401,72.3780,1003.6406,2);
    }
    }
    if(gTeam[i] == 2 || IsAnInstructor(i))//dmv
    {
    if(PlayerToPoint(10.0,i,1415.9313,-1648.6454,13.3828))
    {
    MoveObject(dmvgate,1415.864258,-1655.367310,12.713753,2);
    }
    else
    {
    MoveObject(dmvgate,1415.708130,-1644.765625,12.549690,2);
    }
    }
    if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,252.9705,109.0409,1003.2188 ))
    {
    MoveObject(hgate,253.7998,112.0991,1003.2188,2);
    }
    else
    {
    MoveObject(hgate,253.3172,109.0428,1003.2188,2);
    }
    }
    if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,239.8898,117.5917,1003.2257 ))
    {
    MoveObject(hgate2,238.9703,120.5885,1003.2188,2);
    }
    else
    {
    MoveObject(hgate2,239.6383,117.5649,1003.2188,2);
    }
    }
    if(gTeam[i] == 2 || IsACop(i))//lspd
    {
    if(PlayerToPoint(15.0,i,1587.8142,-1638.0837,13.3975))
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,5.7200,2);
    }
    else
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,12.7200,2);
    }
    }
    }
    return 1;
    }
    [/PHP]

    אם גם לא עובד תנסה להוריד מסוף הפאבליק את ה return 1;
    שתף ב-Google+

  5. #5
    הצטרף בתאריך
    17.10.2007
    עיר
    אשקלון
    הודעות
    1,456
    נכתב במקור על ידי NonTat
    [PHP]
    public Gate()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    if(IsPlayerConnected(i))
    {
    if(gTeam[i] == 2 || IsACop(i))//pdi
    {
    if(PlayerToPoint(2.0,i,246.2703,72.2759,1003.6406) )
    {
    MoveObject(pdigate,249.4775,73.2434,1003.6406,2);
    }
    else
    {
    MoveObject(pdigate,246.4401,72.3780,1003.6406,2);
    }
    }
    if(gTeam[i] == 2 || IsAnInstructor(i))//dmv
    {
    if(PlayerToPoint(10.0,i,1415.9313,-1648.6454,13.3828))
    {
    MoveObject(dmvgate,1415.864258,-1655.367310,12.713753,2);
    }
    else
    {
    MoveObject(dmvgate,1415.708130,-1644.765625,12.549690,2);
    }
    }
    if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,252.9705,109.0409,1003.2188 ))
    {
    MoveObject(hgate,253.7998,112.0991,1003.2188,2);
    }
    else
    {
    MoveObject(hgate,253.3172,109.0428,1003.2188,2);
    }
    }
    if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,239.8898,117.5917,1003.2257 ))
    {
    MoveObject(hgate2,238.9703,120.5885,1003.2188,2);
    }
    else
    {
    MoveObject(hgate2,239.6383,117.5649,1003.2188,2);
    }
    }
    if(gTeam[i] == 2 || IsACop(i))//lspd
    {
    if(PlayerToPoint(15.0,i,1587.8142,-1638.0837,13.3975))
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,5.7200,2);
    }
    else
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,12.7200,2);
    }
    }
    }
    return 1;
    }
    [/PHP]

    אם גם לא עובד תנסה להוריד מסוף הפאבליק את ה return 1;
    ניסיתי כל מה שאמרת, לא עובד....
    יש רעיונות נוספים?
    שתף ב-Google+

  6. #6
    הצטרף בתאריך
    17.10.2007
    עיר
    אשקלון
    הודעות
    1,456
    נכתב במקור על ידי iCoNN
    ניסיתי כל מה שאמרת, לא עובד....
    יש רעיונות נוספים?
    אפשר עזרה בבקשה...?
    שתף ב-Google+

  7. #7
    הצטרף בתאריך
    10.08.2007
    הודעות
    3,292
    [PHP]public Gate()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(gTeam[i] == 2 || IsACop(i))//pdi
    {
    if(PlayerToPoint(2.0,i,246.2703,72.2759,1003.6406) )
    {
    MoveObject(pdigate,249.4775,73.2434,1003.6406,2);
    }
    else
    {
    MoveObject(pdigate,246.4401,72.3780,1003.6406,2);
    }
    }
    else if(gTeam[i] == 2 || IsAnInstructor(i))//dmv
    {
    if(PlayerToPoint(10.0,i,1415.9313,-1648.6454,13.3828))
    {
    MoveObject(dmvgate,1415.864258,-1655.367310,12.713753,2);
    }
    else
    {
    MoveObject(dmvgate,1415.708130,-1644.765625,12.549690,2);
    }
    }
    else if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,252.9705,109.0409,1003.2188 ))
    {
    MoveObject(hgate,253.7998,112.0991,1003.2188,2);
    }
    else
    {
    MoveObject(hgate,253.3172,109.0428,1003.2188,2);
    }
    }
    else if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,239.8898,117.5917,1003.2257 ))
    {
    MoveObject(hgate2,238.9703,120.5885,1003.2188,2);
    }
    else
    {
    MoveObject(hgate2,239.6383,117.5649,1003.2188,2);
    }
    }
    else if(gTeam[i] == 2 || IsACop(i))//lspd
    {
    if(PlayerToPoint(15.0,i,1587.8142,-1638.0837,13.3975))
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,5.7200,2);
    }
    else
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,12.7200,2);
    }
    }
    }
    }
    return 1;
    }[/PHP]

    תנסה..
    ושוב אם לא פועל תנסה להוריד את הRETURN 1
    שתף ב-Google+

  8. #8
    הצטרף בתאריך
    17.10.2007
    עיר
    אשקלון
    הודעות
    1,456
    נכתב במקור על ידי NonTat
    [PHP]public Gate()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(gTeam[i] == 2 || IsACop(i))//pdi
    {
    if(PlayerToPoint(2.0,i,246.2703,72.2759,1003.6406) )
    {
    MoveObject(pdigate,249.4775,73.2434,1003.6406,2);
    }
    else
    {
    MoveObject(pdigate,246.4401,72.3780,1003.6406,2);
    }
    }
    else if(gTeam[i] == 2 || IsAnInstructor(i))//dmv
    {
    if(PlayerToPoint(10.0,i,1415.9313,-1648.6454,13.3828))
    {
    MoveObject(dmvgate,1415.864258,-1655.367310,12.713753,2);
    }
    else
    {
    MoveObject(dmvgate,1415.708130,-1644.765625,12.549690,2);
    }
    }
    else if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,252.9705,109.0409,1003.2188 ))
    {
    MoveObject(hgate,253.7998,112.0991,1003.2188,2);
    }
    else
    {
    MoveObject(hgate,253.3172,109.0428,1003.2188,2);
    }
    }
    else if(gTeam[i] == 2 || IsAMedic(i))//hospital
    {
    if(PlayerToPoint(2.0,i,239.8898,117.5917,1003.2257 ))
    {
    MoveObject(hgate2,238.9703,120.5885,1003.2188,2);
    }
    else
    {
    MoveObject(hgate2,239.6383,117.5649,1003.2188,2);
    }
    }
    else if(gTeam[i] == 2 || IsACop(i))//lspd
    {
    if(PlayerToPoint(15.0,i,1587.8142,-1638.0837,13.3975))
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,5.7200,2);
    }
    else
    {
    MoveObject(lspdgate,1588.5617,-1638.0871,12.7200,2);
    }
    }
    }
    }
    return 1;
    }[/PHP]

    תנסה..
    ושוב אם לא פועל תנסה להוריד את הRETURN 1
    ניסיתי כבר ....
    לא עובד....
    בגלל זה אמרתי, בעיה מוזרה, זה לא קרה לי אף פעם עם MoveObject...
    שתף ב-Google+

  9. #9
    הצטרף בתאריך
    10.08.2007
    הודעות
    3,292
    תבדוק שה gteam בכלל טוב ותבדוק אם גם ה ISACOP וכל זה גם כמו שצריך וכמו שאמור להיות
    שתף ב-Google+

  10. #10
    הצטרף בתאריך
    17.10.2007
    עיר
    אשקלון
    הודעות
    1,456
    נכתב במקור על ידי NonTat
    תבדוק שה gteam בכלל טוב ותבדוק אם גם ה ISACOP וכל זה גם כמו שצריך וכמו שאמור להיות
    זה עובד רק לראשון שנכנס לשרת, זה משהו ב if(OnPlayerConnect(playerid)
    אם אני לא טועה.... ניסיתי i, וניסיתי playerid.

    לא עזר...פעם אחת הגדרתי ש playerid , ואז זה עשה שמי שראשון שנכנס לשרת, השער נפתח לו,
    וכשהגדרתי i אז מי שנכנס אחרון רק לו זה נפתח XD
    שתף ב-Google+

  11. #11
    הצטרף בתאריך
    10.08.2007
    הודעות
    3,292
    תוכל להראות את הפונקציה isacop? אולי שם משהו לא בסדר
    או שבגלל את ה GTEAM עשית שבכניסה לשרת זה יגדיר לשחקן באיזה קבוצה הוא?
    שתף ב-Google+

  12. #12
    הצטרף בתאריך
    17.10.2007
    עיר
    אשקלון
    הודעות
    1,456
    נכתב במקור על ידי NonTat
    תוכל להראות את הפונקציה isacop? אולי שם משהו לא בסדר
    או שבגלל את ה GTEAM עשית שבכניסה לשרת זה יגדיר לשחקן באיזה קבוצה הוא?
    זה לא קשור ל GTEAM, או ל ISACOP....
    משהו בפונקציה עצמה, אני חושב שפשוט אני צריך להגדיר דבר כזה:
    if(IsPlayerConnected(playerid))
    לכל שער,
    ולסיים עם return 1;

    ובסוף (אחרי כל השערים)
    לסיים עם return 0;
    שתף ב-Google+

  13. #13
    הצטרף בתאריך
    10.08.2007
    הודעות
    3,292
    שמע אם אתה לא רוצה להקשיב אז תעשה לבד
    אני אומר לך שזה צריך להיות איך שהבאתי למעלה ואם זה לא פועל אז יש לך בעיה או ב GTEAM או ב ISACOP

    בפאבליק של הטיימר שהוא עם הלולאה זה חייב לפעול אלה אם יש לך את הבאג כמו שאמרתי ב GTEAM או בISACOP

    ואני אומר לך את הדברים האלה בתור אחד שכבר בנה משהו כמו שאתה מנסה לעשות

    עריכה:
    יצא לי להסתכל לדיון ועלה לי לראש משהו
    תנסה לעשות את הבדיקה של המיקום(PLAYERTOPOINT) ואז אם הוא שוטר ואם הוא בקבוצה הזאת
    נערך לאחרונה על ידי Eliran.; 16.01.2009 בשעה 14:24.
    שתף ב-Google+

הרשמה