Konu

#1
Merhabalar ;

Ekte bulunan rank sistemi için sunucuda oynayan oyuncuların steamid hesabına göre kill sayısını ve rankını (Oyuncu nick değişse bile kill ve rankı değişmemesi) kayıt altına alınacak şekilde düzenleme yapılabilir mi ? 

Birde oyuncu rank atladığında saydan bilgi mesajı herkese görünecek şekilde yapılabilir mi ? 


Konu ile ilgili yardımlarınızı rica ederim.
.sma RutbeSistemi.sma (Dosya Boyutu: 2,32 KB | İndirme Sayısı: 8)
Stand Back Warrior's & 213.238.173.206
#2
Abi eklentiyi kontrol ettiğimde skorları "get_user_stats" ile çekiyor ve sanırım bunu steam idye bağlayamıyoruz, eğer istersen eklentiyi aynı şekilde STEAM ID'ye bağlı olacak şekilde yazabilirim.
Ücretli Eklenti İşlemleri İçin Discord: egopatient, Instagram: zemheri.asilkan
#3
Kod:
#include <amxmodx>
#include <amxmisc>
#include <csstats>
#include <sqlx>

#define HUD_INTERVAL 1.0
#define MAXRANKS 17

new Handle:g_SqlTuple
new g_szQuery[512]
new PlayerRank[33]
new g_szSteamID[33][35]

enum _:RankInfo {
    RANK_ONBASI,
    RANK_CAVUS,
    RANK_UZMAN,
    RANK_ASTSUBAY,
    RANK_ASTEGMEN,
    RANK_TEGMEN,
    RANK_USTEGMEN,
    RANK_YUZBASI,
    RANK_BINBASI,
    RANK_YARBAY,
    RANK_ALBAY,
    RANK_TUGGENERAL,
    RANK_TUMGENERAL,
    RANK_KORGENERAL,
    RANK_ORGENERAL,
    RANK_GENELKURMAY,
    RANK_MARESAL
}

new const rankNames[MAXRANKS][] = {
    "Onbasi",
    "Cavus",
    "Uzman",
    "Astsubay",
    "Astegmen",
    "Tegmen",
    "Ustegmen",
    "Yuzbasi",
    "Binbasi",
    "Yarbay",
    "Albay",
    "Tuggeneral",
    "Tumgeneral",
    "Korgeneral",
    "Orgeneral",
    "GenelKurmay Baskani",
    "Maresal"
}

new const rankXP[MAXRANKS] = {
    0,
    100,
    200,
    400,
    800,
    1000,
    2000,
    4000,
    8000,
    10000,
    12000,
    15000,
    20000,
    40000,
    50000,
    80000,
    100000
}

new const g_ColorsCodes[][3] = {
    {255, 215, 0},   // Altın
    {192, 192, 192}, // Gümüş
    {205, 127, 50},  // Bronz
    {255, 69, 0},    // Kırmızı-Turuncu
    {138, 43, 226}   // Mor
}

public plugin_init() {
    register_plugin("Rank System", "2.0", "Author")
    register_event("DeathMsg", "EventDeath", "a")
    init_database()
}

init_database() {
    g_SqlTuple = SQL_MakeDbTuple("localhost", "root", "", "cs_ranks")
   
    formatex(g_szQuery, charsmax(g_szQuery), "\
        CREATE TABLE IF NOT EXISTS player_ranks (\
        steamid VARCHAR(35) PRIMARY KEY,\
        kills INT DEFAULT 0,\
        rank INT DEFAULT 0,\
        last_seen INT DEFAULT 0)")
   
    SQL_ThreadQuery(g_SqlTuple, "HandleQuery", g_szQuery)
}

public client_authorized(id) {
    get_user_authid(id, g_szSteamID[id], charsmax(g_szSteamID[]))
    load_player_data(id)
    set_task(HUD_INTERVAL, "UpdateHUD", id)
}

load_player_data(id) {
    formatex(g_szQuery, charsmax(g_szQuery), "\
        SELECT kills, rank FROM player_ranks WHERE steamid = '%s'",
        g_szSteamID[id])
    SQL_ThreadQuery(g_SqlTuple, "HandleLoadData", g_szQuery, id)
}

