Menüye Ekleme hk.
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 40
- Kayıt: Pzr Eyl 05, 2021 1:39 pm
- Clan İsmi: Darkness GaminG
Menüye Ekleme hk.
Selamlar arkadaşlar , ekte verdiğim player model değişme menüsüne birşeyler ekletmek istiyorum , yardımcı olursanız çok sevinirim. İsteğimi aşşağıya yazıyorum ;
1.Menünün kendine özel bir para birimi olsun csgo moddaki gibi ve bunu yetkili kişiler cvar kodu ile verebilsin istiyorum , para birimini kendime göre nasıl ayarlıyacağımıda anlatırsanız çok iyi olur.
2.Her model için ayrı bir fiyat belirlenmesini istiyorum ve bunu istediğim zaman eklentinin içerisinden değiştirebileyim istiyorum.
1.Menünün kendine özel bir para birimi olsun csgo moddaki gibi ve bunu yetkili kişiler cvar kodu ile verebilsin istiyorum , para birimini kendime göre nasıl ayarlıyacağımıda anlatırsanız çok iyi olur.
2.Her model için ayrı bir fiyat belirlenmesini istiyorum ve bunu istediğim zaman eklentinin içerisinden değiştirebileyim istiyorum.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
Menüye Ekleme hk.
Merhabalar, fiyatları buradan ayarlayabilirsiniz.
Para vermek için :
ADMIN_RCON yetkisine ayarlı eklenti içinden değiştirebilirsiniz.
Para biriminden kastınızı anlamadım, değiştirmek istiyorsanız sadece menüdeki görünüme ve saydaki yazılarla oynama yapabilirsiniz.
Örnek TL ...
Eklentiyi denemedim.Dönüş yaparsınız.
Kod: Tümünü seç
new const tmodels[][][]={
{ "Arctic", 100 }, //T Default Model
{ "Assasin", 99 },
{ "Cj", 98 },
{ "Matrix", 97 },
{ "Tommy", 96 }
};
new const ctmodels[][][]={
{ "Arctic", 100 }, //CT Default Model
{ "Assasin", 99 },
{ "Cj", 98 },
{ "Matrix", 97 },
{ "Tommy", 96 }
};
ADMIN_RCON yetkisine ayarlı eklenti içinden değiştirebilirsiniz.
Kod: Tümünü seç
register_concmd("amx_paraver","@paraver");
Örnek TL ...
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];
new const tmodels[][][]={
{ "Arctic", 100 }, //T Default Model
{ "Assasin", 99 },
{ "Cj", 98 },
{ "Matrix", 97 },
{ "Tommy", 96 }
};
new const ctmodels[][][]={
{ "Arctic", 100 }, //CT Default Model
{ "Assasin", 99 },
{ "Cj", 98 },
{ "Matrix", 97 },
{ "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_concmd("amx_paraver","@paraver");
RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1);
}
// 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]]));
}
case TEAM_CT: {
rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]]));
}
}
}
public plugin_precache()
{
for(new i;i<sizeof(tmodels);i++) {
precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i]));
}
for(new i;i<sizeof(ctmodels);i++) {
precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i]));
}
}
@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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
if(isTerrorist) {
for(new i = 0; i < sizeof(tmodels); i++) {
menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, tmodels[i], tmodels[i][1]), fmt("%d", i));
}
}
else {
for(new i = 0; i < sizeof(ctmodels); i++) {
menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, ctmodels[i], 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, "^1 Paraniz yeterli degil.")
return PLUGIN_HANDLED;
}
para[id] -= tmodels[key][1][0]
client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]])
rg_set_user_model(id, fmt("%s", tmodels[models[id]]));
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, "^1 Paraniz yeterli degil.")
return PLUGIN_HANDLED;
}
para[id] -= ctmodels[key][1][0]
client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]])
rg_set_user_model(id, fmt("%s", ctmodels[models[id]]));
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));
}
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);
}
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 40
- Kayıt: Pzr Eyl 05, 2021 1:39 pm
- Clan İsmi: Darkness GaminG
Menüye Ekleme hk.
Menünun kendine özel para birimi olsun istiyorum , csgo moddaki gibi , teşekkürler bu aradaorucoglukayra yazdı: Cum Kas 12, 2021 9:21 am Merhabalar, fiyatları buradan ayarlayabilirsiniz.
Para vermek için :Kod: Tümünü seç
new const tmodels[][][]={ { "Arctic", 100 }, //T Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "Tommy", 96 } }; new const ctmodels[][][]={ { "Arctic", 100 }, //CT Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "Tommy", 96 } };
ADMIN_RCON yetkisine ayarlı eklenti içinden değiştirebilirsiniz.
Para biriminden kastınızı anlamadım, değiştirmek istiyorsanız sadece menüdeki görünüme ve saydaki yazılarla oynama yapabilirsiniz.Kod: Tümünü seç
register_concmd("amx_paraver","@paraver");
Örnek TL ...
Eklentiyi denemedim.Dönüş yaparsınız.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]; new const tmodels[][][]={ { "Arctic", 100 }, //T Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "Tommy", 96 } }; new const ctmodels[][][]={ { "Arctic", 100 }, //CT Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "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_concmd("amx_paraver","@paraver"); RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1); } // 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]])); } case TEAM_CT: { rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]])); } } } public plugin_precache() { for(new i;i<sizeof(tmodels);i++) { precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i])); } for(new i;i<sizeof(ctmodels);i++) { precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i])); } } @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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler"); if(isTerrorist) { for(new i = 0; i < sizeof(tmodels); i++) { menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, tmodels[i], tmodels[i][1]), fmt("%d", i)); } } else { for(new i = 0; i < sizeof(ctmodels); i++) { menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, ctmodels[i], 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, "^1 Paraniz yeterli degil.") return PLUGIN_HANDLED; } para[id] -= tmodels[key][1][0] client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]]) rg_set_user_model(id, fmt("%s", tmodels[models[id]])); 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, "^1 Paraniz yeterli degil.") return PLUGIN_HANDLED; } para[id] -= ctmodels[key][1][0] client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]]) rg_set_user_model(id, fmt("%s", ctmodels[models[id]])); 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)); } 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); }
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 40
- Kayıt: Pzr Eyl 05, 2021 1:39 pm
- Clan İsmi: Darkness GaminG
Menüye Ekleme hk.
Tamamdır teşekkürler , müsait bir zamanımda deneyip dönüş yaparım.
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 40
- Kayıt: Pzr Eyl 05, 2021 1:39 pm
- Clan İsmi: Darkness GaminG
Menüye Ekleme hk.
Hocam bir isteğim daha olacaktı , mesela saydan /param yazınca ne kadar param olduğunu görebilmek istiyorum , sizide uğraştırıyorum kusura bakmayın.
Link: | |
Linklerini gizle |
Menüye Ekleme hk.
ZaptYReis44 yazdı: Cum Kas 12, 2021 7:12 pmHocam bir isteğim daha olacaktı , mesela saydan /param yazınca ne kadar param olduğunu görebilmek istiyorum , sizide uğraştırıyorum kusura bakmayın.
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];
new const tmodels[][][]={
{ "Arctic", 100 }, //T Default Model
{ "Assasin", 99 },
{ "Cj", 98 },
{ "Matrix", 97 },
{ "Tommy", 96 }
};
new const ctmodels[][][]={
{ "Arctic", 100 }, //CT Default Model
{ "Assasin", 99 },
{ "Cj", 98 },
{ "Matrix", 97 },
{ "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]]));
}
case TEAM_CT: {
rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]]));
}
}
}
public plugin_precache()
{
for(new i;i<sizeof(tmodels);i++) {
precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i]));
}
for(new i;i<sizeof(ctmodels);i++) {
precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i]));
}
}
@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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler");
if(isTerrorist) {
for(new i = 0; i < sizeof(tmodels); i++) {
menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, tmodels[i], tmodels[i][1]), fmt("%d", i));
}
}
else {
for(new i = 0; i < sizeof(ctmodels); i++) {
menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, ctmodels[i], 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, "^1 Paraniz yeterli degil.")
return PLUGIN_HANDLED;
}
para[id] -= tmodels[key][1][0]
client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]])
rg_set_user_model(id, fmt("%s", tmodels[models[id]]));
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, "^1 Paraniz yeterli degil.")
return PLUGIN_HANDLED;
}
para[id] -= ctmodels[key][1][0]
client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]])
rg_set_user_model(id, fmt("%s", ctmodels[models[id]]));
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));
}
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);
}
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 40
- Kayıt: Pzr Eyl 05, 2021 1:39 pm
- Clan İsmi: Darkness GaminG
Menüye Ekleme hk.
Çok teşekkür ederimorucoglukayra yazdı: Cum Kas 12, 2021 7:18 pmZaptYReis44 yazdı: Cum Kas 12, 2021 7:12 pmHocam bir isteğim daha olacaktı , mesela saydan /param yazınca ne kadar param olduğunu görebilmek istiyorum , sizide uğraştırıyorum kusura bakmayın.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]; new const tmodels[][][]={ { "Arctic", 100 }, //T Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "Tommy", 96 } }; new const ctmodels[][][]={ { "Arctic", 100 }, //CT Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "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]])); } case TEAM_CT: { rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]])); } } } public plugin_precache() { for(new i;i<sizeof(tmodels);i++) { precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i])); } for(new i;i<sizeof(ctmodels);i++) { precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i])); } } @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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler"); if(isTerrorist) { for(new i = 0; i < sizeof(tmodels); i++) { menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, tmodels[i], tmodels[i][1]), fmt("%d", i)); } } else { for(new i = 0; i < sizeof(ctmodels); i++) { menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, ctmodels[i], 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, "^1 Paraniz yeterli degil.") return PLUGIN_HANDLED; } para[id] -= tmodels[key][1][0] client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]]) rg_set_user_model(id, fmt("%s", tmodels[models[id]])); 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, "^1 Paraniz yeterli degil.") return PLUGIN_HANDLED; } para[id] -= ctmodels[key][1][0] client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]]) rg_set_user_model(id, fmt("%s", ctmodels[models[id]])); 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)); } 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); }
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 40
- Kayıt: Pzr Eyl 05, 2021 1:39 pm
- Clan İsmi: Darkness GaminG
Menüye Ekleme hk.
Malesef olmadı hocam , iki eklentiyide denedim fakat model yüklerken bir anda server çöküyor.orucoglukayra yazdı: Cum Kas 12, 2021 9:21 am Merhabalar, fiyatları buradan ayarlayabilirsiniz.
Para vermek için :Kod: Tümünü seç
new const tmodels[][][]={ { "Arctic", 100 }, //T Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "Tommy", 96 } }; new const ctmodels[][][]={ { "Arctic", 100 }, //CT Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "Tommy", 96 } };
ADMIN_RCON yetkisine ayarlı eklenti içinden değiştirebilirsiniz.
Para biriminden kastınızı anlamadım, değiştirmek istiyorsanız sadece menüdeki görünüme ve saydaki yazılarla oynama yapabilirsiniz.Kod: Tümünü seç
register_concmd("amx_paraver","@paraver");
Örnek TL ...
Eklentiyi denemedim.Dönüş yaparsınız.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]; new const tmodels[][][]={ { "Arctic", 100 }, //T Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "Tommy", 96 } }; new const ctmodels[][][]={ { "Arctic", 100 }, //CT Default Model { "Assasin", 99 }, { "Cj", 98 }, { "Matrix", 97 }, { "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_concmd("amx_paraver","@paraver"); RegisterHookChain(RG_CBasePlayer_Spawn,"@RG_CBasePlayer_Spawn_Post",1); } // 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]])); } case TEAM_CT: { rg_set_user_model(pPlayer, fmt("%s", ctmodels[models[pPlayer]])); } } } public plugin_precache() { for(new i;i<sizeof(tmodels);i++) { precache_model(fmt("models/player/%s/%s.mdl", tmodels[i], tmodels[i])); } for(new i;i<sizeof(ctmodels);i++) { precache_model(fmt("models/player/%s/%s.mdl", ctmodels[i], ctmodels[i])); } } @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", tag, isTerrorist ? "T" : "CT"), isTerrorist ? "@tmodel_handler" : "@ctmodel_handler"); if(isTerrorist) { for(new i = 0; i < sizeof(tmodels); i++) { menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, tmodels[i], tmodels[i][1]), fmt("%d", i)); } } else { for(new i = 0; i < sizeof(ctmodels); i++) { menu_additem(menu, fmt("\d%s \w| \y%s %d TL", tag, ctmodels[i], 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, "^1 Paraniz yeterli degil.") return PLUGIN_HANDLED; } para[id] -= tmodels[key][1][0] client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",tmodels[models[id]]) rg_set_user_model(id, fmt("%s", tmodels[models[id]])); 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, "^1 Paraniz yeterli degil.") return PLUGIN_HANDLED; } para[id] -= ctmodels[key][1][0] client_print_color(id,id, "^1 Menuden ^4%s ^3Modelini Aktif Ettiniz",ctmodels[models[id]]) rg_set_user_model(id, fmt("%s", ctmodels[models[id]])); 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)); } 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); }
Link: | |
Linklerini gizle |
Menüye Ekleme hk.
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);
}
}
Link: | |
Linklerini gizle |