Esse shop do hns está dando erros, alguém pode arrumar para mim, e arrumar o Stealth(Invisivilidade), porque quando compra ele não fica invisivel e depois de 20 segundos deve voltar ao normal.
Resumo:
Arrumar os erros do shop, arrumar o stealth(invisibilade), o cara não fica invisivel e depois de 20 segundos o cara deve ficar visivel.
- Spoiler:
- Código:
#include <amxmodx>
#include <fakemeta>
#pragma semicolon 1
/* Hide'n'Seek Shop
* by xPaw & Grim
*
* Credits:
* Grim - for original code/Godmode Key actviation - added pcvars
* Ven - His tutorial for Player Spawn
*/
#define VERSION "2.0"
#define fm_get_user_money(%1) get_pdata_int( %1, 115 )
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
#define MAX_CLIENTS 32
enum Color {
NORMAL = 1, // clients scr_concolor cvar color
GREEN, // Green
TEAM_COLOR, // Red, grey, blue
GREY, // grey
RED, // Red
BLUE, // Blue
};
new TeamName[][] = {
"",
"TERRORIST",
"CT",
"SPECTATOR"
};
// Pcvars
new plugin_on, silentcost, stealthcost, noflashcost, hpcost, armorcost, grenadecost, gravitycost, speedcost, godmodecost;
new allowsilent, allowstealth, allownoflash, allowhp, allowarmor, allowgrenade, allowgravity, allowspeed, allowgodmode;
new usersilent[33], userstealth[33], usernoflash[33], userhp[33], userarmor[33], usergrenade[33], usergravity[33], userspeed[33];
new hpcvar, armorcvar, menu, hasspeed[33], hassilent[33], gotgodmode[33], hasgodmode[33], mess[33], mess2[33];
new g_msgScreenFade, g_msgMoney, grenade[32], last;
new Float:g_gametime, g_owner;
new Float:g_gametime2;
new bool:g_bPlayerNonSpawnEvent[MAX_CLIENTS + 1];
new bool:g_track_enemy;
new bool:g_track[33];
new g_iFwFmClientCommandPost;
new g_sync_check_data;
public plugin_init() {
register_plugin("Hide'n'Seek Shop", VERSION, "xPaw & Grim");
register_cvar("hns_shop_version", VERSION, FCVAR_SERVER);
set_cvar_string("hns_shop_version", VERSION);
// Player Spawn
register_event("ResetHUD", "fwEvResetHUD", "b");
register_event("TextMsg", "fwEvGameWillRestartIn", "a", "2=#Game_will_restart_in");
register_clcmd("fullupdate", "fwCmdClFullupdate");
// Events
register_event("DeathMsg", "eDeath", "a");
register_event("CurWeapon", "speed_on", "be");
register_event("ScreenFade", "eventFlash", "be", "4=255", "5=255", "6=255", "7>199");
register_event("TextMsg", "fire_in_the_hole", "b", "2Game_radio", "4Fire_in_the_hole");
register_event("TextMsg", "fire_in_the_hole2", "b", "3Game_radio", "5Fire_in_the_hole");
register_event("99", "grenade_throw", "b");
// Pcvars
plugin_on = register_cvar("hns_shop", "1");
silentcost = register_cvar("hns_shop_silentcost", "4500");
stealthcost = register_cvar("hns_shop_stealthcost", "9500");
noflashcost = register_cvar("hns_shop_noflashcost", "8000");
grenadecost = register_cvar("hns_shop_grenadecost", "1500");
gravitycost = register_cvar("hns_shop_gravitycost", "13000");
speedcost = register_cvar("hns_shop_speedcost", "7000");
hpcost = register_cvar("hns_shop_hpcost", "8000");
armorcost = register_cvar("hns_shop_armorcost", "6000");
godmodecost = register_cvar("hns_shop_godmodecost", "16000");
hpcvar = register_cvar("hns_shop_hpcvar", "150");
armorcvar = register_cvar("hns_shop_armorcvar", "150");
allowsilent = register_cvar("hns_shop_allowsilent", "1");
allowstealth = register_cvar("hns_shop_allowstealth", "1");
allownoflash = register_cvar("hns_shop_allownoflash", "1");
allowgrenade = register_cvar("hns_shop_allowgrenade", "1");
allowgravity = register_cvar("hns_shop_allowgravity", "1");
allowspeed = register_cvar("hns_shop_allowspeed", "1");
allowhp = register_cvar("hns_shop_allowhp", "1");
allowarmor = register_cvar("hns_shop_allowarmor", "1");
allowgodmode = register_cvar("hns_shop_allowgodmode", "1");
// Clcmds
register_clcmd("say /hnsshop", "show_hnsmenu");
register_clcmd("say /shop", "show_hnsmenu");
register_clcmd("say hnsshop", "show_hnsmenu");
register_clcmd("say shop", "show_hnsmenu");
// Menu
menu = register_menuid("[GTSBR] - Hide'n'Seek Shop");
register_menucmd(menu, 1023, "hnsshop");
// Forwards
register_forward(FM_EmitSound,"fw_emitsound");
register_forward(FM_CmdStart, "fwd_FM_CmdStart_pre", 0);
// Tasks
set_task( 2.0, "bad_fix2",_,_,_, "b" );
set_task( 100.0, "advert",_,_,_, "b" );
g_msgScreenFade = get_user_msgid("ScreenFade");
g_msgMoney = get_user_msgid("Money");
}
public client_connect( id ) {
usersilent[id] = 0;
userstealth[id] = 0;
usernoflash[id] = 0;
userhp[id] = 0;
userarmor[id] = 0;
usergrenade[id] = 0;
usergravity[id] = 0;
userspeed[id] = 0;
gotgodmode[id] = 0;
hasgodmode[id] = 0;
hasspeed[id] = 0;
hassilent[id] = 0;
mess[id] = 0;
mess2[id] = 0;
}
public client_disconnect( id ) {
usersilent[id] = 0;
userstealth[id] = 0;
usernoflash[id] = 0;
userhp[id] = 0;
userarmor[id] = 0;
usergrenade[id] = 0;
usergravity[id] = 0;
userspeed[id] = 0;
gotgodmode[id] = 0;
hasgodmode[id] = 0;
hasspeed[id] = 0;
hassilent[id] = 0;
mess[id] = 0;
mess2[id] = 0;
}
public speed_on( id )
if(is_user_alive(id))
if(hasspeed[id])
fm_set_user_maxspeed(id, 320.0);
// Advert
public advert() {
new g_Maxplayers;
g_Maxplayers = get_maxplayers();
for(new i=1; i<=g_Maxplayers; i++)
if(is_user_connected(i))
ColorChat(i, RED, "^x01[AMXX]^x04 Este servidor usa^x03 Hide'n'Seek Shop^x04, Use^x03 /hnsshop^x04 ou^x03 /shop");
}
public fwd_FM_CmdStart_pre( id, uc_handle, random_seed ) {
if(!is_user_alive(id))
return FMRES_IGNORED;
if(hassilent[id] > 0)
set_pev(id, pev_flTimeStepSound, 999);
static button;
button = get_uc(uc_handle, UC_Buttons);
if(button & IN_RELOAD) {
if(get_pcvar_num(allowgodmode) == 1)
return FMRES_IGNORED;
if(!gotgodmode[id]) {
if(!mess[id]) {
ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 Voce precisa comprar godmode primeiro!");
mess[id]++;
set_task(3.0, "remove_mess", id);
return FMRES_IGNORED;
}
return FMRES_IGNORED;
}
if(hasgodmode[id] > 0) {
if(!mess[id]) {
ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 Seu godmode ja esta ativado!");
mess[id]++;
set_task(3.0, "remove_mess", id);
return FMRES_IGNORED;
}
return FMRES_IGNORED;
}
gotgodmode[id] = 0;
hasgodmode[id]++;
fm_set_user_godmode(id, 1);
if(get_user_team(id) == 1)
fm_set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderTransAlpha, 255);
else if(get_user_team(id) == 2)
fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderTransAlpha, 255);
set_task(5.0, "remove_godmode", id);
if(!mess[id]) {
ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 Seu godmode agora esta ativo!");
mess[id]++;
set_task(3.0, "remove_mess", id);
}
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
// User Spawn event
public fwEvResetHUD( id ) {
if (!is_user_alive(id))
return;
if (g_bPlayerNonSpawnEvent[id]) {
g_bPlayerNonSpawnEvent[id] = false;
return;
}
fwPlayerSpawn(id);
}
public fwEvGameWillRestartIn() {
static iPlayers[32], iPlayersNum, i;
get_players(iPlayers, iPlayersNum, "a");
for (i = 0; i < iPlayersNum; ++i)
g_bPlayerNonSpawnEvent[iPlayers[i]] = true;
}
public fwCmdClFullupdate( id ) {
g_bPlayerNonSpawnEvent[id] = true;
static const szFwFmClientCommandPost[] = "fwFmClientCommandPost";
return PLUGIN_CONTINUE;
}
public fwFmClientCommandPost( id ) {
unregister_forward(FM_ClientCommand, g_iFwFmClientCommandPost, 1);
g_bPlayerNonSpawnEvent[id] = false;
return FMRES_HANDLED;
}
public fwPlayerSpawn( id ) {
if(!is_user_alive(id))
return PLUGIN_HANDLED;
if(get_pcvar_num(plugin_on) == 1) {
set_pev(id, pev_flTimeStepSound, 400);
fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
fm_set_user_health(id, 100);
fm_set_user_armor(id, 0);
fm_set_user_gravity(id, 1.0);
usersilent[id] = 0;
userstealth[id] = 0;
usernoflash[id] = 0;
userhp[id] = 0;
userarmor[id] = 0;
usergrenade[id] = 0;
usergravity[id] = 0;
userspeed[id] = 0;
hassilent[id] = 0;
}
return PLUGIN_HANDLED;
}
// User Death event
public eDeath( id ) {
new victem = read_data(2);
usersilent[victem] = 0;
userstealth[victem] = 0;
usernoflash[victem] = 0;
userhp[victem] = 0;
userarmor[victem] = 0;
usergrenade[victem] = 0;
usergravity[victem] = 0;
userspeed[victem] = 0;
hasspeed[victem] = 0;
hasgodmode[victem] = 0;
hassilent[victem] = 0;
}
// Showing menu
public show_hnsmenu( id ) {
if(get_pcvar_num(plugin_on) == 1) {
new szBuffer[512], iLen;
iLen = formatex(szBuffer, sizeof szBuffer - 1, "\r[GTSBR] - Hide'n'Seek Shop\w^n^n");
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r1. \wPassos Silenciosos - \y%d$^n", get_pcvar_num(silentcost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r2. \wInvisibilidade \r(20 segundos) - \y%d$^n", get_pcvar_num(stealthcost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r3. \wFlash nao cegam - \y%d$^n", get_pcvar_num(noflashcost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r4. \w%d Vida - \y%d$^n", get_pcvar_num(hpcvar), get_pcvar_num(hpcost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r5. \w%d Colete - \y%d$^n", get_pcvar_num(armorcvar), get_pcvar_num(armorcost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r6. \wHE Granada - \y%d$^n", get_pcvar_num(grenadecost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r7. \wGravidade \r(10 segundos) - \y%d$^n", get_pcvar_num(gravitycost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r8. \wVelocidade \r(25 segundos) - \y%d$^n", get_pcvar_num(speedcost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r9. \wGodmode \d(key activation) \r(5 segundos) - \y%d$^n^n", get_pcvar_num(godmodecost));
iLen += formatex(szBuffer[iLen], (sizeof szBuffer - 1) - iLen, "\r0. \wSair");
new iKeys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<< 8 | 1<<9 );
show_menu(id, iKeys, szBuffer, -1, "Hide'n'Seek Shop");
} else
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 A loja foi desativada.");
return PLUGIN_HANDLED;
}
// Shop actions
public hnsshop( id, key ) {
switch( key ) {
case 0: // Silent Footsteps
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(usersilent[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowsilent) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(silentcost);
if(money > cost || money == cost) {
set_pev(id, pev_flTimeStepSound, 999);
fm_set_user_money(id, money - cost);
usersilent[id]++;
hassilent[id]++;
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 Passos Silenciosos,^x04 agora o inimigo nao pode ouvi-lo.");
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 1: // Stealth Suit
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(userstealth[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowstealth) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(stealthcost);
if(money > cost || money == cost) {
fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 15);
fm_set_user_money(id, money - cost);
userstealth[id]++;
set_task(20.0, "remove_stealth", id);
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 Invisibilidade,^x04 agora voce e invisivel por 20 segundos.") ;
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 2: // NoFlash Blinding
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(usernoflash[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allownoflash) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(noflashcost);
if(money > cost || money == cost) {
fm_set_user_money(id, money - cost);
usernoflash[id]++;
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 Flash nao cegam.");
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 3: // HP
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(userhp[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowhp) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(hpcost);
if(money > cost || money == cost) {
new health = get_pcvar_num(hpcvar);
fm_set_user_money(id, money - cost);
fm_set_user_health(id, health);
userhp[id]++;
client_cmd(id, "spk items/medshot4");
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 %d de Vida.", get_pcvar_num(hpcvar));
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 4: // Armor
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(userarmor[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowarmor) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(armorcost);
if(money > cost || money == cost) {
new armor = get_pcvar_num(armorcvar);
fm_set_user_money(id, money - cost);
fm_set_user_armor(id, armor);
userarmor[id]++;
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 %d de Colete.", get_pcvar_num(armorcvar));
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 5: // HE Grenade
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(usergrenade[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowgrenade) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(grenadecost);
if(money > cost || money == cost) {
fm_set_user_money(id, money - cost);
fm_give_item(id, "weapon_hegrenade");
usergrenade[id]++;
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 HE Granada.");
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 6: // Gravity
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(usergravity[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowgravity) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(gravitycost);
if(money > cost || money == cost) {
fm_set_user_money(id, money - cost);
fm_set_user_gravity(id, 0.63);
usergravity[id]++;
set_task(10.0, "remove_gravity", id);
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 Gravidade^x04 por 10 segundos.");
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 7: // Faster Speed
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(userspeed[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowspeed) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(speedcost);
if(money > cost || money == cost) {
fm_set_user_money(id, money - cost);
userspeed[id]++;
hasspeed[id]++;
fm_set_user_maxspeed(id, 320.0);
set_task(25.0, "remove_speed", id);
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 Velocidade^x04 por 25 segundos.");
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 8: // Godmode
{
if(!is_user_alive(id)) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa estar vivo!");
return PLUGIN_HANDLED;
}
if(gotgodmode[id] > 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce ja possui este item!");
return PLUGIN_HANDLED;
}
if(get_pcvar_num(allowgodmode) == 0) {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Este item esta desativado.");
return PLUGIN_HANDLED;
}
new money = fm_get_user_money(id);
new cost = get_pcvar_num(godmodecost);
if(money > cost || money == cost) {
gotgodmode[id]++;
fm_set_user_money(id, money - cost);
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce comprou^x03 Godmode,^x04 pressione R(Recarregar)^x01 para ativa-lo.");
} else {
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce precisa de mais^x04 dinheiro^x01 para comprar isso!");
}
}
case 9: // Exit
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
// Remove Gravity
public remove_gravity( id ) {
fm_set_user_gravity(id, 1.0);
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Sua gravidade agora e normal.");
}
// Remove Stealth
public remove_stealth( id ) {
fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Voce esta^x03 visivel^x01 como os outros.");
}
// Remove Speed
public remove_speed( id ) {
fm_set_user_maxspeed(id, 250.0);
hasspeed[id] = 0;
ColorChat(id, BLUE, "^x04[Hide'n'Seek Shop]^x01 Sua velocidade agora e normal.");
}
// Remove Godmode
public remove_godmode( id ) {
hasgodmode[id] = 0;
fm_set_user_godmode(id, 0);
if(!mess2[id]) {
ColorChat(id, RED, "^x04[Hide'n'Seek Shop]^x01 Voce nao tem mais godmode.");
mess2[id]++;
fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
set_task(3.0, "remove_mess2", id);
}
}
public remove_mess( id ) mess[id] = 0;
public remove_mess2( id ) mess2[id] = 0;
/// NoFlash Blinding - Start
public bad_fix2() {
new Float:gametime = get_gametime();
if(gametime - g_gametime2 > 2.5)
for(new i = 0; i < 32; i++)
grenade[i] = 0;
}
public eventFlash( id ) {
new Float:gametime = get_gametime();
if(gametime != g_gametime) {
g_owner = get_grenade_owner();
g_gametime = gametime;
for(new i = 0; i < 33; i++)
g_track[i] = false;
g_track_enemy = false;
}
if(is_user_connected(g_owner) && usernoflash[id] > 0) {
g_track_enemy = true;
message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id);
write_short(1);
write_short(1);
write_short(1);
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(255);
message_end();
}
}
public flash_delay() {
if(g_track_enemy == false) {
for(new i = 0; i < 33; i++) {
if(g_track[i] == true && is_user_connected(i)) {
message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, i) ;
write_short(1);
write_short(1);
write_short(1);
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(255);
message_end();
}
}
}
}
public grenade_throw() {
if(g_sync_check_data == 0)
return PLUGIN_CONTINUE;
g_sync_check_data--;
if(read_datanum() < 2)
return PLUGIN_HANDLED_MAIN;
if(read_data(1) == 11 && (read_data(2) == 0 || read_data(2) == 1))
add_grenade_owner(last);
return PLUGIN_CONTINUE;
}
public fire_in_the_hole() {
new name[32];
read_data(3, name, 31);
new temp_last = get_user_index(name);
new junk;
if((temp_last == 0) || (!is_user_connected(temp_last)))
return PLUGIN_CONTINUE;
if(get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {
last = temp_last;
g_sync_check_data = 2;
}
return PLUGIN_CONTINUE;
}
public fire_in_the_hole2() {
new name[32];
read_data(4, name, 31);
new temp_last = get_user_index(name);
new junk;
if((temp_last == 0) || (!is_user_connected(temp_last)))
return PLUGIN_CONTINUE;
if(get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {
last = temp_last;
g_sync_check_data = 2;
}
return PLUGIN_CONTINUE;
}
add_grenade_owner(owner) {
new Float:gametime = get_gametime();
g_gametime2 = gametime;
for(new i = 0; i < 32; i++) {
if(grenade[i] == 0) {
grenade[i] = owner;
return;
}
}
}
get_grenade_owner() {
new which = grenade[0];
for(new i = 1; i < 32; i++)
grenade[i-1] = grenade[i];
grenade[31] = 0;
return which;
}
// from XxAvalanchexX "Flashbang Dynamic Light"
public fw_emitsound(entity,channel,const sample[],Float:volume,Float:attenuation,fFlags,pitch) {
if(!equali(sample,"weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav"))
return FMRES_IGNORED;
new Float:gametime = get_gametime();
//in case no one got flashed, the sound happens after all the flashes, same game time
if(gametime != g_gametime) {
g_owner = get_grenade_owner();
return FMRES_IGNORED;
}
return FMRES_IGNORED;
}
// NoFlash Blinding - End
// Stocks - Start
public fm_set_user_money ( index, i_Money ) {
set_pdata_int ( index, 115, i_Money );
message_begin ( MSG_ONE, g_msgMoney, _, index );
write_long ( i_Money );
write_byte ( 1 );
message_end ();
}
stock fm_get_user_godmode( index ) {
new Float:val;
pev(index, pev_takedamage, val);
return (val == DAMAGE_NO);
}
stock fm_set_user_godmode( index, godmode = 0 ) {
set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);
return 1;
}
stock fm_set_user_health( index, health ) {
health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index);
return 1;
}
stock fm_set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
return fm_set_rendering(index, fx, r, g, b, render, amount);
}
stock fm_set_user_maxspeed( index, Float:speed = -1.0 ) {
engfunc(EngFunc_SetClientMaxspeed, index, speed);
set_pev(index, pev_maxspeed, speed);
return 1;
}
stock fm_set_user_armor( index, armor ) {
set_pev(index, pev_armorvalue, float(armor));
return 1;
}
stock fm_set_user_gravity( index, Float:gravity = 1.0 ) {
set_pev(index, pev_gravity, gravity);
return 1;
}
stock fm_give_item( index, const item[] ) {
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5))
return 0;
new ent = fm_create_entity(item);
if (!pev_valid(ent))
return 0;
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if (pev(ent, pev_solid) != save)
return ent;
engfunc(EngFunc_RemoveEntity, ent);
return -1;
}
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
new Float:RenderColor[3];
RenderColor[0] = float(r);
RenderColor[1] = float(g);
RenderColor[2] = float(b);
set_pev(entity, pev_renderfx, fx);
set_pev(entity, pev_rendercolor, RenderColor);
set_pev(entity, pev_rendermode, render);
set_pev(entity, pev_renderamt, float(amount));
return 1;
}
// Stocks - End
// ColorChat - Start
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) {
new message[256];
switch(type) {
case NORMAL: message[0] = 0x01;
case GREEN: message[0] = 0x04;
default: 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;
}
Resumo:
Arrumar os erros do shop, arrumar o stealth(invisibilade), o cara não fica invisivel e depois de 20 segundos o cara deve ficar visivel.