public HandleLoadData(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) {
    if(failstate != TQUERY_SUCCESS)
        return
   
    new id = data[0]
    if(!is_user_connected(id))
        return
       
    if(SQL_NumResults(query) > 0) {
        new kills = SQL_ReadResult(query, 0)
        PlayerRank[id] = SQL_ReadResult(query, 1)
        set_user_stats(id, kills, 0)
    }
}

public EventDeath() {
    new killer = read_data(1)
    if(!is_user_connected(killer))
        return
   
    update_stats(killer)
}

update_stats(id) {
    static stats[8], hits[8]
    get_user_stats(id, stats, hits)
   
    new old_rank = PlayerRank[id]
    new new_rank = calculate_rank(stats[0])
   
    if(new_rank > old_rank) {
        PlayerRank[id] = new_rank
        show_rank_up(id, old_rank, new_rank)
    }
   
    formatex(g_szQuery, charsmax(g_szQuery), "\
        INSERT INTO player_ranks (steamid, kills, rank, last_seen) \
        VALUES ('%s', %d, %d, %d) \
        ON DUPLICATE KEY UPDATE \
        kills = %d, rank = %d, last_seen = %d",
        g_szSteamID[id], stats[0], new_rank, get_systime(),
        stats[0], new_rank, get_systime())
   
    SQL_ThreadQuery(g_SqlTuple, "HandleQuery", g_szQuery)
}

calculate_rank(kills) {
    new rank = 0
    for(new i = 0; i < MAXRANKS - 1; i++) {
        if(kills >= rankXP[i + 1])
            rank = i + 1
        else
            break
    }
    return rank
}

show_rank_up(id, old_rank, new_rank) {
    new name[32]
    get_user_name(id, name, charsmax(name))
   
    new color[3]
    color[0] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][0]
    color[1] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][1]
    color[2] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][2]
   
    set_hudmessage(color[0], color[1], color[2], -1.0, 0.2, 0, 6.0, 3.0, 0.1, 0.2, 4)
    show_hudmessage(0, "[ %s ]^n%s -> %s", name, rankNames[old_rank], rankNames[new_rank])
}

public UpdateHUD(id) {
    if(!is_user_connected(id))
        return 0
       
    static stats[8], hits[8], name[33]
    get_user_stats(id, stats, hits)
    get_user_name(id, name, 32)
   
    new rank = PlayerRank[id]
    new next_rank = (rank + 1 < MAXRANKS) ? rank + 1 : rank
    new color[3]
   
    color[0] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][0]
    color[1] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][1]
    color[2] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][2]
   
    set_hudmessage(color[0], color[1], color[2], 0.02, 0.15, 0, 6.0, 1.1, 0.0, 0.0, 1)
    show_hudmessage(id, "Rutbe: %s^nSonraki: %s^nKill: %d/%d",
        rankNames[rank],
        rankNames[next_rank],
        stats[0], rankXP[next_rank])
   
    set_task(HUD_INTERVAL, "UpdateHUD", id)
    return PLUGIN_HANDLED
}

public HandleQuery(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) {
    return PLUGIN_HANDLED
}

public plugin_end() {
    SQL_FreeHandle(g_SqlTuple)
}

