Kayıt Ol'maz iseniz Linkleri ve Resimleri Göremezsiniz.Eğer Kayıtlı'İsenizGiriş Yapın
Moderatör Alımları Başlamıştır.Başvuru için TIKLA

    v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]

    Paylaş

    TRneco58
    Yönetim
    Yönetim

    >>Rep Puanı : 208
    >>Teşekkür Puanı : 1
    >>Mesaj Sayısı : 75
    >>Kayıt tarihi : 03/03/11
    >>Yaş : 22
    Erkek >>Doğum tarihi : 23/08/95
    >>Nerden : İstanbul

    Cüzdan
    Altın Altın: n/a
    Para Para: n/a

    default v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]

    Mesaj tarafından TRneco58 Bir Cuma Mart 04, 2011 7:00 pm

    Beta sunucu dosyaları yayınlandığına göre buradan NPC yaratma gibi konularda yardım alabilirsiniz. Öncelikle size NPC yaratmayı göstereceğim.
    1 - Kaydedelim
    İlk olarak botumuzun yapacağı şeyleri kaydetmeliyiz, bu hareketlere göre bot istediğiniz her şeyi yapabilir. Örneğin mükemmel bir stunt hareketi yaptınız, bunu yaparken eğer kayıttaysanız o hareketi istediğiniz zaman botun yapmasını izleyebilir veya millete izletebilirsiniz. Kısaca bot, sizin yaptığınız şeyleri yapar.

    Nasıl kaydedeceğiz?

    Sunucumuzu açıp, npc_record filterscriptini aktif hale getiriyoruz(zaten aktif olmalı o şekliyle açarsanız) Oyuna girip, botumuzun araçta mı yoksa yürüyerek mi yapacağını belirliyoruz.

    * Eğer bot yürüyecekse /ofrecord [kayitismi],
    * Eğer bot araçla gidecekse /vrecord [kayitismi],

    yazıp istediğimizi yapıyoruz. Yürürken ateş edebilir ya da araçla drive-by yapabilirsiniz bot aynısını yapar.

    Kaydı durdurmak

    Kaydı durdurmak için /stoprecord yazıyoruz. Scriptfiles klasöründe kaydımız oluştu. Bu kaydı npcmodes > recordings klasörüne atıyoruz ve npc modumuzu yapmaya başlıyoruz.

    Kayıt yaparken püf noktalar:

    - Eğer kaydederken donduysanız, veya bir yere gidemeyecek durumdaysanız(yani silah skilliniz 0 ise ve sağa sola gitmeye çalışırsanız) bot da aynısını yapmak isteyeceğinden, o da gidiyormuş gibi görünecektir. Bu da hoş bir durum değil. Buna dikkat edin.
    2 - NPC Yaratalım!
    NPC yaratmak için, öncelikle npcmodes klasöründe bir npc modumuz olması gerekir. Bu mod, öyle çok büyük bir şey olmasa iyi olur.

    Başlayalım..

    Öncelikle NPC include'umuzu moda enjekte ediyoruz.

    Modun başına:
    Kod:
    #include <a_npc>
    Şimdi, modun başına şunları ekleyelim:
    Kod:
    #define KAYITISMI "naber"
    Burada yazdığım "naber", sizin kayıt isminizdir. Değiştirmeniz gerekli. Yani /vrecord veya /ofrecord un karşısına ne yazdıysanız buraya da onu yazacaksınız(.rec olmadan)

    Eğer yürüyerek(yani ofrecord) kayıt ettiyseniz:

    Kod:
    public OnRecordingPlaybackEnd()
    {
       StartRecordingPlayback(PLAYER_RECORDING_TYPE_ONFOOT,KAYITISMI);
    }

    public OnNPCSpawn()
    {
        StartRecordingPlayback(PLAYER_RECORDING_TYPE_ONFOOT,KAYITISMI);
    }
    Bu kodları NPC modunuza koyun.

    Eğer araçta(/vrecord) kayıt ettiyseniz:
    Kod:
    public OnRecordingPlaybackEnd()
    {
       StartRecordingPlayback(PLAYER_RECORDING_TYPE_DRIVER,KAYITISMI);

    }
    public OnNPCEnterVehicle(vehicleid, seatid)
    {
        StartRecordingPlayback(PLAYER_RECORDING_TYPE_DRIVER,KAYITISMI);
    }

    public OnNPCExitVehicle()
    {
        StopRecordingPlayback();
    }
    Bu kodları NPC modunuza koyun.

    NPC modunuzu compile edip AMX'ini npcmodes klasörüne atın.
    3 - Moda enjekte edelim!
    OnGameModeInit içine:
    Kod:
    ConnectNPC("Gerizekali","naber");
    *** DİKKAT: Gerizekalı, sizin botunuzun ismi. "naber" ise npcmodes klasörüne attığınız NPC modunuzun ismidir.
    Kod:
    Şu kodları OnPlayerRequestClass'a ekleyin:

    Kod:
    new isim[MAX_PLAYER_NAME];
       GetPlayerName(playerid,isim,sizeof(isim));

        if(!strcmp(playername,"Gerizekali",true)) {
            SetSpawnInfo(playerid,0,252,1462.0745,2630.8787,10.8203,0.0,-1,-1,-1,-1,-1,-1);
       }
    "Gerizekalı" yazan yeri kendi npc'nizin ismine göre değiştirin. SetSpawnInfo'daki 69, npc'nin takım ismidir belki bu sayede npc ölümlü yapılabilir hala deniyorum. SetSpawnInfo'daki 252, skin ID'sidir.

    Bunlara ek olarak, eğer araç içinde record aldıysanız:

    Modun başına:
    Kod:
    new vehikil;
    OnGameModeInit içine:
    Kod:
    vehikil = CreateVehicle(MODELID, 0.0, 0.0, 10.0, 0.0, 3, 3, 5000);
    DIKKAT: MODELID'yi hangi araçla kayıt yaptıysanız o aracın ID'sini girmeniz, karışıklığa sebep olunmasını engeller.

    Kod:
    OnPlayerSpawn içine:
    new isim[MAX_PLAYER_NAME];
       GetPlayerName(playerid,isim,sizeof(isim));

        if(!strcmp(playername,"Gerizekali",true)) {
            PutPlayerInVehicle(playerid,vehikil,0);
            SetPlayerColor(playerid,RENK);
       }
    GerizekalI, botunuzun ismiyle değişecek. RENK ise botunuzun rengidir.


      Forum Saati Cuma Tem. 20, 2018 8:26 pm