PDA

View Full Version : Script FIx ! help pleas !


mahdi
12-31-2016, 08:45
whats wrong here =

public Say(id)
{
new Chat[256], Name[32], cChat[256];
new bool:steam[33] = false
read_args(Chat, 255);
remove_quotes(Chat);

if (Chat[0] == '@' || Chat[0] == '/' || Chat[0] == '!' || equal (Chat, ""))
return PLUGIN_CONTINUE;

get_user_name(id, Name, 31);

if (is_user_steam(id))
steam[id] = true

if(strlen(Chat) >= 1)
{
new tag[18], flags = get_user_flags(id);

if (is_user_steam(id))
formatex(tag, charsmax(tag), "STEAM ツ");

else if(flags & ADMIN_MAP)
formatex(tag, charsmax(tag), "ADMIN");

else if(flags & ADMIN_LEVEL_i)
formatex(tag, charsmax(tag), "V.I.P");

else if(flags & ADMIN_USER)
formatex(tag, charsmax(tag), "DEFAULT");

formatex(cChat, 255, "^4[^1%s^4] [^1%s^4] ^3%s^1: %s", Rangs[Rang[id]], tag, Name, Chat);
}

pleas fix it i really need it !

D3XT3R
12-31-2016, 09:29
those are cs go rangs you need post full plugin to we can help you

mahdi
12-31-2016, 10:11
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>
#include <fun>

#pragma dynamic 131072

new const PLUGIN[] = "Global Offensive";
new const VERSION[] = "1.0";
new const AUTHOR[] = "<LS_PRO";

#define ACCESS_VIP ADMIN_LEVEL_H

#define MAX 150

#define PointsMin 1
#define PointsMax 10
#define Drop 1
#define MarkMin 200

#define POINTSKILL_HS 3 //Jei HS, kiek pridÄ—s prie normaliu tasku

#define POINTSKILL_VIP_FLAG ACCESS_VIP
#define POINTSKILL_MIN_VIP 2 // Pridedamas prie POINTSKILL_MIN
#define POINTSKILL_MAX_VIP 5 // Pridedamas prie POINTSKILL_MAX

#define SOUND_SOLD "ambience/quail1.wav"

#pragma semicolon 1

//new csgo_password_field;

new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
new UsingWeapon[3][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32]; //bool:gRegistered[33], saugo pass
new DefaultSkin[31][32], NeedKills[30], Rangs[30][32];
new const g_szServerIP[] = "91.211.247.8:27015";
new szIP[20];

new const eWeapon[][] =
{
"weapon_famas", "weapon_usp", "weapon_awp", "weapon_mp5navy", "weapon_m3", "weapon_m4a1",
"weapon_deagle", "weapon_ak47", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
"weapon_smokegrenade", "weapon_c4", "weapon_glock18", "weapon_scout"
};

new const FirstWeaponNames[][][] =
{
{ "AK47", "weapon_ak47" },
{ "M4A1", "weapon_m4a1" },
{ "AWP", "weapon_awp" },
{ "FAMAS", "weapon_famas" },
{ "SCOUT", "weapon_scout" },
{ "MP5", "weapon_mp5navy" }
};

new const SecondaryWeaponNames[][][] =
{
{ "DEAGLE", "weapon_deagle" },
{ "USP", "weapon_usp" },
{ "GLOCK", "weapon_glock18" }
};

public plugin_precache() {
new Line[128], Data[4][48], Len;
AllWeapon++;
get_configsdir(Folder, 47);
format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
format(SaveFile, 47, "%s/csgo/save.ini", Folder);
format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
format(RegisterFile, 47, "%s/csgo/reg.ini", Folder);
format(DefaultSkinFile, 47, "%s/csgo/dskins.cfg", Folder);
format(Prefix, 31, "[Global Offensive]");
//precache_sound("csgo/find.wav"); // rado chest key garsas siuncia

if(file_exists(RangFile))
{
for(new i; i < file_size(RangFile, 1); i++)
{
read_file(RangFile, i, Line, 127, Len);
parse(Line, Data[0], 31, Data[1], 31);

copy(Rangs[i], 31, Data[0]);
NeedKills[i] = str_to_num(Data[1]);
}
}
if(file_exists(SkinFile))
{
static left[32], right[32], p_model[64];
for(new i; i < file_size(SkinFile, 1); i++)
{
read_file(SkinFile, i, Line, 127, Len);

if(strlen(Line) < 5)
continue;

parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);

Weapons[AllWeapon] = str_to_num(Data[0]);
copy(WeaponNames[AllWeapon], 31, Data[1]);

if(ValidMdl(Data[2])) {
precache_model(Data[2]);
copy(WeaponMdls[AllWeapon], 47, Data[2]);
}

split(Data[2], left, charsmax(left), right, charsmax(right), "csgo/");
formatex(p_model, charsmax(p_model), "%scsgo/p_%s", left, right);

if(ValidMdl(p_model))
precache_model(p_model);

WeaponDrop[AllWeapon] = str_to_num(Data[3]);
AllWeapon++;
}
}
if(file_exists(DefaultSkinFile))
{
for(new i; i < file_size(DefaultSkinFile, 1); i++)
{
read_file(DefaultSkinFile, i, Line, 127, Len);

if(strlen(Line) < 5)
continue;

parse(Line, Data[0], 31, Data[1], 47);

if(ValidMdl(Data[1])) {
precache_model(Data[1]);
copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
}
}
}
precache_sound(SOUND_SOLD);
}