dener misin
#4
(24-10-2024, 15:52)` White* Adlı Kullanıcıdan Alıntı:
Kod:
#include <amxmodx>
#include <amxmisc>
#include <csstats>
#include <sqlx>

#define HUD_INTERVAL 1.0
#define MAXRANKS 17

new Handle:g_SqlTuple
new g_szQuery[512]
new PlayerRank[33]
new g_szSteamID[33][35]

enum _:RankInfo {
    RANK_ONBASI,
    RANK_CAVUS,
    RANK_UZMAN,
    RANK_ASTSUBAY,
    RANK_ASTEGMEN,
    RANK_TEGMEN,
    RANK_USTEGMEN,
    RANK_YUZBASI,
    RANK_BINBASI,
    RANK_YARBAY,
    RANK_ALBAY,
    RANK_TUGGENERAL,
    RANK_TUMGENERAL,
    RANK_KORGENERAL,
    RANK_ORGENERAL,
    RANK_GENELKURMAY,
    RANK_MARESAL
}

new const rankNames[MAXRANKS][] = {
    "Onbasi",
    "Cavus",
    "Uzman",
    "Astsubay",
    "Astegmen",
    "Tegmen",
    "Ustegmen",
    "Yuzbasi",
    "Binbasi",
    "Yarbay",
    "Albay",
    "Tuggeneral",
    "Tumgeneral",
    "Korgeneral",
    "Orgeneral",
    "GenelKurmay Baskani",
    "Maresal"
}

new const rankXP[MAXRANKS] = {
    0,
    100,
    200,
    400,
    800,
    1000,
    2000,
    4000,
    8000,
    10000,
    12000,
    15000,
    20000,
    40000,
    50000,
    80000,
    100000
}

new const g_ColorsCodes[][3] = {
    {255, 215, 0},   // Altın
    {192, 192, 192}, // Gümüş
    {205, 127, 50},  // Bronz
    {255, 69, 0},    // Kırmızı-Turuncu
    {138, 43, 226}   // Mor
}

public plugin_init() {
    register_plugin("Rank System", "2.0", "Author")
    register_event("DeathMsg", "EventDeath", "a")
    init_database()
}

init_database() {
    g_SqlTuple = SQL_MakeDbTuple("localhost", "root", "", "cs_ranks")
   
    formatex(g_szQuery, charsmax(g_szQuery), "\
        CREATE TABLE IF NOT EXISTS player_ranks (\
        steamid VARCHAR(35) PRIMARY KEY,\
        kills INT DEFAULT 0,\
        rank INT DEFAULT 0,\
        last_seen INT DEFAULT 0)")
   
    SQL_ThreadQuery(g_SqlTuple, "HandleQuery", g_szQuery)
}

public client_authorized(id) {
    get_user_authid(id, g_szSteamID[id], charsmax(g_szSteamID[]))
    load_player_data(id)
    set_task(HUD_INTERVAL, "UpdateHUD", id)
}

load_player_data(id) {
    formatex(g_szQuery, charsmax(g_szQuery), "\
        SELECT kills, rank FROM player_ranks WHERE steamid = '%s'",
        g_szSteamID[id])
    SQL_ThreadQuery(g_SqlTuple, "HandleLoadData", g_szQuery, id)
}

public HandleLoadData(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) {
    if(failstate != TQUERY_SUCCESS)
        return
   
    new id = data[0]
    if(!is_user_connected(id))
        return
       
    if(SQL_NumResults(query) > 0) {
        new kills = SQL_ReadResult(query, 0)
        PlayerRank[id] = SQL_ReadResult(query, 1)
        set_user_stats(id, kills, 0)
    }
}

public EventDeath() {
    new killer = read_data(1)
    if(!is_user_connected(killer))
        return
   
    update_stats(killer)
}

update_stats(id) {
    static stats[8], hits[8]
    get_user_stats(id, stats, hits)
   
    new old_rank = PlayerRank[id]
    new new_rank = calculate_rank(stats[0])
   
    if(new_rank > old_rank) {
        PlayerRank[id] = new_rank
        show_rank_up(id, old_rank, new_rank)
    }
   
    formatex(g_szQuery, charsmax(g_szQuery), "\
        INSERT INTO player_ranks (steamid, kills, rank, last_seen) \
        VALUES ('%s', %d, %d, %d) \
        ON DUPLICATE KEY UPDATE \
        kills = %d, rank = %d, last_seen = %d",
        g_szSteamID[id], stats[0], new_rank, get_systime(),
        stats[0], new_rank, get_systime())
   
    SQL_ThreadQuery(g_SqlTuple, "HandleQuery", g_szQuery)
}

calculate_rank(kills) {
    new rank = 0
    for(new i = 0; i < MAXRANKS - 1; i++) {
        if(kills >= rankXP[i + 1])
            rank = i + 1
        else
            break
    }
    return rank
}

show_rank_up(id, old_rank, new_rank) {
    new name[32]
    get_user_name(id, name, charsmax(name))
   
    new color[3]
    color[0] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][0]
    color[1] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][1]
    color[2] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][2]
   
    set_hudmessage(color[0], color[1], color[2], -1.0, 0.2, 0, 6.0, 3.0, 0.1, 0.2, 4)
    show_hudmessage(0, "[ %s ]^n%s -> %s", name, rankNames[old_rank], rankNames[new_rank])
}

public UpdateHUD(id) {
    if(!is_user_connected(id))
        return 0
       
    static stats[8], hits[8], name[33]
    get_user_stats(id, stats, hits)
    get_user_name(id, name, 32)
   
    new rank = PlayerRank[id]
    new next_rank = (rank + 1 < MAXRANKS) ? rank + 1 : rank
    new color[3]
   
    color[0] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][0]
    color[1] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][1]
    color[2] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][2]
   
    set_hudmessage(color[0], color[1], color[2], 0.02, 0.15, 0, 6.0, 1.1, 0.0, 0.0, 1)
    show_hudmessage(id, "Rutbe: %s^nSonraki: %s^nKill: %d/%d",
        rankNames[rank],
        rankNames[next_rank],
        stats[0], rankXP[next_rank])
   
    set_task(HUD_INTERVAL, "UpdateHUD", id)
    return PLUGIN_HANDLED
}

public HandleQuery(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) {
    return PLUGIN_HANDLED
}

public plugin_end() {
    SQL_FreeHandle(g_SqlTuple)
}

dener misin

Yükleme yaparken bu şekilde hata verdi.
1729776737_pgsrutbesistemi.sma(111) : error 035: argument type mismatch (argument 4)
1729776737_pgsrutbesistemi.sma(125) : error 017: undefined symbol "set_user_stats"

(24-10-2024, 15:35)Maravilha Adlı Kullanıcıdan Alıntı: Abi eklentiyi kontrol ettiğimde skorları "get_user_stats" ile çekiyor ve sanırım bunu steam idye bağlayamıyoruz, eğer istersen eklentiyi aynı şekilde STEAM ID'ye bağlı olacak şekilde yazabilirim.

Yapabilirsek memnun olurum.
Stand Back Warrior's & 213.238.173.206
Son Düzenleme: 24-10-2024, 16:34, Düzenleyen: commander61.
#5
(24-10-2024, 15:52)` White* Adlı Kullanıcıdan Alıntı:
Kod:
#include <amxmodx>
#include <amxmisc>
#include <csstats>
#include <sqlx>

