legiondark
Donkey Kong
- 2/5/11
- 357
- 81
Thông cảm, mình k chơi loại nàybác nào còn plugin buy_rp + buy_rs trong deathrun choi em vớigiúp em cái đi :(

Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Thông cảm, mình k chơi loại nàybác nào còn plugin buy_rp + buy_rs trong deathrun choi em vớigiúp em cái đi :(


#include <amxmodx>
#include <engine>
#include <hamsandwich>
#define PLUGIN "Suicide Bombings"
#define AUTHOR "LegionDark+Ryokin"
#define VERSION "1.0"
new cvar_onoff, cvar_fradius, cvar_fdamage, explodespr
public plugin_precache()
{
explodespr = precache_model("sprites/zerogxplode.spr")
}
public plugin_init()
{
register_plugin(PLUGIN,AUTHOR,VERSION);
register_concmd("LD_sb", "sui_bomb");
cvar_onoff = register_cvar("LD_sb_onoff","1");
cvar_fradius = register_cvar("LD_sb_radius", "100");
cvar_fdamage = register_cvar("LD_sb_dmg","100");
}
public sui_bomb(id)
{
if(!get_pcvar_num(cvar_onoff))
{
client_print(id, print_center, "Plugin nay chua duoc bat");
return;
}
new i, iPlayers[32], iNum, iPlayer, Float:fDmgAmt, Float:fDmgDis, Float:fDistance;
get_players(iPlayers, iNum, "ae", "CT");
fDmgAmt = get_pcvar_float(cvar_fdamage);
fDmgDis = get_pcvar_float(cvar_fradius);
if(iNum)
{
for(i = 0; i < iNum; i++)
{
iPlayer = iPlayers[i];
fDistance = entity_range(id, iPlayer);
if(fDistance > fDmgDis)
continue;
new Float:fDamage = fDmgAmt - (fDmgAmt / fDmgDis * fDistance);
ExecuteHam(Ham_TakeDamage, iPlayer, 0, id, fDamage, DMG_BLAST);
}
}
new iOrigin[3];
get_user_origin(id, iOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(explodespr);
write_byte(30);
write_byte(15);
write_byte(0);
message_end();
if(is_user_alive(id))
user_kill(id);
}
file_exists("addons/amxmodx/configs/botadder/botlists/index.cfg")
. Tui tưởng khi player nhặt item là nó dc call chứ@Ryokin:
- Cái forward AddToFullPack nó dc call khi nào vậy. Tui tưởng khi player nhặt item là nó dc call chứ

#include <amxmodx>
#include <engine>
#include <hamsandwich>
#define PLUGIN "Suicide Bombings"
#define AUTHOR "LegionDark+Ryokin"
#define VERSION "1.0"
new cvar_onoff, cvar_fradius, cvar_fdamage, explodespr
public plugin_precache()
{
explodespr = precache_model("sprites/zerogxplode.spr")
}
public plugin_init()
{
register_plugin(PLUGIN,AUTHOR,VERSION);
register_concmd("LD_sb", "sui_bomb");
cvar_onoff = register_cvar("LD_sb_onoff","1");
cvar_fradius = register_cvar("LD_sb_radius", "100");
cvar_fdamage = register_cvar("LD_sb_dmg","100");
}
public sui_bomb(id)
{
if(!get_pcvar_num(cvar_onoff))
{
client_print(id, print_center, "Plugin nay chua duoc bat");
return;
}
new i, iPlayers[32], iNum, iPlayer, Float:fDmgAmt, Float:fDmgDis, Float:fDistance;
get_players(iPlayers, iNum, "ae", "CT"); //--> iNum trong này có nghĩa là j` ?
fDmgAmt = get_pcvar_float(cvar_fdamage);
fDmgDis = get_pcvar_float(cvar_fradius);
if(iNum) //Như trên
{
for(i = 0; i < iNum; i++)
{
iPlayer = iPlayers[i];
fDistance = entity_range(id, iPlayer); //Lấy k cách giữa 2 vật thì id và iPlayer là 2 vật à ??
if(fDistance > fDmgDis)
continue;
new Float:fDamage = fDmgAmt - (fDmgAmt / fDmgDis * fDistance); //Khoảng cách càng xa thì càng yếu, k nghĩ ra cái này
ExecuteHam(Ham_TakeDamage, iPlayer, 0, id, fDamage, DMG_BLAST); //Chưa hiểu lắm cái đoạn này
}
}
new iOrigin[3];
get_user_origin(id, iOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(explodespr);
write_byte(30);
write_byte(15);
write_byte(0);
message_end();
if(is_user_alive(id))
user_kill(id);
}
)@buiduchuy:
1. Dùng set_task(0.2, "show_hud", id, _, _, "b") // b để lặp lại. Khi cần thì remove_task
2. Set màu của set_hudmessage thì có gì khó đâu, đã bảo là sài amx studio bốc màu cho dễ.
3. Ví dụ:
- Hiểu rồi đấy.PHP:file_exists("addons/amxmodx/configs/botadder/botlists/index.cfg")
@Ryokin:
- Cái forward AddToFullPack nó dc call khi nào vậy. Tui tưởng khi player nhặt item là nó dc call chứ
@Ryokin: Thank, bác viết lại thế e lại vọc thêm đc nhiều thứ, càng thêm nhiều thứ khó hiểu --> càng tốt
P/s:Tuy nhiên vẫn thiếu phần check team, ý của e là chỉ sử dụng plugin cho Ter thôi(chứ ai đời cảnh sát lại đánh bom bao hPHP:#include <amxmodx> #include <engine> #include <hamsandwich> #define PLUGIN "Suicide Bombings" #define AUTHOR "LegionDark+Ryokin" #define VERSION "1.0" new cvar_onoff, cvar_fradius, cvar_fdamage, explodespr public plugin_precache() { explodespr = precache_model("sprites/zerogxplode.spr") } public plugin_init() { register_plugin(PLUGIN,AUTHOR,VERSION); register_concmd("LD_sb", "sui_bomb"); cvar_onoff = register_cvar("LD_sb_onoff","1"); cvar_fradius = register_cvar("LD_sb_radius", "100"); cvar_fdamage = register_cvar("LD_sb_dmg","100"); } public sui_bomb(id) { if(!get_pcvar_num(cvar_onoff)) { client_print(id, print_center, "Plugin nay chua duoc bat"); return; } new i, iPlayers[32], iNum, iPlayer, Float:fDmgAmt, Float:fDmgDis, Float:fDistance; get_players(iPlayers, iNum, "ae", "CT"); //--> iNum trong này có nghĩa là j` ? fDmgAmt = get_pcvar_float(cvar_fdamage); fDmgDis = get_pcvar_float(cvar_fradius); if(iNum) //Như trên { for(i = 0; i < iNum; i++) { iPlayer = iPlayers[i]; fDistance = entity_range(id, iPlayer); //Lấy k cách giữa 2 vật thì id và iPlayer là 2 vật à ?? if(fDistance > fDmgDis) continue; new Float:fDamage = fDmgAmt - (fDmgAmt / fDmgDis * fDistance); //Khoảng cách càng xa thì càng yếu, k nghĩ ra cái này ExecuteHam(Ham_TakeDamage, iPlayer, 0, id, fDamage, DMG_BLAST); //Chưa hiểu lắm cái đoạn này } } new iOrigin[3]; get_user_origin(id, iOrigin); message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(explodespr); write_byte(30); write_byte(15); write_byte(0); message_end(); if(is_user_alive(id)) user_kill(id); })
Ask: Muốn check team thì phải dùng native nào và dùng thế nào bác ??
//cstrike
if(cs_get_user_team(id) == CS_TEAM_T)
//engine
if(get_user_team(id) == 1)
#include <amxmodx>
#include <engine>
#include <hamsandwich>
#define PLUGIN "Suicide Bombings"
#define AUTHOR "LegionDark+Ryokin"
#define VERSION "1.0"
new cvar_onoff, cvar_fradius, cvar_fdamage, explodespr //Khai báo
public plugin_precache()
{
explodespr = precache_model("sprites/zerogxplode.spr") //Load models
}
public plugin_init()
{
register_plugin(PLUGIN,AUTHOR,VERSION); //Đăng kí plugins, lệnh, cvar..
register_concmd("LD_sb", "sui_bomb");
cvar_onoff = register_cvar("LD_sb_onoff","1");
cvar_fradius = register_cvar("LD_sb_radius", "100");
cvar_fdamage = register_cvar("LD_sb_dmg","100");
}
public sui_bomb(id)
{
if(!get_pcvar_num(cvar_onoff)) //Nếu khác get_pcvar_num(cvar_onoff) (chưa bật)
{
client_print(id, print_center, "Plugin nay chua duoc bat");
return;
}
new i, iPlayers[32], iNum, iPlayer, Float:fDmgAmt, Float:fDmgDis, Float:fDistance; // Khai báo biến
get_players(iPlayers, iNum, "ae", "CT"); //--> iNum trong này có nghĩa là j` ?
fDmgAmt = get_pcvar_float(cvar_fdamage); // Lấy số trong cvar "cvar_fdamage" ở trên
fDmgDis = get_pcvar_float(cvar_fradius); // Lấy số trong cvar "cvar_fdamage" ở trên
if(iNum) // If cho iNum
{
for(i = 0; i < iNum; i++) // Cho i=0, điều kiện : i<iNum , i+1...Lặp lại như thế..
{
iPlayer = iPlayers[i]; // gán biến iPlayer = Khe i của biến iPlayers[32]
fDistance = entity_range(id, iPlayer); //Hàm này ko bít
if(fDistance > fDmgDis) // Nếu fDistance > fDmgDis
continue; //tiếp tục
new Float:fDamage = fDmgAmt - (fDmgAmt / fDmgDis * fDistance); // Khai báo biên fDamage = "số của cvar_fdamage" - ("số của cvar_fdamage" chia "số cvar cvar_fdamage" nhân "giá trị của [entity_range(id, iPlayer)]
//Notes: Số cvar xác định bởi lệnh "LD_sb_radius <giá trị>"
Số cvar xác định bởi lệnh "LD_sb_dmg <giá trị>"
ExecuteHam(Ham_TakeDamage, iPlayer, 0, id, fDamage, DMG_BLAST); //Chưa hiểu lắm cái đoạn này
}
}
new iOrigin[3];
get_user_origin(id, iOrigin);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iOrigin); //ADD SPR...
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(explodespr);
write_byte(30);
write_byte(15);
write_byte(0);
message_end();
if(is_user_alive(id))
user_kill(id);
}
Ví dụ về cái nào ?........
set_hudmessage(0, 255, 0, 0.40, 0.50, 0, 6.0, 12.0)
show_hudmessage(id, "Hello Wold")
set_hudmessage - Sets the format for a HUD message
Syntax:
set_hudmessage ( red=200, green=100, blue=0, Float:x=-1.0, Float:y=0.35, effects=0, Float:fxtime=6.0, Float:holdtime=12.0, Float:fadeintime=0.1, Float:fadeouttime=0.2, channel=4 )
Type:
Native
Notes:
There are 4 hud channels pr player. This means you can send a 2 diffrent messages to player a & b via channel 1.
Use index 0 if you want to send a message to everyone.
Use show_hudmessage to show the message.
effects types:
0 = fade in/fade out
1 = flickery credits
2 = write out (training room)
Plugins that can be helpfull.
This plugin allows you to easly change the pos/color of a hud message:
http://forums.alliedmods.net/showthread.php?p=19439
Note - as of AMX Mod X 1.61, setting the channel to -1 will automatically choose the next available HUD channel for a player.