public plugin_init() {
register_dictionary("globaloffensive.txt");
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar(PLUGIN, VERSION, FCVAR_SERVER);

register_clcmd("say /menu", "MenuOpen");
register_clcmd("menu", "MenuOpen");
register_clcmd("say /reg", "RegMenu");
//register_clcmd("say /gun", "Guns");

register_concmd("Cost", "MarketCost");
register_concmd("Gift", "GiftPoint");
register_concmd("UserPassword", "PlayerPassword");

//saugoti slaptazodi
//register_clcmd("say /savepass", "SavePassword");


SayText = get_user_msgid("SayText");
register_forward(FM_ClientUserInfoChanged, "NameChange");
//RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);

get_user_ip(0, szIP, charsmax(szIP), false);

if( !equal(szIP, g_szServerIP) )
{
set_fail_state("This plugin is private!");
}

for(new i; i < sizeof(eWeapon); i++)
{
RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
}

register_clcmd("say", "Say");
register_clcmd("say_team", "Say");

set_task(67.3, "Message", 69);

}
/*
public SavePassword(id)
{
if(!Loged[id])
{
if(!gRegistered[id])
{
print_color(id, "%L", LANG_PLAYER, "NEED_REGISTER_1", Prefix);
print_color(id, "%L", LANG_PLAYER, "NEED_REGISTER_2", Prefix);
} else {
print_color(id, "%L", LANG_PLAYER, "LOGIN_FIRST", Prefix);
}
return PLUGIN_HANDLED;
}

new passfield[32]; get_pcvar_string(csgo_password_field, passfield, 31);
set_user_info(id, passfield, SavedPassword[id]);
client_cmd(id, "setinfo %s %s", passfield, SavedPassword[id]);

print_color(id, "%L", LANG_PLAYER, "SUCCESS_SAVED", Prefix);

return PLUGIN_HANDLED;
}*/

public Message()
{
print_color(0, "!g%s%L", Prefix, LANG_SERVER, "MSG", PLUGIN, VERSION, AUTHOR);
set_task(76.9, "Message", 69);
}

public Guns(id)
{
if(Choosen[id] < 1)
{
Choosen[id] = 0;
WeaponMenu(id);
}
}
/*
public PlayerSpawn(id)
{
if(is_user_alive(id))
{
Choosen[id] = 0;
if(user_has_weapon(id, CSW_C4))
{
strip_user_weapons(id);
give_item(id, "weapon_c4");
give_item(id, "weapon_knife");
WeaponMenu(id);
}
else
{
strip_user_weapons(id);
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_defuse(id, 1);
give_item(id, "weapon_knife");
WeaponMenu(id);
}
}
}*/

