Turkce Gta Forumu [TR]

Sitemize Giriş İçin Tıklayın

Join the forum, it's quick and easy

Turkce Gta Forumu [TR]

Turkce Gta Forumu [TR]

Would you like to react to this message? Create an account in a few clicks or log in to continue.

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

    D3RS1ML1
    D3RS1ML1
    Süper Moderatör
    Süper Moderatör


    Cinsiyet : Erkek Mesaj Sayısı : 307
    Rep Puanı : 7
    Kayıt tarihi : 27/04/10
    Yaş : 32
    Nerden : Verdiğin Dereden xD :)

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

    Mesaj tarafından D3RS1ML1 C.tesi Tem. 24, 2010 9:35 am

    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
    Ş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.

    OnPlayerSpawn içine:


    Kod:
    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.

    ALINTI GTATURK.COM

      Forum Saati Perş. Mayıs 09, 2024 8:57 pm