InfernoShade 1
InfernoShade
Fethi Polat 1
Fethi Polat
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
shrpnl 1
shrpnl
YusufŞimşek14 1
YusufŞimşek14
berzahx 2
berzahx
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı karakter dogrulamalı npc ışınlanma

  • Konuyu başlatan Konuyu başlatan D4DAYLI
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 6
  • Görüntüleme Görüntüleme 102

D4DAYLI

Level 2
Telefon Numarası Onaylanmış Üye
Üye
Katılım
20 Ara 2021
Konular
10
Mesajlar
56
Çözüm
3
Online süresi
7d 8h
Reaksiyon Skoru
31
Altın Konu
0
TM Yaşı
4 Yıl 5 Ay 25 Gün
Başarım Puanı
54
Yaş
26
MmoLira
1,458
DevLira
12
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhaba dostlar geliştirdiğim files sts tipi karakter damegeleri 1v1de eşit fakat bosslarda eşit değil başlıktanda belirttiğim gibi npc ye istediğim karakter harici giriş yapmasın istiyorum nasıl bir yol izlemem gerekli yani gerekli item gibi düşünün
 
questle yapabilirsiniz diye tahmin ediyorum. birden fazla quest inceleyip sorgulama yaptırabilirseniz npc üzerine işlemle neden olmasın.


pc.get_job = 0 "Savaşçı"
pc.get_job = 1
"Ninja"
pc.get_job = 2
"Sura"
pc.get_job = 3
"Şaman"
 
Son düzenleme:
Bunu client tarafında gizleyerek yapma, çünkü packetle yine tıklanır. En sağlıklısı NPC’ye tıklanınca çalışan quest’in en başına kontrol koymak.

Yapacağın iş şu:

  1. NPC’nin tıklama quest’ini bul
    NPC’ye basınca çalışan dosyada genelde when XXX.click begin diye bir blok vardır. Yoksa kendin yeni bir quest açıp NPC vnum’una bağlayabilirsin.
  2. Job kontrolü ekle
    Karakter sınıfını quest’te pc.get_job() ile alırsın. Çoğu altyapıda değerler şu şekildedir:
    0 savaşçı, 1 ninja, 2 sura, 3 şaman (lycan varsa 4)
Örnek: sadece savaşçı girebilsin:

quest npc_kilit begin

state start begin
when 20000.click begin
if pc.get_job() != 0 then
say("Bu NPC sadece Savaşçı karakterlere açıktır.")
return
end

-- buradan sonrası NPC’nin normal işlemleri
say("Hoşgeldin.")
end
end
end


20000 kısmına NPC’nin vnum’unu yazarsın.

  1. İstersen cinsiyet/level/krallık da eklersin
    Aynı mantıkla pc.get_sex(), pc.get_level(), pc.get_empire() gibi kontrolleri de üst üste koyabilirsin.
  2. Quest’i derleyip yükle
    Quest’i derledikten sonra reload q yap ya da sunucuyu rebootla.
 
[CODE title="tekkat quest"]local setting = baron_dungeon . setting ( )
if pc . get_level ( ) < 90 then
say("Bu NPC sadece Savaşçı karakterlere açıktır.")
say_title ( "Bekci:" )
say ( "" )
say ( "90. seviyenin altinda oldugun icin " )
say ( "zindana giremezsin..." )
return
end
if pc . count_item ( 71130 ) < 50 then
say_item_vnum ( 71130 )
say ( "50 Adet geçiş bileti olmadan giris yapamazsin." )
return
end
if party . is_party ( ) then
say ( "Grubun varken giris yapamazsin." )
return
end
if pc . getf ( "baron" , "dungeon_time" ) > get_time ( ) and not pc . is_gm ( ) then
say_npc ( )
say ( "" )
say ( "Henüz odaya giremezsin." )
say ( "Bekleme süren dolunca tekrar gel." )
say ( "" )
say_reward ( "Kalan Süre : " .. LIB_duration ( pc . getf ( "baron" , "dungeon_time" ) - get_time ( ) ) )
return
end
say_title ( "Bekci:" )
say ( "" )
say ( "zindana girmek istiyor musun?" )
local s = select ( "Evet!" , "Hayir,girmek istemiyorum." )
if s == 1 then
pc . remove_item ( 71130 , 50 )
timer ( "baron_sologiris" , 2 )
else
return
end
[/CODE]

dediğiniz mantıkta lvl dogrulaması yapıyor aynı şekilde karakteri eklediğimde hiçbir tepkime vermiyor
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst