greendragon_ng
Mr & Ms Pac-Man
^ Bác chỉ dùm đc ko. Tui xài Mth 2.0 nè mà vẫn bị lỗi...
^ Bác chỉ dùm đc ko. Tui xài Mth 2.0 nè mà vẫn bị lỗi...
!!!mình cài đặt cs1.6 catalysm thì bị lỗi treo game ở ngay màn hình nhấn nút OK (lúc vào server), mình đã cài lại nhiều lần vẫn bị, máy mình win 7 và mình không dùng IDM, làm ơn giúp mình với! :(
Không tắt hẳn được hả :( Mở máy vào chơi lần đầu là nó lại hiện, phải xóa đi và vào lại hoặc ngắt hẳn mạng đi :( Bởi vậy muốn tắt luôn :)xóa đi là xong thôi mà![]()
Không tắt hẳn được hả :( Mở máy vào chơi lần đầu là nó lại hiện, phải xóa đi và vào lại hoặc ngắt hẳn mạng đi :( Bởi vậy muốn tắt luôn :)
Tuyệt vời ông mặt trời ờibackup launcher cũ đấy lại rồi xóa đi. Down file của tôi về rồi giải nén. done !
^: ver 23. Không ý gì nhưng chắc chắn là mod css chưa![]()

Đang vọc sourcemod sếp à
cái gì cũng cần có người tiên phong![]()


rất hoan hô, nhưng trước ở đây có người tiên rồi nhưng ko thành
Mà hình như làm sourcemod phải biết lập trình cả classlibary
Như zombie vs csdm đều cần phải dùng modules. Khá rườm rà ko như 1.6
!@#$%^&*()_+
có quá đáng thế ko @@
- - - Updated - - -
Khó nhai thật.... chả khác gì mod cs1.6 không có fakemeta và ham @@
/* Plugin Template generated by Pawn Studio */
#include <sourcemod>
#include <sdktools>
new String:SND_KILLVOICE[][] = {"vox/MultiKill_1_GR.wav","vox/MultiKill_2_GR.wav",
"vox/MultiKill_3_GR.wav","vox/MultiKill_4_GR.wav","vox/MultiKill_5_GR.wav","vox/MultiKill_6_GR.wav","vox/MultiKill_7_GR.wav",
"vox/MultiKill_8_GR.wav","vox/Headshot_GR.wav","vox/Knifekill_GR.wav","vox/Grenadekill_GR.wav"};
new String:NAME_OVERLAYS[][] = {"overlays/kill/kill_1","overlays/kill/kill_2",
"overlays/kill/kill_3","overlays/kill/kill_4","overlays/kill/kill_5","overlays/kill/kill_6","overlays/kill/kill_7",
"overlays/kill/kill_8","overlays/kill/kill_headshot","overlays/kill/kill_knife","overlays/kill/kill_grenade"};
enum {
kill_1,
kill_2,
kill_3,
kill_4,
kill_5,
kill_6,
kill_7,
kill_8,
kill_headshot,
kill_knife,
kill_grenade
};
new Handle:g_taskCountdown[33] = INVALID_HANDLE,Handle:g_taskClean[33] = INVALID_HANDLE;
new g_killCount[33] = 0,g_iMaxClients = 0;
new bool:g_bShowAuthor[33] = false;
public Plugin:myinfo =
{
name = "killmessage_overlays",
author = "wTong",
description = "CF Killed Message",
version = "1.0",
}
public OnPluginStart()
{
// Add your own code here...
HookEvent("player_death", Event_PlayerDeath);
HookEvent("round_start", Event_round_start,EventHookMode_Post);
}
public OnMapStart()
{
new String:overlays_file[64],String:sound_file[64];
for(new i = 0;i<sizeof(NAME_OVERLAYS);i++)
{
PrecacheSound(SND_KILLVOICE[i],true);
Format(sound_file,sizeof(sound_file),"sound/%s",SND_KILLVOICE[i]);
AddFileToDownloadsTable(sound_file);
Format(overlays_file,sizeof(overlays_file),"%s.vtf",NAME_OVERLAYS[i]);
PrecacheDecal(overlays_file,true);
Format(overlays_file,sizeof(overlays_file),"materials/%s.vtf",NAME_OVERLAYS[i]);
AddFileToDownloadsTable(overlays_file);
Format(overlays_file,sizeof(overlays_file),"%s.vmt",NAME_OVERLAYS[i]);
PrecacheDecal(overlays_file,true);
Format(overlays_file,sizeof(overlays_file),"materials/%s.vmt",NAME_OVERLAYS[i]);
AddFileToDownloadsTable(overlays_file);
}
ServerCommand("sv_cheats 1");
g_iMaxClients = GetMaxClients();
}
public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
new victim = GetClientOfUserId(GetEventInt(event, "userid"))
new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
new bool:headshot = GetEventBool(event, "headshot");
new String:weapon[32];
GetEventString(event, "weapon",weapon, sizeof(weapon));
g_killCount[victim] = 0;
if(g_taskCountdown[victim] !=INVALID_HANDLE)
{
KillTimer(g_taskCountdown[victim]);
g_taskCountdown[victim] =INVALID_HANDLE;
}
if(attacker <1 || attacker == victim || IsFakeClient(attacker))
return;
if(g_killCount[attacker] <8)
g_killCount[attacker]++;
if(g_taskCountdown[attacker] !=INVALID_HANDLE)
{
KillTimer(g_taskCountdown[attacker]);
g_taskCountdown[attacker] =INVALID_HANDLE;
}
g_taskCountdown[attacker] = CreateTimer(3.0,task_Countdown,attacker,1);
if(g_killCount[attacker] == 1)
{
if(StrEqual(weapon,"hegrenade"))
ShowKillMessage(attacker,kill_grenade);
else if(StrEqual(weapon,"knife"))
ShowKillMessage(attacker,kill_knife);
else if(headshot)
ShowKillMessage(attacker,kill_headshot);
else
ShowKillMessage(attacker,kill_1);
}
else
ShowKillMessage(attacker,g_killCount[attacker]-1);
if(g_taskClean[attacker] !=INVALID_HANDLE)
{
KillTimer(g_taskClean[attacker]);
g_taskClean[attacker] =INVALID_HANDLE;
}
g_taskClean[attacker] = CreateTimer(3.0,task_Clean,attacker);
}
public Event_round_start(Handle:event,const String:name[],bool:dontBroadcast)
{
for(new client=1;client <= g_iMaxClients;client++)
{
g_killCount[client] = 0;
if(g_taskCountdown[client] !=INVALID_HANDLE)
{
KillTimer(g_taskCountdown[client]);
g_taskCountdown[client] =INVALID_HANDLE;
}
g_bShowAuthor[client] = GetRandomInt(1,3)==1 ? true : false;
}
}
public Action:task_Countdown(Handle:Timer, any:client)
{
g_killCount[client] --;
if(!IsPlayerAlive(client) || g_killCount[client]==0)
{
KillTimer(Timer);
g_taskCountdown[client] = INVALID_HANDLE;
}
}
public Action:task_Clean(Handle:Timer, any:client)
{
KillTimer(Timer);
g_taskClean[client] = INVALID_HANDLE;
if(!IsPlayerUseZoomWeapon(client)&&IsClientZooming(client))
return;
ClientCommand(client, "r_screenoverlay \"\"");
}
public ShowKillMessage(client,type)
{
EmitSoundToClient(client,SND_KILLVOICE[type],SOUND_FROM_PLAYER,SNDCHAN_VOICE);
//ClientCommand(client, "playgamesound \"%s\"",SND_KILLVOICE[type])
if(!IsPlayerUseZoomWeapon(client)&&IsClientZooming(client))
return;
ClientCommand(client, "r_screenoverlay \"%s\"",NAME_OVERLAYS[type]);
if(g_bShowAuthor[client])
{
g_bShowAuthor[client] = false;
SendTopLeftText(client,225,225,64,192,1,2,"");
}
}
public OnClientDisconnect_Post(client)
{
if(g_taskCountdown[client] !=INVALID_HANDLE)
{
KillTimer(g_taskCountdown[client]);
g_taskCountdown[client] =INVALID_HANDLE;
}
if(g_taskClean[client] !=INVALID_HANDLE)
{
KillTimer(g_taskClean[client]);
g_taskClean[client] =INVALID_HANDLE;
}
}
public SendTopLeftText(client,r, g, b, a, level, time, const String:message[])
{
new Handle:kv = CreateKeyValues("Stuff", "title", message);
if(kv == INVALID_HANDLE)
return;
KvSetColor(kv, "color", r, g, b, a);
KvSetNum(kv, "level", level);
KvSetNum(kv, "time", time);
CreateDialog(client, kv, DialogType_Msg);
CloseHandle(kv);
}
stock IsPlayerUseZoomWeapon(client)
{
new weapon = GetUserWeapon(client);
if(weapon == CSW_AUG || weapon == CSW_SG552 || weapon == CSW_SCOUT || weapon == CSW_AWP
|| weapon == CSW_SG550|| weapon == CSW_G3SG1)
return true;
return false;
}
Siêu cổ rồi, nếu ko có CSS steam thì down của Setti là ngon nhất vì có update mới là Setti làm luôn.^: ver 23. Không ý gì nhưng chắc chắn là mod css chưa![]()