Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Model e komutu ile işlem

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
MrFoTo
Mesajlar: 298
Kayıt: Çrş Ara 26, 2018 3:46 pm

Model e komutu ile işlem

Mesaj gönderen MrFoTo »

Merhabalar haritaya koyduğumuz bir modele e ile tıklayınca item verdirebilirmiyiz ?

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

amad
Mesajlar: 1809
Kayıt: Cmt Nis 30, 2016 2:46 pm
Konum: Batman
Clan İsmi: Ke$`h | Gaming
İletişim:

Model e komutu ile işlem

Mesaj gönderen amad »

Haritada bir entity oluşturup o entitye modeli set etmeniz gerekiyor. Entitye basılma olayını yakalamak için de hamsandwich kütüphanesindeki ham_use işinizi görecektir.

Entity Oluşturup model set etme

Üsttekine ek olarak e tuşuna basma olayını yakalayabilmek için entitye class adı verilmesi gerekiyor.

Kod: Tümünü seç

entity_set_string(entity, EV_SZ_classname, "class adı buraya");

Kod: Tümünü seç

RegisterHam(Ham_Use, "class adı buraya",    "modeleBasilinca");

public modeleBasilinca(ent, id)  { 
   //(...) itemVer(id)
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
MrFoTo
Mesajlar: 298
Kayıt: Çrş Ara 26, 2018 3:46 pm

Model e komutu ile işlem

Mesaj gönderen MrFoTo »

Çokkk teşekkürler yarın bir kod yazıp buraya atacağım.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Fatih ~ EjderYa
Mesajlar: 2896
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:

Model e komutu ile işlem

Mesaj gönderen Fatih ~ EjderYa »

İstenilen bir şeyi yapmanın genellikle birden fazla yöntemi olabiliyor. Amad'ın anlattığı yöntemde bunlardan birtanesi. Bende en sade olan reapi kütüphanesindeki yöntemi yazmak istiyorum.

Eğer istenilen işlem reapi kütüphanesi ile yapılmak istenilirse aşağıdaki yol izlenmelidir.


SetUse Komutu

Kod: Tümünü seç

SetUse(ent, "Nesneye_Basildi"); // Nesneye E basınca hangi fonksiyonun çalışacağı bu komut ile belirtiliyor

Kod: Tümünü seç

public Nesneye_Basildi(ent,id){

   /// Nesneye E basılınca Yapılacak Olan İşlemler.

}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
MrFoTo
Mesajlar: 298
Kayıt: Çrş Ara 26, 2018 3:46 pm

Model e komutu ile işlem

Mesaj gönderen MrFoTo »

Aklıma takılan 2 soru mevcut.

1. SORU

Kod: Tümünü seç

        entity_set_model(Ent, g_Model)
        entity_set_size(Ent,Float:{-6.0, -10.0, 0.0},Float:{6.0, 10.0, 36.0})
        new Float:f_Origin[3]
Burası sanırım haritaya koyacağım modelin haritada çıkacağı yer bunuda amx_teleportmenu'den koordinat alıp yapabilirim x y z şeklinde.


2. SORU

Kod: Tümünü seç

entity_set_string(entity, EV_SZ_classname, "class adı buraya");
Buradaki class adı

Kod: Tümünü seç

new Ent = create_entity("info_target")
buradaki info_target olanmı ?
Yoksa herhangi bir şey yazabilirmiyim oraya

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Fatih ~ EjderYa
Mesajlar: 2896
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:

Model e komutu ile işlem

Mesaj gönderen Fatih ~ EjderYa »

1 ) Belirtilen komut nesnenin modelini ve kalınlığını ayarlıyor konumla bir ilgisi bulunmamakta.

İşlemlerini reapi kütüphanesi ile yapmanızı öneririm.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
MrFoTo
Mesajlar: 298
Kayıt: Çrş Ara 26, 2018 3:46 pm

Model e komutu ile işlem

Mesaj gönderen MrFoTo »

Dönüşün için teşekkürler reapi ile yazmak isterim ama

Kod: Tümünü seç

public add_chicken(id){
     
    new Ent = create_entity("info_target")
     
    if(is_valid_ent(Ent)){
         
        entity_set_model(Ent, g_Model)
        entity_set_size(Ent,Float:{-6.0, -10.0, 0.0},Float:{6.0, 10.0, 36.0})
        new Float:f_Origin[3]
        entity_get_vector(id, EV_VEC_origin, f_Origin)    
        f_Origin[0] += 50.0
        entity_set_origin(Ent, f_Origin)        
        entity_set_int(Ent,EV_INT_solid,SOLID_BBOX)
         
        drop_to_floor(Ent)
    }
}
bu kodların reapideki karşılığının ne olduğunu bilmiyorum.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Fatih ~ EjderYa
Mesajlar: 2896
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:

Model e komutu ile işlem

Mesaj gönderen Fatih ~ EjderYa »

Örnek olması açısından ufak bir test eklentisiyle kafanda canlandırabilmeni sağlayacağım.

Oyuncu say kısmından /test yazınca bulunduğu konuma bir entity(nesne) oluşturan eklenti.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

#define PLUGIN "Eklenti Ismi"
#define VERSION "1.0"
#define AUTHOR "Fatih ~ EjderYa"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /test","nesne_olustur")
}
public nesne_olustur(id){
	
	new Float:Konum[3]			/// Konum isminde 3 katmanlı bir veri oluşturduk 
	get_entvar(id,var_origin,Konum) 	/// Konum isimli veriye oyuncunun konumu atandı.
						/// Yani artık bizim için Konum nesnesi oyuncunun konumunu belirtmektedir.
	
	
	
	new ent = rg_create_entity("info_target")	/// ent isminde bir nesne oluşturduk.
	// Buradan sonrası isteğe bağlı nesneye verilen özelliklerdir. Hepsinin olması şart değil.
	
	
	set_entvar(ent,var_origin,Konum)	/// Az önce konum verisine oyuncunun konumunu atamıştık.
						/// Bu komutla ise oluşturduğumuz nesneyi oyuncunun konumuna getirmiş olduk.
	

}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
MrFoTo
Mesajlar: 298
Kayıt: Çrş Ara 26, 2018 3:46 pm

Model e komutu ile işlem

Mesaj gönderen MrFoTo »

Çok iyi bir şekilde canlandı kafamda teşekkürler ama SetUse bu şekilde kullandığım zaman modelin yanına gittiğim zaman e tuşu ile bastığımda herhangi bir sonuç alamıyorum. Birde sen kontrol edermisin.

Kod: Tümünü seç

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <reapi>

#define PLUGIN "Eklentı Ismı"
#define VERSION "1.0"
#define AUTHOR "Anonim"

new BKMODEL[64]
new modelindex
new ent

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /getir","entityGetir")
	SetUse(ent, "Nesneye_Basildi");
}
public plugin_precache()
{
	formatex(BKMODEL,charsmax(BKMODEL),"models/player/ng_jb_wachin/ng_jb_wachin.mdl");
	modelindex = precache_model(BKMODEL)
}
public entityGetir(id){
	new classname[32];
	ent = rg_create_entity("info_target") // Ent isminde bir nesne olusturdum.
	set_entvar(ent, var_classname,"anaclass") // Nesneye class atadım.
	set_entvar(ent, var_model, BKMODEL); // Nesneye model ekledim.
	set_entvar(ent, var_modelindex, modelindex); // Nesneye modelindex ekledim.
	set_entvar(ent, var_origin, Float:{213.0, -674.0, 36.0}) // Nesneyi belirledigim koordinatlara isinladim.
	
	get_entvar(ent,var_classname,classname,charsmax(classname));
	client_print(id,print_chat,"%s",classname)
}
public Nesneye_Basildi(ent,id)
{
	client_print(id,print_chat,"islem")
}


Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Fatih ~ EjderYa
Mesajlar: 2896
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:

Model e komutu ile işlem

Mesaj gönderen Fatih ~ EjderYa »

Videolu bir anlatım yapacağım senin için.

Link:
Linklerini gizle
Linki Kopyala
Cevapla