#define HUD_INTERVAL 1.0
#define MAXRANKS 17

new Handle:g_SqlTuple
new g_szQuery[512]
new PlayerRank[33]
new g_szSteamID[33][35]

enum _:RankInfo {
    RANK_ONBASI,
    RANK_CAVUS,
    RANK_UZMAN,
    RANK_ASTSUBAY,
    RANK_ASTEGMEN,
    RANK_TEGMEN,
    RANK_USTEGMEN,
    RANK_YUZBASI,
    RANK_BINBASI,
    RANK_YARBAY,
    RANK_ALBAY,
    RANK_TUGGENERAL,
    RANK_TUMGENERAL,
    RANK_KORGENERAL,
    RANK_ORGENERAL,
    RANK_GENELKURMAY,
    RANK_MARESAL
}

new const rankNames[MAXRANKS][] = {
    "Onbasi",
    "Cavus",
    "Uzman",
    "Astsubay",
    "Astegmen",
    "Tegmen",
    "Ustegmen",
    "Yuzbasi",
    "Binbasi",
    "Yarbay",
    "Albay",
    "Tuggeneral",
    "Tumgeneral",
    "Korgeneral",
    "Orgeneral",
    "GenelKurmay Baskani",
    "Maresal"
}

new const rankXP[MAXRANKS] = {
    0,
    100,
    200,
    400,
    800,
    1000,
    2000,
    4000,
    8000,
    10000,
    12000,
    15000,
    20000,
    40000,
    50000,
    80000,
    100000
}

new const g_ColorsCodes[][3] = {
    {255, 215, 0},   // Altın
    {192, 192, 192}, // Gümüş
    {205, 127, 50},  // Bronz
    {255, 69, 0},    // Kırmızı-Turuncu
    {138, 43, 226}   // Mor
}

public plugin_init() {
    register_plugin("Rank System", "2.0", "Author")
    register_event("DeathMsg", "EventDeath", "a")
    init_database()
}

init_database() {
    g_SqlTuple = SQL_MakeDbTuple("localhost", "root", "", "cs_ranks")
   
    formatex(g_szQuery, charsmax(g_szQuery), "\
        CREATE TABLE IF NOT EXISTS player_ranks (\
        steamid VARCHAR(35) PRIMARY KEY,\
        kills INT DEFAULT 0,\
        rank INT DEFAULT 0,\
        last_seen INT DEFAULT 0)")
   
    SQL_ThreadQuery(g_SqlTuple, "HandleQuery", g_szQuery)
}

public client_authorized(id) {
    get_user_authid(id, g_szSteamID[id], charsmax(g_szSteamID[]))
    load_player_data(id)
    set_task(HUD_INTERVAL, "UpdateHUD", id)
}

