Dene bakalım o hatayı düzelttim, 3-5 birşey ekledim.
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <nvault>
new const tag[]="Forum.CSD" ;
new models[MAX_CLIENTS+1],para[MAX_CLIENTS+1],satinaldi[MAX_CLIENTS+1][11];
new const tmodels[][][]={
{ "Arctic", 100 },
{ "Cj", 98 },
{ "Tommy", 96 }
};
new const ctmodels[][][]={
{ "Arctic", 100 },
{ "Cj", 98 },
{ "Tommy", 96 }
};
public plugin_init()
{
register_plugin("Karaktermenu","0.1","bilalgecer47");
new const menuclcmd[][]={
"say /karakter","say /karakterler","say /karaktermenu","say /skin" // menuye giris cmdleri
}
for(new i;i<sizeof(menuclcmd);i++){
register_clcmd(menuclcmd[i],"@anamenu");
}
register_clcmd("radio3","@anamenu");
register_clcmd("say /anamenu","@anamenu");
register_clcmd("say /param","@ShowMoney");
register_concmd("amx_paraver","@paraver");
RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1);
}
@ShowMoney(const id)
{
client_print_color(id,id, "^4Mevcut Paran ^1: ^4[^3%d^4]", para[id]);
}
// Bilal Gecer'den alıntıdır.
@paraver(id)
{
if(get_user_flags(id) & ADMIN_RCON)
{
new kisi[MAX_NAME_LENGTH],packs[10];
read_argv(1,kisi,charsmax(kisi));
read_argv(2,packs,charsmax(packs));
new index = cmd_target(id,kisi,0);
if(!is_str_num(packs))
{
client_print_color(id,id,"^3Sadece ^4Sayi ^3yaziniz !");
return PLUGIN_HANDLED;
}
else{
para[index]+= str_to_num(packs);
client_print_color(0,0,"^4%n ^3isimli admin ^4%n ^3isimli oyuncudan ^1%i ^3para verdi.",id,index,str_to_num(packs));
}
}
return PLUGIN_HANDLED;
}
@RG_CBasePlayer_Spawn_Post(const pPlayer) {
if(!is_user_alive(pPlayer)) {
return;
}
new TeamName:iTeam = get_member(pPlayer, m_iTeam);
switch(iTeam) {
case TEAM_TERRORIST: {
rg_set_user_model(pPlayer, fmt("%s", tmodels[models[pPlayer]][0]));
}
case TEAM_CT: {
rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]][0]));
}
}
}
public plugin_precache()
{
for(new i;i<sizeof(tmodels);i++) {
precache_model(fmt("models/player/%s/%s.mdl", tmodels[i][0], tmodels[i][0]));
}
for(new i;i<sizeof(ctmodels);i++) {
precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i][0], ctmodels[i][0]));
}
}
@anamenu(id) {
new bool:isTerrorist = bool:(get_member(id, m_iTeam) == TEAM_TERRORIST);
new menu = menu_create(fmt("\d%s \w| \y%s Ozel Model Menu^nMevcut Paran : %d", tag, isTerrorist ? "T" : "CT", para[id]), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
if(isTerrorist) {
for(new i = 0; i < sizeof(tmodels); i++) {
menu_additem(menu, fmt("\d%s \w| \y%s %s", tag, tmodels[i][0], satinaldi[id][i] ? "SATIN ALINMIS":fmt("%d TL", tmodels[i][1])), fmt("%d", i));
}
}
else {
for(new i = 0; i < sizeof(ctmodels); i++) {
menu_additem(menu, fmt("\d%s \w| \y%s %s", tag, ctmodels[i][0], satinaldi[id][i] ? "SATIN ALINMIS":fmt("%d TL", ctmodels[i][1])), fmt("%d", i));
}
}
menu_setprop(menu, MPROP_EXITNAME, "\yCikis");
menu_display(id, menu);
return PLUGIN_HANDLED;
}
@tmodel_handler(const id,const menu,const item) {
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6];menu_item_getinfo(menu,item,_,data,charsmax(data));
new key = str_to_num(data);
models[id] = key;
if(para[id] < tmodels[key][1][0])
{
client_print_color(id,id, "^1Paraniz yeterli degil.")
return PLUGIN_HANDLED;
}
if(satinaldi[id][key])
{
client_print_color(id,id, "^1%s Adli Modeli Aktif Ettin.", tmodels[models[id]][0])
rg_set_user_model(id, fmt("%s", tmodels[models[id]][0]));
return PLUGIN_HANDLED;
}
satinaldi[id][key]++
para[id] -= tmodels[key][1][0]
client_print_color(id,id, "^1Menuden ^4%s ^3Modelini Satin Aldin.",tmodels[models[id]][0])
rg_set_user_model(id, fmt("%s", tmodels[models[id]][0]));
menu_destroy(menu); return PLUGIN_HANDLED;
}
@ctmodel_handler(const id,const menu,const item) {
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6];menu_item_getinfo(menu,item,_,data,charsmax(data));
new key = str_to_num(data);
models[id] = key;
if(para[id] < ctmodels[key][1][0])
{
client_print_color(id,id, "^1Paraniz yeterli degil.")
return PLUGIN_HANDLED;
}
if(satinaldi[id][key])
{
client_print_color(id,id, "^1%s Adli Modeli Aktif Ettin.", ctmodels[models[id]][0])
rg_set_user_model(id, fmt("%s", ctmodels[models[id]][0]));
return PLUGIN_HANDLED;
}
satinaldi[id][key]++
para[id] -= ctmodels[key][1][0]
client_print_color(id,id, "^1Menuden ^4%s ^3Modelini Satin Aldin.",ctmodels[models[id]][0])
rg_set_user_model(id, fmt("%s", ctmodels[models[id]][0]));
menu_destroy(menu); return PLUGIN_HANDLED;
}
/* nvault (PurposeLess) */
new g_vault;
public plugin_cfg() {
g_vault = nvault_open("KarakterMenu");
if(g_vault == INVALID_HANDLE) {
set_fail_state("Unknown nvault for KarakterMenu");
}
}
public plugin_end() {
nvault_close(g_vault);
}
public client_authorized(pPlayer, const authid[]) {
models[pPlayer] = nvault_get(g_vault, fmt("%s_model", authid));
para[pPlayer] = nvault_get(g_vault, fmt("%s_para", authid));
satinaldi[pPlayer][0] = nvault_get(g_vault, fmt("%s_sa0", authid));
satinaldi[pPlayer][1] = nvault_get(g_vault, fmt("%s_sa1", authid));
satinaldi[pPlayer][2] = nvault_get(g_vault, fmt("%s_sa2", authid));
satinaldi[pPlayer][3] = nvault_get(g_vault, fmt("%s_sa3", authid));
satinaldi[pPlayer][4] = nvault_get(g_vault, fmt("%s_sa4", authid));
}
public client_disconnected(pPlayer) {
new authid[MAX_AUTHID_LENGTH], data[MAX_AUTHID_LENGTH+10];
get_user_authid(pPlayer, authid, charsmax(authid));
num_to_str(models[pPlayer], data, charsmax(data));
nvault_pset(g_vault, fmt("%s_model", authid), data);
num_to_str(para[pPlayer], data, charsmax(data));
nvault_pset(g_vault, fmt("%s_para", authid), data);
for(new i = 0; i <= 10; i++)
{
num_to_str(satinaldi[pPlayer][i], data, charsmax(data));
nvault_pset(g_vault, fmt("%s_sa%i", authid, i), data);
}
}