public Say(id)
{
new Chat[256], Name[32], cChat[256];
new bool:steam[33] = false
read_args(Chat, 255);
remove_quotes(Chat);

if (Chat[0] == '@' || Chat[0] == '/' || Chat[0] == '!' || equal (Chat, ""))
return PLUGIN_CONTINUE;

get_user_name(id, Name, 31);

if (is_user_steam(id))
steam[id] = true

if(strlen(Chat) >= 1)
{
new tag[18], flags = get_user_flags(id);

if (is_user_steam(id))
formatex(tag, charsmax(tag), "STEAM ツ");

else if(flags & ADMIN_MAP)
formatex(tag, charsmax(tag), "ADMIN");

else if(flags & ADMIN_LEVEL_H)
formatex(tag, charsmax(tag), "V.I.P");

else if(flags & ADMIN_USER)
formatex(tag, charsmax(tag), "DEFAULT");

formatex(cChat, 255, "^4[^1%s^4] [^1%s^4] ^3%s^1: %s", Rangs[Rang[id]], tag, Name, Chat);
}

//if(!is_user_alive(id))
//return PLUGIN_HANDLED;

switch(cs_get_user_team(id))
{
case CS_TEAM_T: ColorChat(0, RED, cChat);
case CS_TEAM_CT: ColorChat(0, BLUE, cChat);
case CS_TEAM_SPECTATOR: ColorChat(0, GREY, cChat);
}
return PLUGIN_HANDLED;
}

public MenuOpen(id)
{
if(!Loged[id])
{
RegMenu(id);
return;
}

MenuMod[id] = 0;
Menu(id);
}
public client_death(Killer, Victim, hitplace)
{
if(Killer == Victim)
{
return PLUGIN_HANDLED;
}

Kills[Killer]++;

if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
{
if(Kills[Killer] >= NeedKills[Rang[Killer]])
Rang[Killer]++;
}

new pPont, vPont, hsPont, Name[32];

pPont += random_num(PointsMin, PointsMax);

if(hitplace == HIT_HEAD) { pPont += hsPont = POINTSKILL_HS; }

Points[Killer] += pPont;

if(get_user_flags(Killer) & POINTSKILL_VIP_FLAG)
{
vPont += random_num(POINTSKILL_MIN_VIP, POINTSKILL_MAX_VIP);
Points[Killer] += vPont;
}


set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);

if(get_user_flags(Killer) & POINTSKILL_VIP_FLAG) {
if(hitplace == HIT_HEAD) {
show_hudmessage(Killer, "%L +%d VIP +%d HS", LANG_PLAYER, "POINT", pPont, vPont, hsPont);
}
else {
show_hudmessage(Killer, "%L +%d VIP", LANG_PLAYER, "POINT", pPont, vPont);
}
}
else {
if(hitplace == HIT_HEAD) {
show_hudmessage(Killer, "%L +%d HS", LANG_PLAYER, "POINT", pPont, hsPont);
}
else {
show_hudmessage(Killer, "%L", LANG_PLAYER, "POINT", pPont);
}
}

new flags = get_user_flags(Killer);

new chance = GetChance(flags);

