Fakat ben bu konuyu 3pers eklentisi üzerinden göstereceğim.
Kod: Tümünü seç
#include <amxmodx>
#include <engine>
#define PLUGIN    "3Rd view"
#define AUTHOR    "Ferrari & Sylvanor"
#define VERSION    "1.0"
#define MAX_PLAYERS 32
new g_pCamera
new g_bCamera[ MAX_PLAYERS + 1 ]
public plugin_precache()
{
	precache_model( "models/rpgrocket.mdl" );
}
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    g_pCamera = register_cvar("amx_3rdview", "1")
    register_clcmd("say /3pers", "cmdCamera")
    register_clcmd("say_team /3pers", "cmdCamera")
}
public client_putinserver( id )
{
    g_bCamera[ id ] = false
}
public cmdCamera( id )
{
    if( get_pcvar_num( g_pCamera ) )
    {
        if( (g_bCamera[ id ] = !g_bCamera[ id ]) )
        {
            set_view( id, CAMERA_3RDPERSON )
        }
        else
        {
            set_view( id, CAMERA_NONE );
        }
    }
    return PLUGIN_HANDLED
}
Kod: Tümünü seç
#include <amxmodx>
#define PLUGIN "Ornek Eklenti"
#define VERSION "Test"
#define AUTHOR "Yek'-ta"
new pluginId
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    pluginId = find_plugin_byfile("3pers.amxx")
    if(pluginId >= 0){
        server_print("Eklenti sunucuda kurulu. Bellekteki sırası %i", pluginId)
    }
    else{
        server_print("Eklenti sunucuda kurulu değil.")
    }
}
Peki ben bu eklentinin olup olmadığını dosya ismi yerine direkt eklenti ismi üzerinden sorgulatmak ister isem?
Kod: Tümünü seç
pluginId = is_plugin_loaded("3Rd view")Bu eklenti içerisinden sadece cmdCamera kısmını alıp kullanmak ister isem bu sefer fonksiyonları kullanmam gereklidir. Bunlarda korkulacak bir şey yoktur. Kullanımı eklentinin içeriğini bildikten sonra kolay.
Kod: Tümünü seç
#include <amxmodx>
#define PLUGIN "Ornek Eklenti"
#define VERSION "Test2"
#define AUTHOR "Yek'-ta"
new pluginId,funcId
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    pluginId = find_plugin_byfile("3pers.amxx")
    if(pluginId == INVALID_PLUGIN_ID)
        set_fail_state("3pers eklentisi bulunamadi")
    funcId = get_func_id("cmdCamera",pluginId) //get_func_id ile pluginIdye bağlı cmdCamera fonksiyonunu fundId değişkenine sabitledim.
    register_clcmd("say test", "KamerayaYonlendir")
}
public KamerayaYonlendir(oyuncu)
{
    callfunc_begin_i(funcId,pluginId) //Fonksiyonu kullanmak istediğimi belirttim.
    callfunc_push_int(oyuncu) //Fonksiyona hangi değeri göndermek istediğimi belirttim.
    callfunc_end() //Fonksiyonu kullanmayı bitirdiğimi belirttim.
}
Oyun içi konuşmaya test yazdığım vakit 3pers eklentisini çalıştırırım. Bütün olay budur.