⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
Server ip : 95.173.173.2 || Ts3 : LCAPRO www.lcapro.net
Sponsor Görsel 2
SponsorSponsor

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.
.smaRutbeSistemi.sma(Dosya Boyutu: 2,32 KB | İndirme Sayısı: 10)
Stand Back Warrior's   | ip: cs.sbwpro.com | ts3: ts3.sbwpro.com
#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 / Ücretsiz Eklenti İşleri İçin:
Discord: never.meant.to.belong
WhatsApp: Mesaj Gönder
#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, 18: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, 18: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   | ip: cs.sbwpro.com | ts3: ts3.sbwpro.com
Son Düzenleme: 24-10-2024, 19:34, Düzenleyen: Mr.Commander.
#5
(24-10-2024, 18: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 / Ücretsiz Eklenti İşleri İçin:
Discord: never.meant.to.belong
WhatsApp: Mesaj Gönder
Son Düzenleme: 24-10-2024, 19: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   | ip: cs.sbwpro.com | ts3: ts3.sbwpro.com
#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, 20: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)
platin sarılara ücretsiz destek 
#8
(24-10-2024, 20: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 / Ücretsiz Eklenti İşleri İçin:
Discord: never.meant.to.belong
WhatsApp: Mesaj Gönder
#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
Task