Ne yapmaya çalıştığını anlamıyorum.Değişik şeyler ekleyip birşeyler siliyorsun.
Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
new const iUstTag[] = "\rCSD \d -";
new const iChatTag[] = "^4CSD :";
enum (+= 1337){
TASK_GODMODE = 1337,
TASK_GIVEHEGRENADE,
TASK_GIVEHEALTH,
TASK_UNLIMITEDAMMO,
TASK_INVISIBLE
}
enum _:intenum {
iTL,
iHeLimited,
iHealthLimited
};
enum _:cvarenum {
cvKillTL,
cvHealth,
cvFastWalking,
cvResetHPArmor,
cvFootsteps,
cvGodmode,
cvHighJump,
cvBeAnEnemy
};
new g_cvars[cvarenum],g_int[MAX_PLAYERS+1][intenum];
new bool:g_blOneUse[MAX_PLAYERS+1][14];
public plugin_init(){
register_plugin("[REAPI] DeathMatch Shop", "0.1", "`BestCore");
register_dictionary("reDMShop.txt");
register_clcmd("say /dmmarket", "clcmd_dmshop");
register_clcmd("nightvision", "clcmd_dmshop");
RegisterHookChain(RG_CBasePlayer_Killed, "RG_CBasePlayer_Killed_Post", .post = true);
RegisterHookChain(RG_CBasePlayer_Spawn, "RG_CBasePlayer_Spawn_Post", .post = true);
RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "RG_CBasePlayer_ResetMaxSpeed_Pre", .post = false);
register_event("CurWeapon", "CurWeapon_", "be", "1=1", "3=1");
bind_pcvar_num(create_cvar("KillBasinaTL", "3"), g_cvars[cvKillTL]);
bind_pcvar_num(create_cvar("150HP_Fiyat", "15"), g_cvars[cvHealth]);
bind_pcvar_num(create_cvar("HizliYurume_Fiyat", "12"), g_cvars[cvFastWalking]);
bind_pcvar_num(create_cvar("HPveZirhYenileme_Fiyat", "20"), g_cvars[cvResetHPArmor]);
bind_pcvar_num(create_cvar("SessizYurume_Fiyat", "6"), g_cvars[cvFootsteps]);
bind_pcvar_num(create_cvar("GodMode_Fiyat", "25"), g_cvars[cvGodmode]);
bind_pcvar_num(create_cvar("YuksekZiplama_Fiyat", "8"), g_cvars[cvHighJump]);
bind_pcvar_num(create_cvar("DusmanKiliginaBurun_Fiyat", "24"), g_cvars[cvBeAnEnemy]);
}
public plugin_natives() {
register_native("get_user_TL", "@get_user_tl");
register_native("set_user_TL", "@set_user_tl");
}
public clcmd_dmshop(const id){
new bestm = menu_create(fmt("[%s] DeathMatch Menu^n\dCebinizdeki Point:\r %d Point", iUstTag, g_int[iTL][id]), "clcmd_dmshop_");
menu_additem(bestm, fmt("%s150 HP \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvHealth]), 0) ? "":"\d", IsThePlayerDia(id, g_cvars[cvHealth])));
menu_additem(bestm, fmt("%sHizli Yurume \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvFastWalking]), 1) ? "":"\d", IsThePlayerDia(id, g_cvars[cvFastWalking])));
menu_additem(bestm, fmt("%sCan ve Zirh Yenile \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvResetHPArmor]), 2) ? "":"\d", IsThePlayerDia(id, g_cvars[cvResetHPArmor])));
menu_additem(bestm, fmt("%sSessiz Yurume \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvFootsteps]), 3) ? "":"\d", IsThePlayerDia(id, g_cvars[cvFootsteps])));
menu_additem(bestm, fmt("%sGodMode\d(10 Saniye) \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvGodmode]), 4) ? "":"\d", IsThePlayerDia(id, g_cvars[cvGodmode])));
menu_additem(bestm, fmt("%sYuksek Ziplama \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvHighJump]), 5) ? "":"\d", IsThePlayerDia(id, g_cvars[cvHighJump])));
menu_additem(bestm, fmt("%sDusman Kiligina Gir \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvBeAnEnemy]), 6) ? "":"\d", IsThePlayerDia(id, g_cvars[cvBeAnEnemy])));
menu_setprop(bestm, MPROP_EXITNAME, "\rCikis");
menu_setprop(bestm, MPROP_SHOWPAGE, 0);
menu_display(id, bestm);
}
public clcmd_dmshop_(const id, menu, item){
switch(item){
case 0: buyitem(id, "150 HP", IsThePlayerDia(id, g_cvars[cvHealth]), 0);
case 1: buyitem(id, "Hizli Yurume", IsThePlayerDia(id, g_cvars[cvFastWalking]), 1);
case 2: buyitem(id, "Can ve Zirh Yenile", IsThePlayerDia(id, g_cvars[cvResetHPArmor]), 2);
case 3: buyitem(id, "Sessiz Yurume", IsThePlayerDia(id, g_cvars[cvFootsteps]), 3);
case 4: buyitem(id, "GodMode", IsThePlayerDia(id, g_cvars[cvGodmode]), 4);
case 5: buyitem(id, "Yuksek Ziplama", IsThePlayerDia(id, g_cvars[cvHighJump]), 5);
case 6: buyitem(id, "Dusman Kiligina Gir", IsThePlayerDia(id, g_cvars[cvBeAnEnemy]), 6);
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
/********************************* Queries **********************************/
public buyitem(const id, szItem[], iCost, iType){
if(g_blOneUse[id][iType]){
client_print_color(id, id, "%l", "ONE_USE", iChatTag);
return PLUGIN_HANDLED;
}
else if(g_int[iTL][id] >= iCost){
g_int[iTL][id] -= iCost;
g_blOneUse[id][iType] = true;
client_print_color(id, id, "%l", "BUY_ITEM", iChatTag, szItem);
switch(iType){
case 0:{
set_entvar(id, var_health, Float:get_entvar(id, var_health) +150.0);
}
case 1:{
set_entvar(id, var_maxspeed, 350.0);
}
case 2:{
set_entvar(id, var_health, 100.0);
set_entvar(id, var_armorvalue, 100.0);
}
case 3:{
rg_set_user_footsteps(id, true);
}
case 4:{
set_entvar(id, var_takedamage, DAMAGE_NO);
if(!task_exists(id + TASK_GODMODE)){
set_task(10.0, "GodmodeClose", id + TASK_GODMODE);
}
}
case 5:{
set_entvar(id, var_gravity, 0.6);
}
case 6:{
if(get_member(id, m_iTeam) == TEAM_CT){
rg_set_user_model(id, "leet");
}
else {
rg_set_user_model(id, "gign");
}
}
}
}
else {
client_print_color(id, id, "%l", "INSUFFICIENT_COST", iChatTag);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
bool:CanUsePlayer(const id, cvCvars, iType){
if(g_blOneUse[id][iType]){
return false;
}
else if(g_int[iTL][id] >= cvCvars){
return true;
}
return false;
}
@get_user_tl() {
new pPlayer = get_param(1);
return g_int[iTL][pPlayer];
}
@set_user_tl() {
new pPlayer = get_param(1);
new iAmount = get_param(2);
g_int[iTL][pPlayer] = iAmount;
return PLUGIN_HANDLED;
}
public IsThePlayerDia(const id, iCost){
if(get_user_flags(id) & ADMIN_RCON){
if(iCost > 10){
iCost = iCost-5;
}
else {
iCost = iCost-2;
}
}
return iCost;
}
/**************************** Registers ****************************/
public RG_CBasePlayer_ResetMaxSpeed_Pre(const id){
if(g_blOneUse[id][2]){
set_entvar(id, var_maxspeed, 450.0);
return HC_SUPERCEDE;
}
return HC_CONTINUE;
}
public RG_CBasePlayer_Killed_Post(const this, pevAttacker, iGib){
if(!(is_user_connected(this) || is_user_connected(pevAttacker)) || this == pevAttacker){
return;
}
if(g_blOneUse[pevAttacker][6]){
set_entvar(pevAttacker, var_health, Float:get_entvar(pevAttacker, var_health) +10.0);
}
if(g_blOneUse[pevAttacker][7]){
g_int[iTL][pevAttacker] += g_cvars[cvKillTL]*2;
}
else {
g_int[iTL][pevAttacker] += g_cvars[cvKillTL];
}
}
public RG_CBasePlayer_Spawn_Post(const id){
if(get_member(id, m_bJustConnected)){
return;
}
ResetData(id);
rg_reset_user_model(id);
}
public CurWeapon_(const id){
if(g_blOneUse[id][13]){
set_member(get_member(id, m_pActiveItem), m_Weapon_iClip, rg_get_weapon_info(read_data(2), WI_GUN_CLIP_SIZE));
}
}
/**************************** Tasks Close ***************************/
public GodmodeClose(Taskid){
new id = Taskid - TASK_GODMODE;
set_entvar(id, var_takedamage, DAMAGE_AIM);
client_print_color(id, id, "%l", "GODMODE_CLOSE", iChatTag);
}
public GiveHegrenade(Taskid){
new id = Taskid - TASK_GIVEHEGRENADE;
if(rg_has_item_by_name(id, "weapon_hegrenade")){
rg_set_user_bpammo(id, WEAPON_HEGRENADE, rg_get_user_bpammo(id, WEAPON_HEGRENADE)+1);
}
else {
rg_give_item(id, "weapon_hegrenade");
rg_set_user_bpammo(id, WEAPON_HEGRENADE, 1);
}
g_int[iHeLimited][id]++;
if(g_int[iHeLimited][id] >= 6){
remove_task(id + TASK_GIVEHEGRENADE);
client_print_color(id, id, "%l", "GIVE_HEGRENADE_CLOSE", iChatTag);
}
}
public GiveHealth(Taskid){
new id = Taskid - TASK_GIVEHEALTH;
set_entvar(id, var_health, Float:get_entvar(id, var_health) +10.0);
g_int[iHealthLimited][id]++;
if(g_int[iHealthLimited][id] >= 6){
remove_task(id + TASK_GIVEHEALTH);
client_print_color(id, id, "%l", "GIVE_HEALTH_CLOSE", iChatTag);
}
}
public UnlimitedAmmoClose(Taskid){
new id = Taskid - TASK_UNLIMITEDAMMO;
g_blOneUse[id][13] = false;
client_print_color(id, id, "%l", "UNLIMITED_AMMO_CLOSE", iChatTag);
}
public InvisibleClose(Taskid){
new id = Taskid - TASK_INVISIBLE;
set_entvar(id, var_effects, get_entvar(id, var_effects) & ~EF_NODRAW);
client_print_color(id, id, "%l", "INVISIBLE_CLOSE", iChatTag);
}
/********************************************************************/
public client_disconnected(id){
ResetData(id);
g_int[iTL][id] = 0;
}
public client_connect(id){
ResetData(id);
}
public ResetData(const id){
remove_task(id + TASK_GODMODE);
remove_task(id + TASK_GIVEHEGRENADE);
remove_task(id + TASK_GIVEHEALTH);
remove_task(id + TASK_UNLIMITEDAMMO);
remove_task(id + TASK_INVISIBLE);
g_int[iHeLimited][id] = 0;
g_int[iHealthLimited][id] = 0;
for(new i = 0; i <= 13; i++){
g_blOneUse[id][i] = false;
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/