Satla-Zone
התחברות
מציג תוצאות 1 עד 5 מתוך 5

אשכול: מדריך|Move Object

  1. #1
    הסמל האישי של o F i R
    o F i R o F i R מנותק נינג'ה
    תאריך הצטרפות
    22/10/08
    שם פרטי
    אופיר
    הודעות
    3,865
    קיבל לייק
    0 פעמים

    מדריך|Move Object

    כנסו לMTA שימו אובג'קט שער.. [מי שלא יודע שיקרא מדריכים על הMTA]
    עכשיו שימו את הXYZA שיצא לכם מהשער בפאבליק
    PHP Code:
    public OnGameModeInit() 
    ועכשיו שימו במוד למעלה כל ניו שאתם רוצים:
    PHP Code:
    new XXX
    ותעשו בהתחלה של הXYZA = XXX
    דוגמא:
    PHP Code:
    public OnGameModeInit()
    {
                
    SetGameModeText("Blank Script");
                
    AddPlayerClass(01958.37831343.157215.3746269.1425000000);
        
    XXX CreateObject(988,2052.997,843.7755,6.703125,0.000000,0.000000,89.448699);
                return 
    1;

    יופי,עכשיו נבנה את הפקודה.
    נלך לפאבליק
    PHP Code:
    public OnPlayerCommandText(playeridcmdtext[]) 
    והנה פקודה מוכנה:
    PHP Code:
    public OnPlayerCommandText(playeridcmdtext[])
    {
                if(
    strcmp(cmdtext"/open" ,true)==0)
        {
                
    MoveObject(XXX,2070.997,843.7755,6.703125,2);
                            return 
    1;
                }

                if(
    strcmp(cmdtext ,"/close" ,true)==0)
                {
                            
    MoveObject(XXX,2052.997,843.7755,6.703125,2);
                            return 
    1;
                }
                return 
    0;

    עכשיו שנו את הXYZ לאובג'קט שעשיתם בMTA רק משו קטן:אל תמחקו את הסוף של הMOVEONBJECT
    ,2
    זה המהירות של האובג'קט..
    עכשיו תשנו בפקודה OPEN את הXYZ קצת כמו בדוגמא..
    יופי,עכשיו אם אתם רוצים שהשער יזוז רק כשהשחקן יהיה באזור של האובג'קט צריכים את הפונקציה ONPLAYERPOINT
    למעלה במוד
    PHP Code:
    forward PlayerToPoint(Float:radiplayeridFloat:xFloat:yFloat:z); 
    למטה במוד
    PHP Code:
    public PlayerToPoint(Float:radiplayeridFloat:xFloat:yFloat:z)
    {
        if(
    IsPlayerConnected(playerid))
     {
      new 
    Float:oldposxFloat:oldposyFloat:oldposz;
      new 
    Float:tempposxFloat:tempposyFloat:tempposz;
      
    GetPlayerPos(playeridoldposxoldposyoldposz);
      
    tempposx = (oldposx -x);
      
    tempposy = (oldposy -y);
      
    tempposz = (oldposz -z);
      
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
      
    if (((tempposx radi) && (tempposx > -radi)) && ((tempposy radi) && (tempposy > -radi)) && ((tempposz radi) && (tempposz > -radi)))
      {
       return 
    1;
      }
     }
     return 
    0;

    עכשיו אותו פקודה רק אם הפונקציה:

    PHP Code:
    public OnPlayerCommandText(playeridcmdtext[])
    {
                if(
    strcmp(cmdtext"/open" ,true)==0)
        {
            if (
    PlayerToPoint(30playerid,2052.997,843.7755,6.703125))
      {


                
    MoveObject(XXX,2070.997,843.7755,6.703125,2);
            }
            else { 
    SendClientMessage(playeridCOLOR_GREY,"Destination is too far."); }
     }

                            return 
    1;
                }

    if(
    strcmp(cmdtext ,"/close" ,true)==0)
                {
            if (
    PlayerToPoint(30playerid,2052.997,843.7755,6.703125))
      {
                            
    MoveObject(XXX,2052.997,843.7755,6.703125,2);
            }
            else { 
    SendClientMessage(playeridCOLOR_GREY,"Destination is too far."); }
     }

                            return 
    1;
                }
                return 
    0;

    פשוט,לא?מקווה שהבנתם

    תהנו...

  2. #2
    הסמל האישי של DjLove
    DjLove DjLove מנותק גורו
    תאריך הצטרפות
    29/10/08
    שם פרטי
    סתיו
    הודעות
    2,825
    קיבל לייק
    1 פעמים
    יש לך סקייפ? אם כן תוסיף : staveitan1 יש לי כמה שאלות..

    עריכה :

    אני מחפש את ה ONGAMEMODE
    עושה שם new XXX
    [XXX= השם ]
    אחרי זה אני עושה את זה :

    {
    if(
    strcmp(cmdtext, "/open" ,true)==0
    )
    {
    MoveObject(XXX,2070.997,843.7755,6.703125,2
    );
    return
    1
    ;
    }

    if(
    strcmp(cmdtext ,"/close" ,true)==0
    )
    {
    MoveObject(XXX,2052.997,843.7755,6.703125,2
    );
    return
    1
    ;
    }
    return
    0
    ;
    }


    במקום ה XXX אני שם את השם שלי ב NEW
    ובמקום המס' אחרי ה XXX אני שם XYZ ואת ה-2 אני משאיר?
    * ב CLOSE זה המקורי וב OPEN זה מה שזה זז אליו?
    נערך בפעם האחרונה על ידי DjLove : 16/11/09 ב 16:12

  3. #3
    הסמל האישי של o F i R
    o F i R o F i R מנותק נינג'ה
    תאריך הצטרפות
    22/10/08
    שם פרטי
    אופיר
    הודעות
    3,865
    קיבל לייק
    0 פעמים
    אבל אתה לא צריך רק לחפש ONGAMEMODE כנס לMTA תעשה אובג'קט תמיר אותו לPWN ותשים אותו שם ובהתחלה תעשה " = XXX"

  4. #4
    הסמל האישי של DjLove
    DjLove DjLove מנותק גורו
    תאריך הצטרפות
    29/10/08
    שם פרטי
    סתיו
    הודעות
    2,825
    קיבל לייק
    1 פעמים
    תודה על העזרה בסקייפ, הבנתי..

  5. #5
    הסמל האישי של BanD[i]T
    BanD[i]T BanD[i]T מנותק ותיק
    תאריך הצטרפות
    27/02/09
    שם פרטי
    Mr.Đάvíd
    הודעות
    1,781
    קיבל לייק
    4 פעמים
    אחלה מדריך אופיר תודה.

נושאים דומים

  1. מדריך|Move Object [דרגה:מתחיל-מתקדם]
    על ידי Zachi_MeyeR בפורום Pawno & Scripting
    תגובות: 6
    הודעה אחרונה: 23/02/09, 14:46
  2. מדריך
    על ידי Prophet בפורום פח זבל
    תגובות: 10
    הודעה אחרונה: 10/07/05, 21:00
  3. מדריך גזעים/תפקידים
    על ידי Cloud בפורום Lineage II
    תגובות: 4
    הודעה אחרונה: 08/07/05, 16:08
  4. מדריך למסגרת עגולה בחתימה
    על ידי Ludacris בפורום חתימות וסמלים
    תגובות: 0
    הודעה אחרונה: 11/06/05, 11:46
  5. מדריך לניק מושקע
    על ידי Ludacris בפורום חתימות וסמלים
    תגובות: 0
    הודעה אחרונה: 11/06/05, 11:44
eXTReMe Tracker