if(chance >= random_num(1, 100))
{
get_user_name(Killer, Name, 31);
new x = random_num(1, 2);
if(x == 1)
{
pKey[Killer]++;
print_color(0, "!g%s %L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
client_cmd(0, "spk events/task_complete.wav");
}
if(x == 2)
{
Chest[Killer]++;
print_color(0, "!g%s %L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
client_cmd(0, "spk events/task_complete.wav");
}

if(chance > 1)
print_color(Killer, "DROP Tikimybe galima patikrinti prisijungus per Z", Prefix, chance);
}
Save(Killer);
return PLUGIN_CONTINUE;
}

GetChance(flags)
{
new chance;

if(flags & ADMIN_IMMUNITY)
chance = 10;

else if(flags & ADMIN_BAN)
chance = 5;

else if(flags & ADMIN_LEVEL_H)
chance = 3;

else if(flags & ADMIN_USER)
chance = 1;

return chance;
}


public MarketCost(id)
{
if(inMarket[id] || !Loged[id])
return PLUGIN_HANDLED;

new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);

Cost = str_to_num(Data);

if(Cost < 0)
{
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else if(MarkMin >= Cost)
{
print_color(id, "%s %L", Prefix, LANG_SERVER, "NOTENOUGHTMARKET", MarkMin);
client_cmd(id, "messagemode Cost");
return PLUGIN_HANDLED;
}
else
{
MarketPoints[id] = Cost;
Menu(id);
MenuMod[id] = 3;
return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
if(inMarket[id] || !Loged[id])
return PLUGIN_HANDLED;

new Data[32], Cost;
read_args(Data, 31);
remove_quotes(Data);

Cost = str_to_num(Data);

if(Cost < 0 || Points[id] < Cost)
{
client_cmd(id, "messagemode Gift");
return PLUGIN_HANDLED;
}
else
{
aPoints[id] = Cost;
Menu(id);
MenuMod[id] = 5;
return PLUGIN_CONTINUE;
}
}
public WeaponSwitch(Weapon) {
new id = get_pdata_cbase(Weapon, 41, 4);
new wid = cs_get_weapon_id(Weapon);

if(id > 32 || id < 1)
{
return HAM_SUPERCEDE;
}

static left[32], right[32], p_model[64];

for(new i = 1; i < AllWeapon; i++)
{
if(i == UsingWeapon[0][id])
{
if(wid == Weapons[i])
{
split(WeaponMdls[i], left, charsmax(left), right, charsmax(right), "csgo/");
formatex(p_model, charsmax(p_model), "%scsgo/p_%s", left, right);

set_pev(id, pev_weaponmodel2, p_model);
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return HAM_SUPERCEDE;
}
}
else if(i == UsingWeapon[1][id])
{
if(wid == Weapons[i])
{
split(WeaponMdls[i], left, charsmax(left), right, charsmax(right), "csgo/");
formatex(p_model, charsmax(p_model), "%scsgo/p_%s", left, right);

set_pev(id, pev_weaponmodel2, p_model);
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return HAM_SUPERCEDE;
}
}
else if(i == UsingWeapon[2][id])
{
if(wid == Weapons[i])
{
split(WeaponMdls[i], left, charsmax(left), right, charsmax(right), "csgo/");
formatex(p_model, charsmax(p_model), "%scsgo/p_%s", left, right);

set_pev(id, pev_weaponmodel2, p_model);
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return HAM_SUPERCEDE;
}
}

}
if(ValidMdl(DefaultSkin[wid]))
{
split(DefaultSkin[wid], left, charsmax(left), right, charsmax(right), "csgo/");
formatex(p_model, charsmax(p_model), "%scsgo/p_%s", left, right);

set_pev(id, pev_weaponmodel2, p_model);
set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
}
return HAM_IGNORED;
}
public ChestOpen(id)
{
new rWeapon = random_num(1, AllWeapon);
new rNum = random_num(1, 100);

if(WeaponDrop[rWeapon] >= rNum)
{
new Name[32];
get_user_name(id, Name, 31);
print_color(id, "!g[CSGO]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
uWeapon[rWeapon][id]++;
Save(id);
}
else
{
ChestOpen(id);
}
}
public Menu(id)
{
if(!Loged[id])
{
RegMenu(id);
return;
}

new sMenu, Line[128];

if(MenuMod[id] == -2)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;

num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
menu_additem(sMenu, Line, String);
All++;
}
/*if(Chest[id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
menu_additem(sMenu, Line, "101");
All++;
}
if(pKey[id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
menu_additem(sMenu, Line, "102");
All++;
}*/
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
}
}
else if(MenuMod[id] == -1)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;

num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
menu_additem(sMenu, Line, String);
All++;
}
/*if(Chest[id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
menu_additem(sMenu, Line, "101");
All++;
}
if(pKey[id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
menu_additem(sMenu, Line, "102");
All++;
}*/
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
}
}
else if(MenuMod[id] == 0)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
menu_additem(sMenu, Line, "1");

if(!inMarket[id])
{
formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
menu_additem(sMenu, Line, "2");
}
else
{
formatex(Line, 127, "%L %L",
LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}

formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
menu_additem(sMenu, Line, "3");

if(!inMarket[id])
{
formatex(Line, 127, "%L", LANG_SERVER, "MENUTODUSTBIN");
menu_additem(sMenu, Line, "4");
}
else
{
formatex(Line, 127, "%L %L",
LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "INMARKET");
menu_additem(sMenu, Line, "0");
}

new flags = get_user_flags(id);
if(!inMarket[id])
{
formatex(Line, 127, "%L%L",
LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]], GetChance(flags));
menu_additem(sMenu, Line, "5");
}
else
{
formatex(Line, 127, "%L %L%L",
LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]], GetChance(flags));
menu_additem(sMenu, Line, "0");
}
}
else if(MenuMod[id] == 1)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;

