GTATurk.com Reklam Hizmetleri

Haberler:

Gönderen Konu: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]  (Okunma sayısı 15035 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı WheeZe

  • Pegorino Family
  • *****
  • İleti: 2604
    • 99 Role Play
    • Ödüller
v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« : 02 Eylül 2009 ; 15:51:13 »
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: [Seç]
#include <a_npc>
Şimdi, modun  başına şunları ekleyelim:

Kod: [Seç]
#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: [Seç]
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: [Seç]
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: [Seç]
ConnectNPC("Gerizekali","naber");
*** DİKKAT: Gerizekalı, sizin botunuzun ismi. "naber" ise npcmodes klasörüne attığınız NPC modunuzun ismidir.

Kod: [Seç]
Şu kodları OnPlayerRequestClass'a ekleyin:
Kod: [Seç]
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: [Seç]
new vehikil;
OnGameModeInit içine:

Kod: [Seç]
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: [Seç]
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 DEĞİLDİR, KOLAY GELSİN


Tüm oyun fırsatları için tıklayın !


Çevrimdışı Slajer`

  • Russians
  • ****
  • İleti: 1469
  • "26"
    • Kişisel Site.
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #1 : 02 Eylül 2009 ; 15:54:49 »
Güzel paylaşım Uğur , eline sağlık.
En iyi olmak istiyorsan, en iyiyi alt etmen gerekir.

Çevrimdışı EvoturK

  • Russians
  • ****
  • İleti: 3663
  • Evolution
    • EvoturK Genel Site
  • Eski Rumuz: VirtualDiva
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #2 : 02 Eylül 2009 ; 15:54:52 »
Bu botları konuşturabilir miyiz ve /ofrecord , /vrecord komutları serverda otomatikman gelecek mi? Teşekkürler. :helal:
« Son Düzenleme: 02 Eylül 2009 ; 15:55:06 Gönderen: Evoturk »

Çevrimdışı WheeZe

  • Pegorino Family
  • *****
  • İleti: 2604
    • 99 Role Play
    • Ödüller
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #3 : 02 Eylül 2009 ; 15:56:22 »
Bu botları konuşturabilir miyiz ve /ofrecord , /vrecord komutları serverda otomatikman gelecek mi? Teşekkürler. :helal:

Evet konuşturabiliriz. Yakında anlatacağım. Ve evet /ofrecord ve /vrecord, yayınlanacak server dosyasında filterscript olarak gelecek(npc_record)

Aslında filterscripte gerek yok record için funclar var ama filterscriptte zaten hazır olduğu için bu komutlarla anlattım.
« Son Düzenleme: 02 Eylül 2009 ; 15:57:22 Gönderen: WheeZe. »

Çevrimdışı ShimSegh

  • Gambetti Family
  • *****
  • İleti: 1109
  • :\
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #4 : 02 Eylül 2009 ; 15:58:50 »
Konu için teşekkürler..
beğendiğiniz bedenlere, hayalinizdeki ruhları koyup "aşk'' sanıyorsunuz.
www.bira.fm


http://i.imgur.com/rq5fM.gif

Çevrimdışı WheeZe

  • Pegorino Family
  • *****
  • İleti: 2604
    • 99 Role Play
    • Ödüller
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #5 : 02 Eylül 2009 ; 15:59:06 »
Kod: [Seç]
if(strcmp(cmd, "/sigara", true) == 0)
{
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    return 1;
}
if(strcmp(cmd, "/bira", true) == 0)
{
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    return 1;
}

Sigara ve bira içme animleri. Bira içip sarhoş olunca ekran hayvan gibi sallanır.

Çevrimdışı EvoturK

  • Russians
  • ****
  • İleti: 3663
  • Evolution
    • EvoturK Genel Site
  • Eski Rumuz: VirtualDiva
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #6 : 02 Eylül 2009 ; 16:06:54 »
Kod: [Seç]
if(strcmp(cmd, "/sigara", true) == 0)
{
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    return 1;
}
if(strcmp(cmd, "/bira", true) == 0)
{
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    return 1;
}

Sigara ve bira içme animleri. Bira içip sarhoş olunca ekran hayvan gibi sallanır.
Hayvan gibi ha :D

Şu Vice City yaması vardı Gta TurK City diye orda bira içtiğimiz gibi mi sarhoş olma ekran sallanması yoksa daha mı hayvan :D

Çevrimdışı CihaD

  • McReary Mob
  • ***
  • İleti: 1523
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #7 : 02 Eylül 2009 ; 16:19:40 »
paylaşım ve anlatım güzel teşekkürler

Çevrimdışı  Nitrous Oxide 

  • Albanians
  • İleti: 90
  • Ricardo Smith
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #8 : 02 Eylül 2009 ; 20:56:12 »
Teşekkürler  yararlı olmuş.

Lopez Family!Valhalla Crew!

Çevrimdışı renegade718718

  • Albanians
  • İleti: 79
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #9 : 03 Eylül 2009 ; 00:35:56 »
saolasın.. bende yaptım botumu :) süper bi özellik bence bu arada botu öldürmek için fln OnPlayerDeath publici kullanilior sanırım samp forumda vardı..

NPC: OnPlayerDeath
http://wiki.sa-mp.com/wiki/NPC:OnPlayerDeath

Çevrimdışı CihaD

  • McReary Mob
  • ***
  • İleti: 1523
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #10 : 03 Eylül 2009 ; 00:37:14 »
saolasın.. bende yaptım botumu :) süper bi özellik bence bu arada botu öldürmek için fln OnPlayerDeath publici kullanilior sanırım samp forumda vardı..

NPC: OnPlayerDeath
http://wiki.sa-mp.com/wiki/NPC:OnPlayerDeath

afferin sana renegade :D

Çevrimdışı renegade718718

  • Albanians
  • İleti: 79
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #11 : 03 Eylül 2009 ; 00:38:57 »
Ben bişey yapmadım ki xD Adam vermiş bende buraya yazdım :D

Çevrimdışı XpDeviL

  • Russians
  • ****
  • İleti: 3133
  • Run away if u see me. Don't even say my name
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #12 : 03 Eylül 2009 ; 09:17:48 »
ya bende olmuyo. Birsuru warning verio #include <a_npc> ve #define KAYITISMI "naber" kısmında..

Undefined symbol KAYITISMI dio
« Son Düzenleme: 03 Eylül 2009 ; 10:07:44 Gönderen: XpDeviL »

XpDeviL Pawn Yardımcısı v2.4 [FINAL EDITION]

--------

Foruma ve Pawno'ya bir süre ara verdim...

Çevrimdışı EvoturK

  • Russians
  • ****
  • İleti: 3663
  • Evolution
    • EvoturK Genel Site
  • Eski Rumuz: VirtualDiva
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #13 : 03 Eylül 2009 ; 11:25:23 »
Ya şu botu bir türlü çalıştıramadım botu servera connectlemiyor :(

Çevrimdışı WheeZe

  • Pegorino Family
  • *****
  • İleti: 2604
    • 99 Role Play
    • Ödüller
Ynt: v0.3 Scripting - Genel Konu [Nasıl NPC eklenir?]
« Yanıtla #14 : 03 Eylül 2009 ; 11:35:32 »
saolasın.. bende yaptım botumu :) süper bi özellik bence bu arada botu öldürmek için fln OnPlayerDeath publici kullanilior sanırım samp forumda vardı..

NPC: OnPlayerDeath
http://wiki.sa-mp.com/wiki/NPC:OnPlayerDeath


Hayır o bot oyuncuyu öldürünce olacak şey. Botlar ölmüyor. Beta olduğundandır belki.

ya bende olmuyo. Birsuru warning verio #include <a_npc> ve #define KAYITISMI "naber" kısmında..

Undefined symbol KAYITISMI dio


:D

Ya şu botu bir türlü çalıştıramadım botu servera connectlemiyor :(

0.3 serverı kullandığına eminsin değil mi?