Yardım Colorchat
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 270
- Kayıt: Cum Eyl 15, 2017 6:37 pm
Yardım Colorchat
Merhaba ben colorchat hatası alıyorum YeeBot'tan kodu buldum yapıştırdım da halen aynı hatayı alıyorum yardımcı olacak varmı? Sma.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
Yardım Colorchat
Buyur.
Kod: Tümünü seç
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
enum Color
{
NORMAL = 1, // clients scr_concolor cvar color
GREEN, // Green Color
TEAM_COLOR, // Red, grey, blue
GREY, // grey
RED, // Red
BLUE, // Blue
}
new TeamName[][] =
{
"",
"TERRORIST",
"CT",
"SPECTATOR"
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
if( !get_playersnum() ) return;
new message[256];
switch(type)
{
case NORMAL: // clients scr_concolor cvar color
{
message[0] = 0x01;
}
case GREEN: // Green
{
message[0] = 0x04;
}
default: // White, Red, Blue
{
message[0] = 0x03;
}
}
vformat(message[1], 251, msg, 4);
// Make sure message is not longer than 192 character. Will crash the server.
message[192] = '^0';
new team, ColorChange, index, MSG_Type;
if(id)
{
MSG_Type = MSG_ONE;
index = id;
} else {
index = FindPlayer();
MSG_Type = MSG_ALL;
}
team = get_user_team(index);
ColorChange = ColorSelection(index, MSG_Type, type);
ShowColorMessage(index, MSG_Type, message);
if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}
ShowColorMessage(id, type, message[])
{
static bool:saytext_used;
static get_user_msgid_saytext;
if(!saytext_used)
{
get_user_msgid_saytext = get_user_msgid("SayText");
saytext_used = true;
}
message_begin(type, get_user_msgid_saytext, _, id);
write_byte(id)
write_string(message);
message_end();
}
Team_Info(id, type, team[])
{
static bool:teaminfo_used;
static get_user_msgid_teaminfo;
if(!teaminfo_used)
{
get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
teaminfo_used = true;
}
message_begin(type, get_user_msgid_teaminfo, _, id);
write_byte(id);
write_string(team);
message_end();
return 1;
}
ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}
return 0;
}
FindPlayer()
{
new i = -1;
while(i <= get_maxplayers())
{
if(is_user_connected(++i))
return i;
}
return -1;
}
new const PLUGIN[] = "Global Offensive";
new const VERSION[] = "1.0p";
new const AUTHOR[] = "DeRoiD";
#define MAX 50
#define PointsMin 3
#define PointsMax 8
#define Drop 10
#define MarkMin 25
#pragma semicolon 1
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];
new DefaultSkin[31][32], NeedKills[30], Rangs[30][32];
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"
};
new const FirstWeaponNames[][][] =
{
{ "AK47", "weapon_ak47" },
{ "M4A1", "weapon_m4a1" },
{ "AWP", "weapon_awp" },
{ "FAMAS", "weapon_famas" },
{ "MP5", "weapon_mp5navy" },
{ "SHOTGUN", "weapon_mp3" }
};
new const SecondaryWeaponNames[][][] =
{
{ "DEAGLE", "weapon_deagle" },
{ "USP", "weapon_usp" }
};
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]");
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))
{
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]);
}
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]);
}
}
}
}
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("say /reg", "RegMenu");
register_clcmd("say /gun", "Guns");
register_concmd("Cost", "MarketCost");
register_concmd("Gift", "GiftPoint");
register_concmd("Password", "PlayerPassword");
SayText = get_user_msgid("SayText");
register_forward(FM_ClientUserInfoChanged, "NameChange");
RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
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 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];
read_args(Chat, 255);
remove_quotes(Chat);
get_user_name(id, Name, 31);
if(strlen(Chat) > 1)
{
formatex(cChat, 255, "^4[%s] ^3%s^1: %s", Rangs[Rang[id]], Name, Chat);
}
switch(cs_get_user_team(id))
{
case 1: ColorChat(0, RED, cChat);
case 2: ColorChat(0, BLUE, cChat);
case 3: 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)
{
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, Name[32];
pPont += random_num(PointsMin, PointsMax);
Points[Killer] += pPont;
set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
if(Drop >= 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);
}
if(x == 2)
{
Chest[Killer]++;
print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
}
}
Save(Killer);
return PLUGIN_CONTINUE;
}
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;
}
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;
}
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;
}
for(new i = 1; i < AllWeapon; i++)
{
if(i == UsingWeapon[0][id])
{
if(wid == Weapons[i])
{
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return HAM_SUPERCEDE;
}
}
else if(i == UsingWeapon[1][id])
{
if(wid == Weapons[i])
{
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return HAM_SUPERCEDE;
}
}
else if(i == UsingWeapon[2][id])
{
if(wid == Weapons[i])
{
set_pev(id, pev_viewmodel2, WeaponMdls[i]);
return HAM_SUPERCEDE;
}
}
}
log_amx("%d %s", wid, DefaultSkin[wid]);
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");
}
if(!inMarket[id])
{
formatex(Line, 127, "%L%L",
LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
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]]);
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]--;
}
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;
}
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[256];
new LineName[32], tData[5][8], Data[MAX][8];
while(!feof(pFile))
{
fgets(pFile, Line, 255);
if(Line[0] == ';' || strlen(Line) < 2)
continue;
parse(Line, LineName, 31);
if(equal(LineName, Name))
{
parse(Line, LineName, 31, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7,
Data[0], 7, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7,
Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7,
Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7,
Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7,
Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7,
Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7,
Data[48], 7, Data[49], 7);
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++)
{
uWeapon[i][id] = str_to_num(Data[i]);
}
return PLUGIN_HANDLED;
}
}
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[192], Lines;
new LineName[32], bool:Found;
while(!feof(pFile))
{
fgets(pFile, Line, 191);
if(Line[0] == ';' || strlen(Line) < 2)
continue;
parse(Line, LineName, 31);
if(equal(LineName, Name) && !Found)
{
new mLine[256], LoadWeapon[256], String[8];
format(String, 7, "^"%i^" ", Kills[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", Points[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", pKey[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", Chest[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", Rang[id]);
add(LoadWeapon, 255, String);
for(new i; i < MAX; i++)
{
format(String, 7, "^"%i^" ", uWeapon[i][id]);
add(LoadWeapon, 255, String);
}
formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
write_file(SaveFile, mLine, Lines);
Found = true;
return PLUGIN_HANDLED;
}
Lines++;
}
if(!Found)
{
new mLine[256], LoadWeapon[256], String[8];
format(String, 7, "^"%i^" ", Kills[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", Points[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", pKey[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", Chest[id]);
add(LoadWeapon, 255, String);
format(String, 7, "^"%i^" ", Rang[id]);
add(LoadWeapon, 255, String);
for(new i; i < MAX; i++)
{
format(String, 7, "^"%i^" ", uWeapon[i][id]);
add(LoadWeapon, 255, String);
}
formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
write_file(SaveFile, mLine);
return PLUGIN_HANDLED;
}
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");
if(!Registered(id))
{
format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
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", Password[id]);
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 Password");
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);
}
}
}
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 Password");
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");
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]);
return true;
}
}
fclose(pFile);
return false;
}
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");
}
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 270
- Kayıt: Cum Eyl 15, 2017 6:37 pm
-
Konu Sahibi - Mesajlar: 270
- Kayıt: Cum Eyl 15, 2017 6:37 pm
Yardım Colorchat
error 030: compound statement not closed at the end of file bu nedir?
Link: | |
Linklerini gizle |
-
- Mesajlar: 1958
- Kayıt: Sal Tem 05, 2016 2:27 pm
- Server Ip/DNS: -
- Clan İsmi: -
- İletişim:
Yardım Colorchat
Bunu dene
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |