Model e komutu ile işlem
Moderatör: Moderatörler
-
MrFoTo
Konu Sahibi - Mesajlar: 298
- Kayıt: Çrş Ara 26, 2018 3:46 pm
Model e komutu ile işlem
Merhabalar haritaya koyduğumuz bir modele e ile tıklayınca item verdirebilirmiyiz ?
| Link: | |
| Linklerini gizle |
-
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
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.
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 |
-
MrFoTo
Konu Sahibi - Mesajlar: 298
- Kayıt: Çrş Ara 26, 2018 3:46 pm
Model e komutu ile işlem
Çokkk teşekkürler yarın bir kod yazıp buraya atacağım.
| Link: | |
| Linklerini gizle |
Model e komutu ile işlem
İ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
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 belirtiliyorKod: Tümünü seç
public Nesneye_Basildi(ent,id){
/// Nesneye E basılınca Yapılacak Olan İşlemler.
}| Link: | |
| Linklerini gizle |
-
MrFoTo
Konu Sahibi - Mesajlar: 298
- Kayıt: Çrş Ara 26, 2018 3:46 pm
Model e komutu ile işlem
Aklıma takılan 2 soru mevcut.
1. SORU
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
Buradaki class adı buradaki info_target olanmı ?
Yoksa herhangi bir şey yazabilirmiyim oraya
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]2. SORU
Kod: Tümünü seç
entity_set_string(entity, EV_SZ_classname, "class adı buraya");Kod: Tümünü seç
new Ent = create_entity("info_target")Yoksa herhangi bir şey yazabilirmiyim oraya
| Link: | |
| Linklerini gizle |
Model e komutu ile işlem
1 ) Belirtilen komut nesnenin modelini ve kalınlığını ayarlıyor konumla bir ilgisi bulunmamakta.
İşlemlerini reapi kütüphanesi ile yapmanızı öneririm.
İşlemlerini reapi kütüphanesi ile yapmanızı öneririm.
| Link: | |
| Linklerini gizle |
-
MrFoTo
Konu Sahibi - Mesajlar: 298
- Kayıt: Çrş Ara 26, 2018 3:46 pm
Model e komutu ile işlem
Dönüşün için teşekkürler reapi ile yazmak isterim ama
bu kodların reapideki karşılığının ne olduğunu bilmiyorum.
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)
}
}| Link: | |
| Linklerini gizle |
Model e komutu ile işlem
Ö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.
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 |
-
MrFoTo
Konu Sahibi - Mesajlar: 298
- Kayıt: Çrş Ara 26, 2018 3:46 pm
Model e komutu ile işlem
Ç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 |