Plugindeki rank sistemini ve level sistemini csduragi chat eklentisine bağlamak istiyorum
Konu
Deneyin;
PHP Kod:
#include <amxmodx>
#include <reapi>
#include <nvault>
native csd_chat_rutbe(oyuncu, const rutbe[]);
#define level(%1) (xps_start + (g_seviye[%1] * xps_inc))
new const tag[] = "LegandGaming";
new const sound[] = "fvox/beep.wav";
new const levelatla[] = "rexp_seviye_atlama.wav"
new g_seviye[MAX_CLIENTS + 1];
new g_xp[MAX_CLIENTS + 1];
new g_chosen[MAX_CLIENTS + 1];
new g_tmpisim[MAX_CLIENTS + 1];
new ly[MAX_CLIENTS + 1];
new ey[MAX_CLIENTS + 1];
new as[MAX_CLIENTS + 1];
new g_rank[MAX_CLIENTS + 1][30];
new syncObj, syncObj2;
new xpkayit;
new xps_start, xps_kill, xps_inc, xps_headshot, xps_knife, maxgivexp,
bool:xps_heal_up, bool:xps_damage_up, xps_edo, bool:xps_parilti,
bool:xps_seviye_mesaj;
new g_authid[MAX_CLIENTS + 1][30];
public plugin_init() {
register_plugin("ReXP System", "1.1", "PurposeLess");
register_clcmd("say /xpkontrol", "clcmd_xpkontrol");
register_clcmd("say /xplist", "clcmd_xplist");
register_clcmd("say /xpler", "clcmd_xplist");
register_clcmd("say /xpreset", "clcmd_reset");
register_clcmd("EXP_MIKTARI", "exp_miktari_giriniz");
register_clcmd("xps_kill_giriniz", "xps_kill_giriniz");
register_clcmd("xps_inc_giriniz", "xps_inc_giriniz");
register_clcmd("xps_headshot_giriniz", "xps_headshot_giriniz");
register_clcmd("xps_knife_giriniz", "xps_knife_giriniz");
register_clcmd("xps_damage_up_giriniz", "xps_damage_up_giriniz");
register_clcmd("xps_heal_up_giriniz", "xps_heal_up_giriniz");
register_event("StatusValue", "showStatus", "be", "1=2", "2!0");
register_event("StatusValue", "hideStatus", "be", "1=1", "2=0");
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true);
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", .post=true);
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post=false);
bind_pcvar_num(create_cvar("xps_start", "50"), xps_start);
bind_pcvar_num(create_cvar("xps_inc", "50"), xps_inc);
bind_pcvar_num(create_cvar("xps_kill", "8"), xps_kill);
bind_pcvar_num(create_cvar("xps_knife", "10"), xps_knife);
bind_pcvar_num(create_cvar("xps_headshot", "8"), xps_headshot);
bind_pcvar_num(create_cvar("xps_heal_up", "1", _, _, true, 0.0, true, 1.0), xps_heal_up);
bind_pcvar_num(create_cvar("xps_damage_up", "1", _, _, true, 0.0, true, 1.0), xps_damage_up);
bind_pcvar_num(create_cvar("xps_maxgivexp", "100"), maxgivexp);
bind_pcvar_num(create_cvar("xps_parilti", "1", _, _, true, 0.0, true, 1.0), xps_parilti);
bind_pcvar_num(create_cvar("xps_seviye_mesaj", "1", _, _, true, 0.0, true, 1.0), xps_seviye_mesaj);
syncObj = CreateHudSyncObj();
syncObj2 = CreateHudSyncObj();
if(get_member_game(m_bMapHasRescueZone) || get_member_game(m_bMapHasBombTarget))
{
RegisterHookChain(RG_CGrenade_DefuseBombEnd, "CGrenade_DefuseBombEnd", .post=false);
RegisterHookChain(RG_PlantBomb, "PlantBomb");
bind_pcvar_num(create_cvar("xps_edo", "5"), xps_edo);
}
}
public plugin_precache()
{
precache_sound(sound);
precache_sound(levelatla);
}
public plugin_cfg()
{
xpkayit = nvault_open("xps_kayit");
}
public plugin_end()
{
for(new id = 1; id <= MAX_CLIENTS; id++)
{
g_save_xps(id, g_authid[id]);
}
nvault_close(xpkayit);
}
public client_putinserver(id)
{
g_rank[id] = "UNRANKED";
}
public client_authorized(id, const authid[])
{
g_seviye[id] = 1;
g_xp[id] = 0;
set_task(1.0, "show_explevel", id, .flags = "b");
g_load_xps(id, authid);
csd_chat_rutbe(id, fmt("[Lvl: %i] [%s]", g_seviye[id], g_rank[id]));
copy(g_authid[id], charsmax(g_authid[]), authid);
}
public client_disconnected(id)
{
g_save_xps(id, g_authid[id]);
remove_task(id);
}
public clcmd_reset(const id)
{
g_seviye[id] = 1;
g_xp[id] = 0;
client_print_color(id, id, "^3[^4%s^3] ^4Leveliniz^1 ve^3 Score^1 Basariyla Sifirlanmistir.", tag);
return PLUGIN_HANDLED;
}
public clcmd_xplist(const id)
{
new menu = menu_create("\yLevel Score List", "clcmd_xplist2");
new players[32], text[64], tempid[10], inum;
static Uid;
get_players(players, inum, "ac");
for(new i; i<inum; i++)
{
Uid = players[i];
text[0] = '^0';
num_to_str(Uid, tempid, charsmax(tempid));
formatex(text, charsmax(text), "\w%n\r~> \d[\y%d\r/\y%d\d]", Uid, g_seviye[Uid], g_xp[Uid]);
menu_additem(menu, text, tempid);
}
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, menu);
}
public clcmd_xplist2(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], name[32], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public clcmd_xpkontrol(const id)
{
if(~get_user_flags(id) & ADMIN_RCON)
{
client_print_color(id, id, "^3[^4%s^3] ^1Bu menuye erisim yetkiniz yok.", tag);
return PLUGIN_HANDLED;
}
static Menu[64];
formatex(Menu, charsmax(Menu), "\yXpS | Kontrol Paneli");
new menu = menu_create(Menu, "clcmd_xpkontrol2");
formatex(Menu, charsmax(Menu), "\yxps_maxlevel \d100");
menu_additem(menu, Menu, "1");
formatex(Menu, charsmax(Menu), "\yxps_kill \d'%d'", xps_kill);
menu_additem(menu, Menu, "2");
formatex(Menu, charsmax(Menu), "\yxps_inc \d'%d'", xps_inc);
menu_additem(menu, Menu, "3");
formatex(Menu, charsmax(Menu), "\yxps_headshot \d'%d'", xps_headshot);
menu_additem(menu, Menu, "4");
formatex(Menu, charsmax(Menu), "\yxps_knife \d'%d'", xps_knife);
menu_additem(menu, Menu, "5");
formatex(Menu, charsmax(Menu), "\yxps_damage_up \d'%s'", xps_damage_up ? "Acik":"Kapali");
menu_additem(menu, Menu, "6");
formatex(Menu, charsmax(Menu), "\yxps_heal_up \d'%s'", xps_heal_up ? "Acik":"Kapali");
menu_additem(menu, Menu, "7");
formatex(Menu, charsmax(Menu), "\yExp Menu");
menu_additem(menu, Menu, "8");
formatex(Menu, charsmax(Menu), "\d====\rCSDuragi.com\d====^n^n");
menu_additem(menu, Menu, "9");
formatex(Menu, charsmax(Menu), "\yCikis");
menu_additem(menu, Menu);
menu_setprop(menu, MPROP_PERPAGE, 0);
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public clcmd_xpkontrol2(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], name[32], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
new key = str_to_num(data);
switch(key)
{
case 1: {
menu_display(id, menu);
return PLUGIN_HANDLED;
}
case 2: {
client_cmd(id, "messagemode xps_kill_giriniz");
}
case 3: {
client_cmd(id, "messagemode xps_inc_giriniz");
}
case 4: {
client_cmd(id, "messagemode xps_headshot_giriniz");
}
case 5: {
client_cmd(id, "messagemode xps_knife_giriniz");
}
case 6: {
client_cmd(id, "messagemode xps_damage_up_giriniz");
}
case 7: {
client_cmd(id, "messagemode xps_heal_up_giriniz");
}
case 8: {
expsenu(id);
}
case 9: {
menu_display(id, menu);
return PLUGIN_HANDLED;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public expsenu(const id)
{
new menu = menu_create("\yXpS | Yetkili Paneli", "expsenu2");
menu_additem(menu, "\yExp Ver", "1");
menu_additem(menu, "\yExp Al", "2");
menu_additem(menu, "\yToplu Exp Ver \d(Sadece Yasayanlar)", "3");
menu_additem(menu, "\yToplu Exp Al \d(Sadece Yasayanlar)", "4");
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, menu);
}
public expsenu2(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], name[32], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
new key = str_to_num(data);
switch(key)
{
case 1: {
g_chosen[id] = 1;
oyuncusec(id);
}
case 2: {
g_chosen[id] = 2;
oyuncusec(id);
}
case 3: {
g_chosen[id] = 3;
client_cmd(id, "messagemode EXP_MIKTARI");
}
case 4: {
g_chosen[id] = 3;
client_cmd(id, "messagemode EXP_MIKTARI");
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public oyuncusec(const id)
{
new menu = menu_create("\yOyuncu Sec", "oyuncusec2");
new players[32], text[64], tempid[10], inum;
static Uid;
get_players(players, inum, "ac");
for(new i; i<inum; i++)
{
Uid = players[i];
text[0] = '^0';
num_to_str(Uid, tempid, charsmax(tempid));
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Canli)", Uid, g_xp[Uid]);
menu_additem(menu, text, tempid);
}
get_players(players, inum, "bc");
for(new i; i<inum; i++)
{
Uid = players[i];
text[0] = '^0';
num_to_str(Uid, tempid, charsmax(tempid));
formatex(text, charsmax(text), "\y%n \w- \d[\r%d Exp\d] \d(Olu)", Uid, g_chosen[Uid]);
menu_additem(menu, text, tempid);
}
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, menu);
}
public oyuncusec2(const id, const menu, const item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], name[32], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
g_tmpisim[id] = str_to_num(data);
client_cmd(id, "messagemode EXP_MIKTARI");
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public xps_kill_giriniz(const id)
{
if(~get_user_flags(id) & ADMIN_RCON)
{
return PLUGIN_HANDLED;
}
new arg[32];
read_args(arg, charsmax(arg));
remove_quotes(arg);
if(!is_str_num(arg))
{
return PLUGIN_HANDLED;
}
new arg_num = str_to_num(arg);
set_cvar_num("xps_kill", arg_num);
clcmd_xpkontrol(id);
return PLUGIN_HANDLED;
}
public xps_inc_giriniz(const id)
{
if(~get_user_flags(id) & ADMIN_RCON)
{
return PLUGIN_HANDLED;
}
new arg[32];
read_args(arg, charsmax(arg));
remove_quotes(arg);
if(!is_str_num(arg))
{
return PLUGIN_HANDLED;
}
new arg_num = str_to_num(arg);
set_cvar_num("xps_inc", arg_num);
clcmd_xpkontrol(id);
return PLUGIN_HANDLED;
}
public xps_headshot_giriniz(const id)
{
if(~get_user_flags(id) & ADMIN_RCON)
{
return PLUGIN_HANDLED;
}
new arg[32];
read_args(arg, charsmax(arg));
remove_quotes(arg);
if(!is_str_num(arg))
{
return PLUGIN_HANDLED;
}
new arg_num = str_to_num(arg);
set_cvar_num("xps_headshot", arg_num);
clcmd_xpkontrol(id);
return PLUGIN_HANDLED;
}
public xps_knife_giriniz(const id)
{
if(~get_user_flags(id) & ADMIN_RCON)
{
return PLUGIN_HANDLED;
}
new arg[32];
read_args(arg, charsmax(arg));
remove_quotes(arg);
if(!is_str_num(arg))
{
return PLUGIN_HANDLED;
}
new arg_num = str_to_num(arg);
set_cvar_num("xps_knife", arg_num);
clcmd_xpkontrol(id);
return PLUGIN_HANDLED;
}
public xps_damage_up_giriniz(const id)
{
if(~get_user_flags(id) & ADMIN_RCON)
{
return PLUGIN_HANDLED;
}
new arg[32];
read_args(arg, charsmax(arg));
remove_quotes(arg);
if(!is_str_num(arg))
{
return PLUGIN_HANDLED;
}
new arg_num = str_to_num(arg);
set_cvar_num("xps_damage_up", arg_num);
clcmd_xpkontrol(id);
return PLUGIN_HANDLED;
}
public xps_heal_up_giriniz(const id)
{
if(~get_user_flags(id) & ADMIN_RCON)
{
return PLUGIN_HANDLED;
}
new arg[32];
read_args(arg, charsmax(arg));
remove_quotes(arg);
if(!is_str_num(arg))
{
return PLUGIN_HANDLED;
}
new arg_num = str_to_num(arg);
set_cvar_num("xps_heal_up", arg_num);
clcmd_xpkontrol(id);
return PLUGIN_HANDLED;
}
public exp_miktari_giriniz(const id)
{
if(~get_user_flags(id) & ADMIN_RCON || !g_chosen[id])
{
return PLUGIN_HANDLED;
}
new arg[32];
read_args(arg, charsmax(arg));
remove_quotes(arg);
new num = str_to_num(arg);
if(!is_str_num(arg) || num <= 0)
{
g_chosen[id] = 0;
return PLUGIN_HANDLED;
}
new Uid = g_tmpisim[id];
if(!is_user_connected(Uid))
{
g_chosen[id] = 0;
return PLUGIN_HANDLED;
}
switch(g_chosen[id])
{
case 1: {
if(num > maxgivexp)
{
client_cmd(id, "messagemode EXP_MIKTARI");
client_print_color(id, id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
return PLUGIN_HANDLED;
}
g_xp[Uid] += num;
client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiye^1 %d Exp^4 yolladi.", id, Uid, num);
}
case 2: {
if(num > g_xp[Uid])
{
g_xp[Uid] = 0;
client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1tum Explarini geri^4 aldi.", id, Uid);
}
else
{
g_xp[Uid] -= num;
client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili ^1[^3 %n ^1]^4 adli kisiden ^1%d Exp^4 aldi.", id, Uid, num);
}
}
case 3: {
if(num > maxgivexp)
{
client_cmd(id, "messagemode EXP_MIKTARI");
client_print_color(id, id, "^1[^3 %n ^1] ^4En fazla ^1[^3 %i ^1]^4 Exp verebilirsin.", id, maxgivexp);
return PLUGIN_HANDLED;
}
new players[MAX_CLIENTS], inum;
static cid;
get_players(players, inum, "ac");
for(new i; i<inum; i++)
{
cid = players[i];
g_xp[cid] += num;
}
client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili yasayan herkese^1 %d Exp^4 yolladi.", id, num);
}
case 4: {
new players[32], inum;
static cid;
get_players(players, inum, "ac");
for(new i; i<inum; i++)
{
cid = players[i];
g_xp[Uid] = (g_xp[cid] - num) <= 0 ? 0 : g_xp[cid] - num;
}
client_print_color(0, 0, "^1[^3 %n ^1] ^4adli yetkili herkesten^1 %d Exp^4 aldi.", id, num);
}
}
return PLUGIN_HANDLED;
}
g_save_xps(const id, const authid[])
{
new key[74], stats[34];
formatex(key, charsmax(key), "%s-stats", authid);
formatex(stats, charsmax(stats), "%i#%i#", g_seviye[id], g_xp[id]);
nvault_set(xpkayit, key, stats);
}
g_load_xps(const id, const authid[])
{
new key[72], stats[34], stat[3][12];
formatex(key, charsmax(key), "%s-stats", authid);
nvault_get(xpkayit, key, stats, charsmax(stats));
replace_all(stats, charsmax(stats), "#", " ");
parse(stats, stat[0], charsmax(stat[]), stat[1], charsmax(stat[]));
g_seviye[id] = str_to_num(stat[0]);
g_xp[id] = str_to_num(stat[1]);
if(g_seviye[id] == 0)
{
g_seviye[id] = 1
}
}
public CBasePlayer_Spawn(const id)
{
if(xps_heal_up && is_user_alive(id))
{
set_entvar(id, var_health, Float:get_entvar(id, var_health) + ((g_seviye[id] * 1 - 1) / 2));
}
}
public CBasePlayer_Killed(const victim, const attacker)
{
if(victim == attacker && is_user_connected(attacker))
{
if(g_seviye[victim] > 4)
{
g_xp[victim] -= xps_kill;
kontrol2(victim);
return;
}
}
if(g_seviye[attacker] == 100 && g_xp[attacker] >= level(attacker))
{
return;
}
g_xp[attacker] += xps_kill;
if(g_seviye[victim] > 4)
{
g_xp[victim] -= xps_kill / 2;
}
if(get_member(victim, m_bHeadshotKilled))
{
g_xp[attacker] += xps_headshot;
if(g_seviye[victim] > 4)
{
g_xp[victim] -= xps_headshot / 2;
}
}
if(get_user_weapon(attacker) == CSW_KNIFE)
{
g_xp[attacker] += xps_knife;
if(g_seviye[victim] > 4)
{
g_xp[victim] -= xps_knife / 2;
}
}
kontrol(attacker);
kontrol2(victim);
}
public CBasePlayer_TakeDamage(const victim, const inflictor, const attacker, const Float:damage, const damagetype)
{
if(victim == attacker || !rg_is_player_can_takedamage(victim, attacker) || !is_user_connected(attacker))
{
return HC_CONTINUE;
}
if(xps_damage_up)
{
new dmg = g_seviye[attacker] * 1 - 1;
SetHookChainArg(4, ATYPE_FLOAT, damage + float(dmg/2));
}
return HC_CONTINUE;
}
kontrol(const id)
{
if(g_xp[id] >= level(id))
{
g_seviye[id]++;
g_xp[id] = 0;
if(xps_parilti)
{
parilti_yolla(id);
}
if(xps_seviye_mesaj)
{
if(g_seviye[id] > 30)
{
client_print_color(0, 0, "^3[%s] ^4%n ^3adli oyuncu ^4[%d] ^1seviyeye ulasti", tag, id, g_seviye[id]);
}
}
}
else
{
rh_emit_sound2(id, id, CHAN_AUTO, sound);
}
as[id] = xps_start + (g_seviye[id] * xps_inc);
ly[id] = g_seviye[id] * 100 / 100;
ey[id] = g_xp[id] * 100 / as[id];
rankbelirle(id);
}
kontrol2(const id)
{
if(g_seviye[id] == 1)
{
return;
}
if(g_xp[id] < 0)
{
g_seviye[id]--;
g_xp[id] = level(id) + g_xp[id];
}
rankbelirle(id);
}
rankbelirle(const id)
{
new seviye = g_seviye[id];
switch(seviye)
{
case 1..5: {
g_rank[id] = "UNRANKED";
}
case 6..9: {
g_rank[id] = "SILVER I";
}
case 10..12: {
g_rank[id] = "SILVER II";
}
case 13..15: {
g_rank[id] = "SILVER III";
}
case 16..21: {
g_rank[id] = "SILVER IV";
}
case 22..25: {
g_rank[id] = "SILVER ELITE";
}
case 26..39: {
g_rank[id] = "SILVER ELITE MASTER";
}
case 40..45: {
g_rank[id] = "NOVA I";
}
case 46..49: {
g_rank[id] = "NOVA II";
}
case 50..53: {
g_rank[id] = "NOVA III";
}
case 54..58: {
g_rank[id] = "GOLD NOVA MASTER";
}
case 59..61: {
g_rank[id] = "MASTER GUARDIAN I";
}
case 62..67: {
g_rank[id] = "MASTER GUARDIAN II";
}
case 68..70: {
g_rank[id] = "MASTER GUARDIAN ELITE";
}
case 71..74: {
g_rank[id] = "DISTINGUISHED MASTER GUARDIAN";
}
case 75..78: {
g_rank[id] = "LEGENDARY EAGLE";
}
case 79..84: {
g_rank[id] = "LEGENDARY EAGLE MASTER";
}
case 85..95: {
g_rank[id] = "SUPREME MASTER FIRST CLASS";
}
case 96..100: {
g_rank[id] = "GLOBAL ELITE";
}
}
csd_chat_rutbe(id, fmt("[Lvl: %i] [%s]", seviye, g_rank[id]));
}
public show_explevel(const id)
{
static const is[] = "%"
set_hudmessage( 210, 105, 30, 0.02, 0.20, 0, 6.0, 3.0, 0.1, 2.5 );
ShowSyncHudMsg(id, syncObj, "Level: [%d/100] - (%s%i) ^nScore: [%i/%i] - (%s%i) ^nRutbe: [%s]", g_seviye[id], is, ly[id], g_xp[id], level(id), is, ey[id], g_rank[id]);
}
public showStatus(const id)
{
new Uid = read_data(2);
if(!is_user_connected(id))
{
return;
}
new TeamName:team = get_member(Uid, m_iTeam);
switch(team)
{
case TEAM_TERRORIST: {
set_hudmessage(255, 25, 25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
}
case TEAM_CT: {
set_hudmessage(25, 25, 255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1);
}
}
ShowSyncHudMsg(id, syncObj2, "^n^n%n | Hp: %0.f | AP: %0.f | Lv: %d", Uid, Float:get_entvar(Uid, var_health), Float:get_entvar(Uid, var_armorvalue), g_seviye[Uid]);
}
public hideStatus(const id)
{
ClearSyncHud(id, syncObj2);
}
public CGrenade_DefuseBombEnd(const id, const player, bool:bDefused)
{
#pragma unused id
if(bDefused)
{
g_xp[player] += xps_edo;
}
}
public PlantBomb(const id, Float:vecStart[3], Float:vecVelocity[3])
{
g_xp[id] += xps_edo;
}
parilti_yolla(const id)
{
new origin[3];
get_user_origin(id, origin);
message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
write_byte(TE_IMPLOSION);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(200);
write_byte(100);
write_byte(5);
message_end();
rh_emit_sound2(id, id, CHAN_AUTO, levelatla);
message_begin(MSG_PVS, SVC_TEMPENTITY, origin);
write_byte(TE_DLIGHT);
write_coord(origin[0]);
write_coord(origin[1]);
write_coord(origin[2]);
write_byte(35);
write_byte(250);
write_byte(150);
write_byte(15);
write_byte(8);
write_byte(60);
message_end();
}
İstek konusu, @Lynchk adlı kullanıcı tarafından 22 saat içinde çözülmüştür.
İsteği çözdüğü için Lynchk Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Lynchk Adlı kullanıcı sizin dışınızda toplam 1007 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
İsteği çözdüğü için Lynchk Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Lynchk Adlı kullanıcı sizin dışınızda toplam 1007 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
Benzer Konular
Yorum
1.524
Okunma
30-12-2025, 17:59
Yorum
3.634
Okunma
22-08-2025, 22:38
Yorum
4.936
Okunma
20-07-2025, 18:34
)