load_player_data(id) {
    formatex(g_szQuery, charsmax(g_szQuery), "\
        SELECT kills, rank FROM player_ranks WHERE steamid = '%s'",
        g_szSteamID[id])
    SQL_ThreadQuery(g_SqlTuple, "HandleLoadData", g_szQuery, id)
}

public HandleLoadData(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) {
    if(failstate != TQUERY_SUCCESS)
        return
   
    new id = data[0]
    if(!is_user_connected(id))
        return
       
    if(SQL_NumResults(query) > 0) {
        new kills = SQL_ReadResult(query, 0)
        PlayerRank[id] = SQL_ReadResult(query, 1)
        set_user_stats(id, kills, 0)
    }
}

public EventDeath() {
    new killer = read_data(1)
    if(!is_user_connected(killer))
        return
   
    update_stats(killer)
}

update_stats(id) {
    static stats[8], hits[8]
    get_user_stats(id, stats, hits)
   
    new old_rank = PlayerRank[id]
    new new_rank = calculate_rank(stats[0])
   
    if(new_rank > old_rank) {
        PlayerRank[id] = new_rank
        show_rank_up(id, old_rank, new_rank)
    }
   
    formatex(g_szQuery, charsmax(g_szQuery), "\
        INSERT INTO player_ranks (steamid, kills, rank, last_seen) \
        VALUES ('%s', %d, %d, %d) \
        ON DUPLICATE KEY UPDATE \
        kills = %d, rank = %d, last_seen = %d",
        g_szSteamID[id], stats[0], new_rank, get_systime(),
        stats[0], new_rank, get_systime())
   
    SQL_ThreadQuery(g_SqlTuple, "HandleQuery", g_szQuery)
}

calculate_rank(kills) {
    new rank = 0
    for(new i = 0; i < MAXRANKS - 1; i++) {
        if(kills >= rankXP[i + 1])
            rank = i + 1
        else
            break
    }
    return rank
}

show_rank_up(id, old_rank, new_rank) {
    new name[32]
    get_user_name(id, name, charsmax(name))
   
    new color[3]
    color[0] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][0]
    color[1] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][1]
    color[2] = g_ColorsCodes[new_rank % sizeof(g_ColorsCodes)][2]
   
    set_hudmessage(color[0], color[1], color[2], -1.0, 0.2, 0, 6.0, 3.0, 0.1, 0.2, 4)
    show_hudmessage(0, "[ %s ]^n%s -> %s", name, rankNames[old_rank], rankNames[new_rank])
}

public UpdateHUD(id) {
    if(!is_user_connected(id))
        return 0
       
    static stats[8], hits[8], name[33]
    get_user_stats(id, stats, hits)
    get_user_name(id, name, 32)
   
    new rank = PlayerRank[id]
    new next_rank = (rank + 1 < MAXRANKS) ? rank + 1 : rank
    new color[3]
   
    color[0] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][0]
    color[1] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][1]
    color[2] = g_ColorsCodes[rank % sizeof(g_ColorsCodes)][2]
   
    set_hudmessage(color[0], color[1], color[2], 0.02, 0.15, 0, 6.0, 1.1, 0.0, 0.0, 1)
    show_hudmessage(id, "Rutbe: %s^nSonraki: %s^nKill: %d/%d",
        rankNames[rank],
        rankNames[next_rank],
        stats[0], rankXP[next_rank])
   
    set_task(HUD_INTERVAL, "UpdateHUD", id)
    return PLUGIN_HANDLED
}

public HandleQuery(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime) {
    return PLUGIN_HANDLED
}

public plugin_end() {
    SQL_FreeHandle(g_SqlTuple)
}

dener misin
CSDurağı sunucuları SQL bağlantılarına izin vermiyor diye biliyorum.

Dener misin:

Kod:
#include <amxmodx>
#include <nvault>
#include <reapi>

new Rank[33], Kills[33], Vault;

enum _: Ranks
{
    Name,
    MaxKill,
}