formatex(String, 31, "%d %d", i, Weapons[i]);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
menu_additem(sMenu, Line, String);
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
}
}
else if(MenuMod[id] == 2)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
menu_additem(sMenu, Line, "1");
}
else if(MenuMod[id] == 3)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
if(!inMarket[id])
{
for(new i = 1; i < AllWeapon; i++)
{
if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
All++;
}
}

if(101 == WeaponinMarket[id] && Chest[id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
All++;
}
if(102 == WeaponinMarket[id] && pKey[id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
All++;
}

if(All == 0)
formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
menu_additem(sMenu, Line, "-1");
}

if(!inMarket[id])
formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
else
formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
menu_additem(sMenu, Line, "0");

new Name[32];
for(new x; x < 32; x++)
{
if(!is_user_connected(x))
continue;

if(inMarket[x] && MarketPoints[x] > 0)
{
num_to_str(x, String, 31);
get_user_name(x, Name, 31);
/*if(101 == WeaponinMarket[x])
{
formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else if(102 == WeaponinMarket[x])
{
formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
menu_additem(sMenu, Line, String);
}
else
{*/
formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
menu_additem(sMenu, Line, String);
//}
}
}
}
else if(MenuMod[id] == 4)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new String[32], All;
for(new i = 1; i < AllWeapon; i++)
{
if(uWeapon[i][id] == 0)
continue;

num_to_str(i, String, 31);
formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
menu_additem(sMenu, Line, String);
All++;
}
if(All == 0)
{
MenuMod[id] = 0;
Menu(id);
}
}
else if(MenuMod[id] == 5)
{
formatex(Line, 127, "%s\r %L %L",
Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
sMenu = menu_create(Line, "MenuHandler");
new All, Name[32], String[32];
get_user_name(aTarget[id], Name, 31);

if(aTarget[id] > 0 && is_user_alive(aTarget[id]))
{
formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
menu_additem(sMenu, Line, "-1");
for(new i = 1; i < AllWeapon; i++)
{
if(i == aThing[id] && uWeapon[i][id] > 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
menu_additem(sMenu, Line, "-2");
All++;
}
}

if(aThing[id] == 0 && All == 0)
{
formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
menu_additem(sMenu, Line, "-2");
}
else if(aThing[id] > 100)
{
if(101 == aThing[id])
{
formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
}
if(102 == aThing[id])
{
formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
}
menu_additem(sMenu, Line, "-2");
}

formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
menu_additem(sMenu, Line, "-4");
formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
menu_additem(sMenu, Line, "-3");
}
else
{
for(new i; i < 32; i++)
{
if(is_user_connected(i))
{
get_user_name(i, Name, 31);
num_to_str(i, String, 31);
menu_additem(sMenu, Name, String);
}
}
}
}
menu_display(id, sMenu);
}
public MenuHandler(id, gMenu, Key)
{
if(Key == MENU_EXIT)
{
MenuMod[id] = 0;
menu_destroy(gMenu);
return PLUGIN_HANDLED;
}
new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);

parse(Data[0], sKey, 31);
Key = str_to_num(sKey);

