Intrati in sursa si vedeti exact la ce plugin ma refer.
Am compilat pluginul si l-am bagat pe server si pe windows si pe linux dar nu imi functiuoneaza.
Ma poate ajuta cineva sa il faca sa functioneze si pe win si pe linux si sa functioneze corect va rog frumos.
Las mai jos sursa pluginului plus eroarea.
Code: Select all
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
#include <dhudmessage>
#include <csx>
#include <fun>
#define TASKROUND 1231232135
#define TASKBOMB 42342523
#define PLUGIN "CS: Competitive Mod"
#define VERSION "1.9"
#define AUTHOR "nu stiu:))"
#define szTag "!g[!tCSGO]!n -"
#define SWITCH_TIME 9 // seconds
new TeamScore [ 2 ], Switched, Showmsg, g_nextMap[32], g_mapCycle[32], g_pos
new Float:C4_CountDownDelay
new Float:roundtime
new end
new hs[33]
native get_mvp()
native set_user_chest(id,nr)
native get_user_chest(id)
public plugin_init ( ) {
register_plugin ( PLUGIN, VERSION, AUTHOR );
register_logevent ( "round_start", 2, "1=Round_Start" );
register_logevent ( "round_end", 2, "1=Round_End" );
register_event ( "SendAudio", "t_win", "a", "2=%!MRAD_terwin" );
register_event ( "SendAudio", "ct_win", "a", "2=%!MRAD_ctwin" );
register_event( "HLTV", "ev_RoundStart", "a", "1=0", "2=0" );
register_event("DeathMsg", "Event_DeathMsg", "a")
set_task ( 1.0, "CheckPlayers", _, _, _, "b" );
new szString[32], szString2[32], szString3[8]
get_localinfo("lastmapcycle", szString, 31)
parse(szString, szString2, 31, szString3, 7)
g_pos = str_to_num(szString3)
get_cvar_string("mapcyclefile", g_mapCycle, 31)
if (!equal(g_mapCycle, szString2))
g_pos = 0 // mapcyclefile has been changed - go from first
readMapCycle(g_mapCycle, g_nextMap, 31)
set_cvar_string("amx_nextmap", g_nextMap)
format(szString3, 31, "%s %d", g_mapCycle, g_pos) // save lastmapcycle settings
set_localinfo("lastmapcycle", szString3)
}
public dff()
{
TeamScore [ 1 ] = 15
}
public plugin_precache()
{
engfunc(EngFunc_PrecacheSound, "csgox/freezetime.mp3")
engfunc(EngFunc_PrecacheSound, "csgox/20secunderamase.mp3")
engfunc(EngFunc_PrecacheSound, "csgox/10secundec4.mp3")
engfunc(EngFunc_PrecacheSound, "csgox/ctwin.mp3")
engfunc(EngFunc_PrecacheSound, "csgox/twin.mp3")
}
public ev_RoundStart ( ) {
remove_task(TASKROUND)
client_cmd(0, "stopsound")
client_cmd(0, "mp3 stop")
client_cmd(0, "mp3 play sound/csgox/freezetime.mp3")
}
public vote()
{
server_cmd("gal_startvote")
}
public round_start ( ) {
end = 0
if (!Showmsg ) {
set_hudmessage ( 255, 85, 0, -1.0, 0.13, 1, 6.0, 2.0 );
show_hudmessage ( 0, "MATCH STARTS!" );
set_pev ( 0, pev_flags, pev ( 0, pev_flags ) & ~FL_FROZEN );
Showmsg = 1;
set_task(60.0, "vote")
}
if ( TeamScore [ 0 ] == 15 && TeamScore [ 1 ] < 15 ) {
set_hudmessage ( 255, 255, 255, -1.0, 0.13, 1, 6.0, 3.0 );
show_hudmessage ( 0, "RUNDA DECISIVA!" );
}
if ( TeamScore [ 1 ] == 15 && TeamScore [ 0 ] < 15 ) {
set_hudmessage ( 255, 255, 255, -1.0, 0.13, 1, 6.0, 3.0 );
show_hudmessage ( 0, "RUNDA DECISIVA!" );
}
if ( TeamScore [ 0 ] == 15 && TeamScore [ 1 ] == 14 ) {
set_hudmessage ( 255, 85, 0, -1.0, 0.13, 1, 6.0, 3.0 );
show_hudmessage ( 0, "ULTIMA RUNDA!" );
}
if ( TeamScore [ 1 ] == 15 && TeamScore [ 0 ] == 14 ) {
set_hudmessage ( 255, 85, 0, -1.0, 0.13, 1, 6.0, 3.0 );
show_hudmessage ( 0, "ULTIMA RUNDA!" );
}
if ( TeamScore [ 0 ] + TeamScore [ 1 ] == 14 && !Switched ) {
set_hudmessage ( 255, 85, 0, -1.0, 0.15, 1, 6.0, 3.0 );
show_hudmessage ( 0, "ULTIMA RUNDA DIN PRIMA REPRIZA!" );
}
remove_task(TASKROUND)
client_cmd(0, "mp3 stop")
client_cmd(0, "stopsound")
roundtime = (get_cvar_float("mp_roundtime")*60.0)-20.0
set_task(roundtime, "startspk", TASKROUND)
}
public startspk()
{
client_cmd(0, "mp3 play sound/csgox/20secunderamase.mp3")
}
public bomb_planted() {
if(end)
return 1;
remove_task(TASKROUND)
C4_CountDownDelay = get_cvar_float("mp_c4timer")-10.0
client_cmd(0, "mp3 stop")
client_cmd(0, "stopsound")
set_task(C4_CountDownDelay, "bomb", TASKBOMB)
return 0;
}
public bomb()
{
client_cmd(0, "mp3 play sound/csgox/10secundec4.mp3")
}
public round_end ( ) {
if ( TeamScore [ 0 ] + TeamScore [ 1 ] >= 15 && !Switched ) {
set_hudmessage ( 255, 255, 255, -1.0, 0.13, 1, 6.0, 5.0, 0.0, 0.0, -1 );
show_hudmessage ( 0, "\\ TEAM SWITCH //" );
Switched = 1;
TeamSwitch ( );
new t_score = TeamScore [ 0 ];
new ct_score = TeamScore [ 1 ];
TeamScore [ 0 ] = ct_score;
TeamScore [ 1 ] = t_score;
server_cmd ( "amx_cvar mp_startmoney 800" );
set_pev ( 0, pev_flags, pev ( 0, pev_flags ) | FL_FROZEN );
}
if ( TeamScore [ 0 ] >= 16 || TeamScore [ 1 ] >= 16 ) {
new mvp[32], tfrag, ctfrag, hs, ntfrag[32], nctfrag[32], nhs[32]
tfrag = tPower()
ctfrag = ctPower()
hs = hsPower()
get_user_name(get_mvp(), mvp, 31)
get_user_name(tfrag, ntfrag, 31)
get_user_name(ctfrag, nctfrag, 31)
get_user_name(hs, nhs, 31)
if(!tfrag)
formatex(ntfrag, 31, "Nimeni")
if(!ctfrag)
formatex(nctfrag, 31, "Nimeni")
if(!hs)
formatex(nhs, 31, "Nimeni")
if(!get_mvp())
formatex(mvp, 31, "Nimeni")
if ( TeamScore [ 0 ] > TeamScore [ 1 ] ) {
set_hudmessage ( 255, 0, 0, -1.0, 0.13, 1, 6.0, 360.0 );
show_hudmessage ( 0, "TERORISTII AU CASTIGAT MECIUL!^n^nCele Mai Multe MVP-uri %s^nCel mai bun T %s^nCel mai bun CT %s^nCele mai multe HS %s", mvp,ntfrag,nctfrag,nhs );
for(new x; x < 32; x++)
{
if(!is_user_connected(x))
continue;
}
set_task (5.0, "changelevel_" );
}
else if ( TeamScore [ 1 ] > TeamScore [ 0 ] ) {
set_hudmessage ( 0, 127, 255, -1.0, 0.13, 1, 6.0, 360.0 );
show_hudmessage ( 0, "ANTI TERORISTII AU CASTIGAT MECIUL!^n^nCele Mai Multe MVP-uri %s^nCel mai bun T %s^nCel mai bun CT %s^nCele mai multe HS %s", mvp,ntfrag,nctfrag,nhs );
for(new x; x < 32; x++)
{
if(!is_user_connected(x))
continue;
}
set_task ( 5.0, "changelevel_" );
}
else if ( TeamScore [ 1 ] == TeamScore [ 0 ] ) {
set_hudmessage ( 255, 85, 0, -1.0, 0.13, 1, 6.0, 360.0 );
show_hudmessage ( 0, "MECI EGAL!^n^nCele mai multe MVP-uri %s^nCel mai bun T %s^nCel mai bun CT %s^nCele mai multe HS %s", mvp,ntfrag,nctfrag,nhs );
set_task ( 5.0, "changelevel_" );
}
set_pev ( 0, pev_flags, pev ( 0, pev_flags ) | FL_FROZEN );
}
end = 1
return 1;
}
stock tPower()
{
new iPlayers[32], iNum, id, i, iLeader, iPacks, mvt
get_players( iPlayers, iNum, "ch" )
for ( i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(cs_get_user_team(id) == CS_TEAM_T)
{
iPacks = get_user_frags(id)
if(iPacks >= 50)
set_user_chest(id,get_user_chest(id)+1)
if ( iPacks > mvt )
{
mvt = iPacks
iLeader = id
}
}
}
return iLeader
}
stock ctPower()
{
new iPlayers[32], iNum, id, i, iLeader, iPacks, mvt
get_players( iPlayers, iNum, "ch" )
for ( i = 0; i < iNum; i++ )
{
id = iPlayers[i]
if(cs_get_user_team(id) == CS_TEAM_CT)
{
iPacks = get_user_frags(id)
if(iPacks >= 50)
set_user_chest(id,get_user_chest(id)+1)
if ( iPacks > mvt )
{
mvt = iPacks
iLeader = id
}
}
}
return iLeader
}
public Event_DeathMsg()
{
new id = read_data(1)
new hss = read_data(3);
if(is_user_connected(id) && hss)
hs[id]++
}
stock hsPower()
{
new iPlayers[32], iNum, id, i, iLeader, iPacks, mvt
get_players( iPlayers, iNum, "ch" )
for ( i = 0; i < iNum; i++ )
{
id = iPlayers[i]
iPacks = hs[id]
if ( iPacks > mvt )
{
mvt = iPacks
iLeader = id
}
}
return iLeader
}
public changelevel_ ( ) {
new name[32]
getNextMapName(name, 31);
server_cmd ( "amx_map %s",name );
}
public t_win ( )
{
TeamScore [ 0 ]++;
remove_task(TASKBOMB)
remove_task(TASKROUND)
client_cmd(0, "mp3 stop")
client_cmd(0, "stopsound")
client_cmd(0, "mp3 play sound/csgox/twin.mp3")
}
public ct_win ( )
{
TeamScore [ 1 ]++;
remove_task(TASKBOMB)
remove_task(TASKROUND)
client_cmd(0, "mp3 stop")
client_cmd(0, "stopsound")
client_cmd(0, "mp3 play sound/csgox/ctwin.mp3")
}
public TeamSwitch ( ) {
new iPlayers[ 32 ], iNum;
get_players( iPlayers, iNum );
if( iNum )
{
new id;
for( --iNum; iNum >= 0; iNum-- )
{
id = iPlayers[ iNum ];
BeginDelayedTeamChange( id );
}
}
}
public BeginDelayedTeamChange ( id ) {
switch( id )
{
case 1..6: set_task( 0.1, "ChangeUserTeamWithDelay", id + 112233 );
case 7..13: set_task( 0.2, "ChangeUserTeamWithDelay", id + 112233 );
case 14..20: set_task( 0.3, "ChangeUserTeamWithDelay", id + 112233 );
case 21..26: set_task( 0.4, "ChangeUserTeamWithDelay", id + 112233 );
case 27..32: set_task( 0.5, "ChangeUserTeamWithDelay", id + 112233 );
}
}
public ChangeUserTeamWithDelay ( id ) {
id -= 112233;
if( !is_user_connected( id ) ) return 1;
cs_set_user_money ( id, 800 , 1);
switch( cs_get_user_team( id ) )
{
case CS_TEAM_T: cs_set_user_team( id, CS_TEAM_CT );
case CS_TEAM_CT:cs_set_user_team( id, CS_TEAM_T );
}
server_cmd ( "sv_restart 1" );
return 0;
}
public CheckPlayers ( ) {
set_dhudmessage ( 51, 102, 153, -1.0, 0.06, 1, 6.0, 3.0 );
if ( TeamScore [ 0 ] + TeamScore [ 1 ] + 1 > 10 )
show_dhudmessage ( 0, "Runda: %d", TeamScore [ 0 ] + TeamScore [ 1 ] + 1 );
else if ( TeamScore [ 0 ] + TeamScore [ 1 ] + 1 == 10 )
show_dhudmessage ( 0, "Runda: 10" );
else
show_dhudmessage ( 0, "Runda: 0%d", TeamScore [ 0 ] + TeamScore [ 1 ] + 1 );
set_dhudmessage ( 156, 255, 0, -1.0, 0.09, 1, 6.0, 3.0 );
show_dhudmessage ( 0, "T: %s%d - CT: %s%d", TeamScore [ 0 ] > 9 ? "" : "0", TeamScore [ 0 ], TeamScore [ 1 ] > 9 ? "" : "0", TeamScore [ 1 ] );
}
stock PlayerAllCount ( Team ) {
new iCount = 0;
for ( new i = 1; i <= get_maxplayers ( ); i++) {
if ( is_user_connected ( i ) && get_user_team ( i ) == Team )
++iCount;
}
return iCount;
}
stock bacon_strip_weapon(index, weapon[]) {
if(!equal(weapon, "weapon_", 7))
return 0
static weaponid
weaponid = get_weaponid(weapon)
if(!weaponid)
return 0
static weaponent
weaponent = fm_find_ent_by_owner(-1, weapon, index)
if(!weaponent)
return 0
if(get_user_weapon(index) == weaponid)
ExecuteHamB(Ham_Weapon_RetireWeapon, weaponent)
if(!ExecuteHamB(Ham_RemovePlayerItem, index, weaponent))
return 0
ExecuteHamB(Ham_Item_Kill, weaponent)
set_pev(index, pev_weapons, pev(index, pev_weapons) & ~(1<<weaponid))
return 1
}
stock chat_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[320]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!n", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!t2", "^0")
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, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
getNextMapName(szArg[], iMax)
{
new len = get_cvar_string("amx_nextmap", szArg, iMax)
if (ValidMap(szArg)) return len
len = copy(szArg, iMax, g_nextMap)
set_cvar_string("amx_nextmap", g_nextMap)
return len
}
stock bool:ValidMap(mapname[])
{
if ( is_map_valid(mapname) )
{
return true;
}
// If the is_map_valid check failed, check the end of the string
new len = strlen(mapname) - 4;
// The mapname was too short to possibly house the .bsp extension
if (len < 0)
{
return false;
}
if ( equali(mapname[len], ".bsp") )
{
// If the ending was .bsp, then cut it off.
// the string is byref'ed, so this copies back to the loaded text.
mapname[len] = '^0';
// recheck
if ( is_map_valid(mapname) )
{
return true;
}
}
return false;
}
new g_warning[] = "WARNING: Couldn't find a valid map or the file doesn't exist (file ^"%s^")"
readMapCycle(szFileName[], szNext[], iNext)
{
new b, i = 0, iMaps = 0
new szBuffer[32], szFirst[32]
if (file_exists(szFileName))
{
while (read_file(szFileName, i++, szBuffer, 31, b))
{
if (!isalnum(szBuffer[0]) || !ValidMap(szBuffer)) continue
if (!iMaps)
copy(szFirst, 31, szBuffer)
if (++iMaps > g_pos)
{
copy(szNext, iNext, szBuffer)
g_pos = iMaps
return
}
}
}
if (!iMaps)
{
log_amx(g_warning, szFileName)
get_mapname(szFirst, 31)
}
copy(szNext, iNext, szFirst)
g_pos = 1
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Si aici avem eroarea din consola
Code: Select all
unknown unknown unknown cs_competitive. bad