new const RankNames[][] = {
    { "Onbasi", 0 },
    { "Cavus", 100 },
    { "Uzman", 200 },
    { "Astsubay", 400 },
    { "Astegmen", 800 },
    { "Tegmen", 1000 },
    { "Ustegmen", 2000 },
    { "Yuzbasi", 4000 },
    { "Binbasi", 8000 },
    { "Yarbay", 10000 },
    { "Albay", 12000 },
    { "Tuggeneral", 15000 },
    { "Tumgeneral", 20000 },
    { "Korgeneral", 40000 },
    { "Orgeneral", 50000 },
    { "GenelKurmay Baskani", 80000 },
    { "Maresal", 100000 },
};

public plugin_init()
{
    register_plugin("New Rank", "1.0", "Maravilha");

    RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post = true);
}

public plugin_cfg()
{
    Vault = nvault_open("rnksystm");

    if(Vault == INVALID_HANDLE) {
        set_fail_state("rnksystem: unknown vault.");
    }
}

public plugin_end()
{
    nvault_close(Vault);
}

public client_putinserver(id)
{
    new authid[MAX_AUTHID_LENGTH];
    get_user_authid(id, authid, charsmax(authid));

    Rank[id] = nvault_get(Vault, fmt("Rank-%s", authid));
    Kills[id] = nvault_get(Vault, fmt("Kills-%s", authid));

    set_task(1.0, "ShowHUD", id);
}

public client_disconnected(id)
{
    new authid[MAX_AUTHID_LENGTH], data[MAX_AUTHID_LENGTH+10];
    get_user_authid(id, authid, charsmax(authid));

    num_to_str(Kills[id], data, charsmax(data));
    nvault_pset(Vault, fmt("Kills-%s", authid), data);

    num_to_str(Rank[id], data, charsmax(data));
    nvault_pset(Vault, fmt("Rank-%s", authid), data);
}

public ShowHUD(id)
{
    if(is_user_connected(id)) {
    new name[33];
    get_user_name(id, name, 33)
   
    set_hudmessage(255, 0, 0, -0.1, -0.1, 0, 6.0, 12.0)
    show_hudmessage(id, "%s : [Rutben: %s]^nSonraki Rutben : [ %s ] � ^nFrags: [%i / %i]", name, RankNames[Rank[id]][Name], RankNames[Rank[id]+1][Name], Kills[id], RankNames[Rank[id]][MaxKill])   
    set_task(1.0, "ShowHUD", id)   
    return PLUGIN_HANDLED;
    } else {
        return 0;
    }
}

@CBasePlayer_Killed(const pVictim, pAttacker, iGib)
{
    if (pVictim == pAttacker || !is_user_connected(pAttacker))
    {
        return;
    }

    Kills[pAttacker]++;

    RankCheck(pAttacker);
}

RankCheck(const Player) {
    if(Kills[Player] >= RankNames[Rank[Player]][MaxKill]) {
        if(Rank[Player] == sizeof(RankNames) - 1) {
            return;
        }

        Rank[Player]++;

        new name[33];
        get_user_name(Player, name, 33);

        client_print_color(Player, Player, "^4Maravilha^3:^4 %s^3 isimli kullanıcı^4 %s^3 rütbesine yükseldi!", name, RankNames[Rank[Player]][Name]);
    }
}

Ücretli Eklenti İşlemleri İçin Discord: egopatient, Instagram: zemheri.asilkan
Son Düzenleme: 24-10-2024, 16:53, Düzenleyen: Maravilha.
#6
Ekranda tam sağ tarafa almak için aşağıyı nasıl düzenliyoruz. @Maravilha