if(MenuMod[id] == -2)
{
aThing[id] = Key;
MenuMod[id] = 5;
Menu(id);
return PLUGIN_HANDLED;
}
if(MenuMod[id] == -1)
{
MenuMod[id] = 3;
WeaponinMarket[id] = Key;
client_cmd(id, "messagemode Cost");
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 0)
{
MenuMod[id] = Key;
Menu(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 1)
{
parse(Data[0], Data[2], 31, Data[3], 31);

if(str_to_num(Data[3]) == 16 || str_to_num(Data[3]) == 26)
UsingWeapon[1][id] = str_to_num(Data[2]);
else if(str_to_num(Data[3]) == 29)
UsingWeapon[2][id] = str_to_num(Data[2]);
else
UsingWeapon[0][id] = str_to_num(Data[2]);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 2)
{
if(Key == 1)
{
if(Chest[id] > 0 && pKey[id] > 0)
{
Chest[id]--;
pKey[id]--;
ChestOpen(id);
Menu(id);
return PLUGIN_HANDLED;
}
}
}
else if(MenuMod[id] == 3)
{
if(Key == -1)
{
MenuMod[id] = -1;
Menu(id);
return PLUGIN_HANDLED;
}
else if(Key == 0)
{
if(inMarket[id])
inMarket[id] = false;
else if(MarketPoints[id] > 0)
{
get_user_name(id, Name, 31);
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
inMarket[id] = true;
}
Menu(id);
return PLUGIN_HANDLED;
}
else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
{
get_user_name(Key, Name, 31);
get_user_name(id, mName, 31);
if(WeaponinMarket[Key] < 101)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETITEM",
mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
uWeapon[WeaponinMarket[Key]][id]++;
uWeapon[WeaponinMarket[Key]][Key]--;
}
else if(WeaponinMarket[Key] == 101)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETCHEST",
mName, MarketPoints[Key], Name);
Chest[id]++;
Chest[Key]--;
}
else if(WeaponinMarket[Key] == 102)
{
print_color(0, "!g%s%L",
Prefix, LANG_SERVER, "BUYMARKETKEY",
mName, MarketPoints[Key], Name);
pKey[id]++;
pKey[Key]--;
}