set_hudmessage(255, 0, 0, -0.1, -0.1, 0, 6.0, 12.0)
Stand Back Warrior's & 213.238.173.206
#7
PHP Kod:
#include <amxmodx>
#include <nvault>
#include <reapi>
new Rank[33], Kills[33], Vault;
enum _Ranks
{
    Name,
    MaxKill,
}
new const 
RankNames[][] = {
    "Onbasi"},
    "Cavus"100 },
    "Uzman"200 },
    "Astsubay"400 },
    "Astegmen"800 },
    "Tegmen"1000 },
    "Ustegmen"2000 },
    "Yuzbasi"4000 },
    "Binbasi"8000 },
    "Yarbay"10000 },
    "Albay"12000 },
    "Tuggeneral"15000 },
    "Tumgeneral"20000 },
    "Korgeneral"40000 },
    "Orgeneral"50000 },
    "GenelKurmay Baskani"80000 },
    "Maresal"100000 },
};
public 
plugin_init()
{
    register_plugin("New Rank""1.0""Maravilha");
    RegisterHookChain(RG_CBasePlayer_Killed"@CBasePlayer_Killed", .post true);
}
public 
plugin_cfg()
{
    Vault nvault_open("rnksystm");
    if(Vault == INVALID_HANDLE) {
        set_fail_state("rnksystem: unknown vault.");
    }
}
public 
plugin_end()
{
    nvault_close(Vault);
}
public 
client_putinserver(id)
{
    new authid[MAX_AUTHID_LENGTH];
    get_user_authid(idauthidcharsmax(authid));
    Rank[id] = nvault_get(Vaultfmt("Rank-%s"authid));
    Kills[id] = nvault_get(Vaultfmt("Kills-%s"authid));
    set_task(1.0"ShowHUD"id);
}
public 
client_disconnected(id)
{
    new authid[MAX_AUTHID_LENGTH], data[MAX_AUTHID_LENGTH+10];
    get_user_authid(idauthidcharsmax(authid));
    num_to_str(Kills[id], datacharsmax(data));
    nvault_pset(Vaultfmt("Kills-%s"authid), data);
    num_to_str(Rank[id], datacharsmax(data));
    nvault_pset(Vaultfmt("Rank-%s"authid), data);
}
public 
ShowHUD(id)
{
    if(is_user_connected(id)) {
    new name[33];
    get_user_name(idname33)
   
    set_hudmessage
(25500, -0.1, -0.106.012.0)
    show_hudmessage(id"%s : [Rutben: %s]^nSonraki Rutben : [ %s ] � ^nFrags: [%i / %i]"nameRankNames[Rank[id]][Name], RankNames[Rank[id]+1][Name], Kills[id], RankNames[Rank[id]][MaxKill])   
    set_task
(1.0"ShowHUD"id)   
    
return PLUGIN_HANDLED;
    } else {
        return 0;
    }
}
@
CBasePlayer_Killed(const pVictimpAttackeriGib)
{
    if (pVictim == pAttacker || !is_user_connected(pAttacker))
    {
        return;
    }
    Kills[pAttacker]++;
    RankCheck(pAttacker);
}
RankCheck(const Player) {
    if(Kills[Player] >= RankNames[Rank[Player]][MaxKill]) {
        if(Rank[Player] == sizeof(RankNames) - 1) {
            return;
        }
        Rank[Player]++;
        new name[33];
        get_user_name(Playername33);
        client_print_color(PlayerPlayer"^4Maravilha^3:^4 %s^3 isimli kullanıcı^4 %s^3 rütbesine yükseldi!"nameRankNames[Rank[Player]][Name]);
    }

(24-10-2024, 17:44)commander61 Adlı Kullanıcıdan Alıntı: Ekranda tam sağ tarafa almak için aşağıyı nasıl düzenliyoruz. @Maravilha

set_hudmessage(255, 0, 0, -0.1, -0.1, 0, 6.0, 12.0)
CS 1.6 Eklenti , Model , Sprey Yapımı için Discord : emircw
#8
(24-10-2024, 17:44)commander61 Adlı Kullanıcıdan Alıntı: Ekranda tam sağ tarafa almak için aşağıyı nasıl düzenliyoruz. @Maravilha

set_hudmessage(255, 0, 0, -0.1, -0.1, 0, 6.0, 12.0)
set_hudmessage(R, G, B, X, Y, E, F, H);
R, G, B kısmından renk kodunu, X kısmından yatay, yani sağ ve sol, Y kısmından ise dikey yani yukarı ve aşağı kısmını düzenleyebilirsiniz.
Ücretli Eklenti İşlemleri İçin Discord: egopatient, Instagram: zemheri.asilkan
#9
İstek konusu, @Maravilha adlı kullanıcı tarafından 17 saat içinde çözülmüştür.
İsteği çözdüğü için Maravilha Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Maravilha Adlı kullanıcı sizin dışınızda toplam 104 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Benzer Konular

5
Yorum
433
Okunma
28-11-2024, 23:16
8
Yorum
406
Okunma
28-11-2024, 00:38
3
Yorum
340
Okunma
20-11-2024, 23:45
7
Yorum
591
Okunma
12-11-2024, 01:37
2
Yorum
626
Okunma
11-11-2024, 14:59
11
Yorum
753
Okunma
11-11-2024, 12:43
17
Yorum
902
Okunma
10-11-2024, 04:33
Task
Kayıt Ol
Discord Adresimize Katılın