emit_sound(Key, CHAN_ITEM, SOUND_SOLD, VOL_NORM, ATTN_NORM ,0 , PITCH_NORM );
Points[Key] += MarketPoints[Key];
Points[id] -= MarketPoints[Key];
Save(Key);
Save(id);
inMarket[Key] = false;
MarketPoints[Key] = 0;
WeaponinMarket[Key] = 0;
MenuMod[id] = 0;
}
}
else if(MenuMod[id] == 4)
{
uWeapon[Key][id]--;
Menu(id);
Save(id);
return PLUGIN_HANDLED;
}
else if(MenuMod[id] == 5)
{
if(Key == -1)
{
aTarget[id] = 0;
}
if(Key == -2)
{
MenuMod[id] = -2;
}
if(Key == -3)
{
if(uWeapon[aThing[id]][id] > 0)
{
uWeapon[aThing[id]][aTarget[id]]++;
uWeapon[aThing[id]][id]--;
Points[aTarget[id]] += aPoints[id];
Points[id] -= aPoints[id];
Save(aTarget[id]);
Save(id);
MenuMod[id] = 0;
aThing[id] = 0;
aTarget[id] = 0;
aPoints[id] = 0;
print_color(id, "!g%s%L",
Prefix, LANG_SERVER, "GIFTSUCCESS");
}
}
if(Key == -4)
{
client_cmd(id, "messagemode Gift");
}
if(Key > 0)
aTarget[id] = Key;
Menu(id);
return PLUGIN_HANDLED;
}
MenuMod[id] = 0;
return PLUGIN_CONTINUE;
}
stock print_color(const id, const input[], any:...)
{
new Count = 1, Players[32];
static Msg[191];
vformat(Msg, 190, input, 3);

replace_all(Msg, 190, "!g", "^4");
replace_all(Msg, 190, "!y", "^1");
replace_all(Msg, 190, "!t", "^3");

if(id) Players[0] = id; else get_players(Players, Count, "ch");
{
for (new i = 0; i < Count; i++)
{
if (is_user_connected(Players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
write_byte(Players[i]);
write_string(Msg);
message_end();
}
}
}
return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
for(new i; i < AllWeapon; i++)
{
uWeapon[i][id] = 0;
}
Load(id);
Password[id] = "";
SavedPassword[id] = "";
Loged[id] = false;
set_task(5.0, "RegMenu", id);
}
public Load(id)
{
if(!is_user_connected(id))
{
return PLUGIN_HANDLED;
}

new pFile, Name[32];
pFile = fopen(SaveFile, "rt");
get_user_name(id, Name, 31);

if(pFile)
{
new Line[3584], dummy[255], len;
new LineName[32], tData[5][24], Data[MAX][24];

while(!feof(pFile))
{
fgets(pFile, Line, charsmax(Line));

if(Line[0] == ';' || strlen(Line) < 2)
continue;

parse(Line, LineName, 31);

if(equal(LineName, Name))
{
parse(Line, LineName, 31, tData[0], 23, tData[1], 23, tData[2], 23, tData[3], 23, tData[4], 23);

len = formatex(dummy, charsmax(dummy), "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%s^"", LineName, tData[0], tData[1], tData[2], tData[3], tData[4]);

Kills[id] = str_to_num(tData[0]);
Points[id] = str_to_num(tData[1]);
pKey[id] = str_to_num(tData[2]);
Chest[id] = str_to_num(tData[3]);
Rang[id] = str_to_num(tData[4]);

for(new i; i < MAX; i++)
{
argbreak(Line[len], Data[i], 23, Line[len], charsmax(Line));

uWeapon[i][id] = str_to_num(Data[i]);
}
break;
}
}
fclose(pFile);
}
return PLUGIN_CONTINUE;
}
public Save(id)
{
if(!is_user_connected(id))
{
return PLUGIN_HANDLED;
}

new pFile, Name[32];
pFile = fopen(SaveFile, "rt");
get_user_name(id, Name, 31);

if(pFile)
{
new Line[3584], Lines;

new LineName[32], bool:Found;

while(!feof(pFile))
{

fgets(pFile, Line, charsmax(Line));

if(Line[0] == ';' || strlen(Line) < 2)
continue;

parse(Line, LineName, 31);

if(equal(LineName, Name) && !Found)
{
new mLine[3584], LoadWeapon[3584], String[24];

format(String, 23, "^"%i^" ", Kills[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", Points[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", pKey[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", Chest[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", Rang[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

for(new i; i < MAX; i++)
{
format(String, 7, "^"%i^" ", uWeapon[i][id]);
add(LoadWeapon, charsmax(LoadWeapon), String);
}

formatex(mLine, charsmax(mLine), "^"%s^" %s", Name, LoadWeapon);
write_file(SaveFile, mLine, Lines);
Found = true;
break;
}

Lines++;
}

if(!Found)
{
new mLine[256], LoadWeapon[256], String[24];

format(String, 23, "^"%i^" ", Kills[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", Points[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", pKey[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", Chest[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

format(String, 23, "^"%i^" ", Rang[id]);
add(LoadWeapon, charsmax(LoadWeapon), String);

for(new i; i < MAX; i++)
{
format(String, 23, "^"%i^" ", uWeapon[i][id]);
add(LoadWeapon, charsmax(LoadWeapon), String);
}

formatex(mLine, charsmax(mLine), "^"%s^" %s", Name, LoadWeapon);
write_file(SaveFile, mLine);
}
fclose(pFile);
}
return PLUGIN_CONTINUE;
}
public WeaponMenu(id)
{
new String[128], Name[32];
format(String, 127, "%s %L", Prefix, LANG_SERVER, "WPM");
new wMenu = menu_create(String, "wMenuHandler");
get_user_name(id, Name, 31);

if(Choosen[id] == 0)
{
for(new i; i < sizeof(FirstWeaponNames); i++)
{
format(String, 127, "%s", FirstWeaponNames[i][0]);
menu_additem(wMenu, String, FirstWeaponNames[i][1]);
}
}
if(Choosen[id] == 1)
{
for(new i; i < sizeof(SecondaryWeaponNames); i++)
{
format(String, 127, "%s", SecondaryWeaponNames[i][0]);
menu_additem(wMenu, String, SecondaryWeaponNames[i][1]);
}
}

menu_display(id, wMenu);
}
public wMenuHandler(id, gMenu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(gMenu);
return;
}
new data[32], name[64];
new access, callback;
menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);

give_item(id, data);
Choosen[id]++;

if(Choosen[id] >= 2)
Grenades(id);

WeaponMenu(id);
}
public RegMenu(id)
{
new String[128], Name[32];
format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
new rMenu = menu_create(String, "rMenuHandler");
get_user_name(id, Name, 31);

format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
menu_additem(rMenu, String, "0");

new hidePw[32], len = strlen(Password[id]);

for(new i = 0; i < len; i++)
hidePw[i] = '*';

if(!Registered(id))
{

format(String, 127, "%L", LANG_SERVER, "RMP", hidePw);
menu_additem(rMenu, String, "1");

if(strlen(Password[id]) > 4)
{
format(String, 127, "%L", LANG_SERVER, "RMR");
menu_additem(rMenu, String, "2");
}
else
{
format(String, 127, "\d%L", LANG_SERVER, "RMR");
menu_additem(rMenu, String, "0");
}
}
else
{
if(!Loged[id])
{
format(String, 127, "%L", LANG_SERVER, "RMP", hidePw);
menu_additem(rMenu, String, "1");

if(equal(SavedPassword[id], Password[id]))
{
format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
menu_additem(rMenu, String, "3");
}
else
{
format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
menu_additem(rMenu, String, "0");
}
}
else
{
format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
menu_additem(rMenu, String, "-1");
}
}

menu_display(id, rMenu);
}

public rMenuHandler(id, gMenu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(gMenu);
return;
}
new data[9], name[64], Key;
new access, callback;
menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);

Key = str_to_num(data);

if(Key == -1)
ToLogout(id);
if(Key == 0)
RegMenu(id);
if(Key == 1)
{
client_cmd(id, "messagemode UserPassword");
RegMenu(id);
}
if(Key == 2)
{
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
Register(id, Password[id]);
copy(SavedPassword[id], 31, Password[id]);
}
if(Key == 3)
{
if(equal(SavedPassword[id], Password[id])) {
Loged[id] = true;
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
Menu(id);

// Screen fading
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0,0,0}, id);
write_short(1<<10);
write_short(1<<10);
write_short(0x0000);
write_byte(0);
write_byte(0);
write_byte(200);
write_byte(75);
message_end();
}
}
}

public ToLogout(id)
{
if(Loged[id])
{
Loged[id] = false;
Password[id] = "";
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
}
}
public PlayerPassword(id)
{
new Data[32];
read_args(Data, 31);
remove_quotes(Data);

if(strlen(Data) < 5)
{
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
client_cmd(id, "messagemode UserPassword");
return PLUGIN_HANDLED;
}

if(Loged[id])
{
return PLUGIN_HANDLED;
}

copy(Password[id], 31, Data);
RegMenu(id);
return PLUGIN_CONTINUE;
}
public NameChange(id)
{
if(!is_user_connected(id))
return FMRES_IGNORED;

new OldName[32], NewName[32], Name[32];
get_user_name(id, Name, 31);
pev(id, pev_netname, OldName, charsmax(OldName));
if(OldName[0])
{
get_user_info(id, "name", NewName, charsmax(NewName));
if(!equal(OldName, NewName))
{
set_user_info(id, "name", OldName);
print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
return FMRES_HANDLED;
}
}
return FMRES_IGNORED;
}
stock bool:ValidMdl(Mdl[])
{
if(containi(Mdl, ".mdl") != -1)
{
return true;
}
return false;
}
stock bool:Registered(id)
{
new pFile, Data[2][32], Line[64], Name[32];
get_user_name(id, Name, 31);
pFile = fopen(RegisterFile, "rt");
new bool:ok;

while(!feof(pFile))
{
fgets(pFile, Line, 63);

parse(Line, Data[0], 31, Data[1], 31);

if(equal(Data[0], Name))
{
copy(SavedPassword[id], 31, Data[1]);
ok = true;
break;
}
}

fclose(pFile);

return ok;
}
stock Register(id, const rSavedPassword[])
{
new pFile, Line[64], Name[32];
get_user_name(id, Name, 31);
pFile = fopen(RegisterFile, "at+");
format(Line, 63, "^n^"%s^" ^"%s^"", Name, rSavedPassword);
write_file(RegisterFile, Line);
fclose(pFile);
}
stock Grenades(id)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_flashbang");
}

stock bool:is_user_steam(id)
{
static dp_pointer;

if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}

return false;
}

mahdi
12-31-2016, 10:12
is that

edon1337
12-31-2016, 10:19
please use [PHP] tag

mahdi
12-31-2016, 10:27
http://www.mediafire.com/file/826790eawbyg6qy/amxx.sma

LINK OF SMA

OciXCrom
12-31-2016, 13:15
Delete that 100 meters long post, PLEASE.

JoaoVieira
12-31-2016, 15:26
That's annoying...