1.if(!is_user_alive(id))如果玩家死亡执行下面的指令
-----------------------------------------------------------------
2.if(!access(id, ADMIN_LEVEL_B))
如果玩家没有B权限执行下面的指令
---------------------------------------------------------------
3.条件如:if(!access(id, ADMIN_LEVEL_B))
client_print(id "只有你自己看到的消息"
这句的意思是当没有B权限自己可以看到XXX
-----------------------------------------------------------------
4.如:if(!is_user_alive(id))
client_print(0"全部玩家都能看到的消息"
这句话的意思是:当玩家死了,全部人都看得到这句话
-----------------------------------------------------------------
5.else if(Money < Cost)
client_print(0”xx") or client_print(id "xxxx")
当需要的费用大于钱时提示
---------------------------------------------------------------------
6.放音乐时要在开始加上:
public plugin_precache()
{
precache_sound("音乐文件夹得位置")
}
说明要下载音乐
------------------------------------------------------------------------
7.emit_sound(id,CHAN_ITEM, "warcraft3/healingwav.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
emit_sound(id,XXXXXXXXXXXXXXXXXXX);
让你听到(其余自己摸索)
-----------------------------------------------------------------------------------------
8.//设置插件信息(amxmodx.inc)
#include <amxmodx>
#define PLUGIN_NAME "插件名称"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "Orz"
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
}
------------------------------------------------------------------------------------------
9.//增加指令(amxmodx.inc)
register_clcmd("say /orz", "orz_menu")
-------------------------------------------------------------------------------------------
10. R值G值 B值(决定颜色) X轴 Y轴(决定位置)
set_hudmessage(0, 255, 127, -1.0, -1.0, 0, 7.0, 3.0)后接
show_hudmessage(0,"要说的")
所有人看到这个彩色字
或
set_hudmessage(0, 255, 127, -1.0, -1.0, 0, 7.0, 3.0)
show_hudmessage(id,"要说的")
自己看到这个彩色字
---------------------------------------------------------------------------------------
11.字体颜色代码!用于10
con_color \"255 255 255白
con_color \"0 0 0 黑
con_color \"153 51 0褐色
con_color \"255 204 0金色
con_color \"255 204 153粽黄
con_color \"51 51 0橄榄绿
con_color \"128 128 0深黄
con_color \"0 0 120深蓝
con_color \"0 0 255蓝色
con_color \"51 102 255浅蓝
con_color \"0 204 255天蓝
con_color \"204 153 255淡紫
con_color \"153 204 0橙色
con_color \"255 255 0黄色
con_color \"255 255 153浅黄
con_color \"0 51 0深绿
con_color \"0 128 0绿色
con_color \"51 153 102海绿
con_color \"0 255 0鲜绿
con_color \"204 255 204浅绿
con_color \"0 51 102深灰蓝
con_color \"0 128 128青色
con_color \"51 204 204宝石蓝
con_color \"0 255 255青绿
con_color \"255 102 0桔黄
con_color \"255 153 0浅桔
con_color \"153 204 255浅蓝
con_color \"102 102 153蓝灰
con_color \"255 0 0红色
con_color \"255 0 255粉色
con_color \"255 153 204枚瑰红
con_color \"204 255 255浅青绿
con_color \"51 51 51灰(80%)
con_color \"153 153 153灰(40%)
con_color \"192 192 192灰(25%)
-------------------------------------------------------------------------------------------
include <amxmods>
public plugin_init()
{
register_clcmd( "say /menu","ShowMenu", -1, "Shows The menu" )
register_menucmd(register_menuid("\y菜单标题:"), 1023, "MenuCommand" )
return PLUGIN_CONTINUE
}
public ShowMenu( id )
{
new szMenuBody[256]
new keys
new nLen = format( szMenuBody, 255, "\y菜单标题:^n" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. 说我是sb" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. 操作2" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w3. 操作3" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w4. 操作4" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w5. 操作5" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w6. 操作6" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w7. 操作7" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w8. 操作8" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w9. 操作9" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. 退出" )
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)
show_menu( id, keys, szMenuBody, -1 )
return PLUGIN_CONTINUE
}
public MenuCommand( id, key )
{
client_print( id, print_console, "[AMX] Key=%d", key )
client_print( id, print_chat, "[AMX] Key=%d", key )
switch( key )
{
case 0: client_print( id, print_chat, "我是sb" )
case 1: client_print( id, print_chat, "操作 #2" )
case 2: client_print( id, print_chat, "操作 #3" )
case 3: client_print( id, print_chat, "操作 #4" )
case 4: client_print( id, print_chat, "操作 #5" )
case 5: client_print( id, print_chat, "操作 #6" )
case 6: client_print( id, print_chat, "操作 #7" )
case 7: client_print( id, print_chat, "操作 #8" )
case 8: client_print( id, print_chat, "操作 #9" )
case 9: client_print( id, print_chat, "菜单操作退出" )
}
return PLUGIN_HANDLED
}
-------------------------------------------------------------------------
例子
include <amxmods>
include <fun>
public plugin_init()
{
register_clcmd( "say /menu","ShowMenu", -1, "Shows The menu" )
register_menucmd(register_menuid("\y菜单标题:"), 1023, "MenuCommand" )
return PLUGIN_CONTINUE
}
public ShowMenu( id )
{
new szMenuBody[256]
new keys
new nLen = format( szMenuBody, 255, "\y菜单标题:^n" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w1. 搞无敌" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w2. 操作2" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w3. 操作3" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w4. 操作4" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w5. 操作5" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w6. 操作6" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w7. 操作7" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w8. 操作8" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n\w9. 操作9" )
nLen += format( szMenuBody[nLen], 255-nLen, "^n^n\w0. 退出" )
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)
show_menu( id, keys, szMenuBody, -1 )
return PLUGIN_CONTINUE
}
public MenuCommand( id, key )
{
client_print( id, print_console, "[AMX] Key=%d", key )
client_print( id, print_chat, "[AMX] Key=%d", key )
switch( key )
{
case 0: set_user_godmode(id, 1)
case 1: client_print( id, print_chat, "操作 #2" )
case 2: client_print( id, print_chat, "操作 #3" )
case 3: client_print( id, print_chat, "操作 #4" )
case 4: client_print( id, print_chat, "操作 #5" )
case 5: client_print( id, print_chat, "操作 #6" )
case 6: client_print( id, print_chat, "操作 #7" )
case 7: client_print( id, print_chat, "操作 #8" )
case 8: client_print( id, print_chat, "操作 #9" )
case 9: client_print( id, print_chat, "菜单操作退出" )
}
return PLUGIN_HANDLED
}
------------------------------------------------------------
fun的函数
#include <fun>"
☆get_client_listen(receiver, sender)
☆set_client_listen(receiver, sender, listen)
一開始這兩個我就不太懂了…只看的出有關係,但不知道效果…
註:接下來的index你都可以當成是id…
☆set_user_godmode(index, godmode = 0)
設定此ID是否無敵(1=開啟 / 0=關閉)
☆get_user_godmode(index)
判斷此ID的無敵狀態
EX.
if(get_user_godmode(id)==1) //如果哪個白目開無敵
{
set_user_godmode(id, 0) //讓這ID取消無敵狀態
}
☆set_user_armor(index, armor)
設定此ID的護甲值
EX.
if(…)
{
set_user_armor(id, 100) //讓此ID護甲變成(不是增加)100
}
☆set_user_health(index, health)
設定此ID的血量
EX.
if(…)
{
set_user_health(id, 1000) //讓此ID血量變成(不是增加)1000
}
☆set_user_origin(index, const origin[3])
設定此ID的位置
那個origin[3]會變成origin[0](X軸)、origin[1](Y軸)、origin[2](Z軸)三方向來看,
不過內容超複雜,我也不太會解釋,我就不誤導別人了…
☆set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
讓此ID發光,"fx"我也不太知道效果…而"R"、"G"、"B"就是那3原色,"render"我也不太會解釋…"amount"是發光的厚度
EX.
if(…)
{
set_user_rendering(id, kRenderFxNone,255,0,0,kRenderNormal, 25) //讓此ID發紅光(因為只有"R"有數值)
}
☆give_item(index, const item[])
給此ID東西(武器、彈藥、裝備)
EX.
if(…)
{
give_item(id, "weapon_hegrenade") //給此ID一個手榴彈
}
EX.
if(…)
{
give_item(id, "ammo_556natobox") //給此ID一個M249彈夾(30發)
}
EX.
if(…)
{
give_item(id, "item_???") //給此ID一個裝備,例如拆C4炸彈包(裝備的英文我不確定…)
}
☆set_user_hitzones(index = 0, target = 0, body = 255)
這個我不太確定…不過看英文的解釋好像是…
設定此ID攻擊到目標ID的攻擊命中位置(例如設定ID.1打到ID.2的位置從胸部變成頭部)
以下是body的代號
* 1 - generic 一般的,總稱的(跑去用字典翻的…因為我不知…)
* 2 - head 頭部
* 4 - chest 胸部
* 8 - stomach 腹部
* 16 - left arm 左手臂
* 32 - right arm 右手臂
* 64 - left leg 左腿
* 128 - right leg 右腿
☆get_user_hitzones(index, target)
如同上面是猜測…
判斷此ID命中此TARGET的位置
另外,target是要另外假設的,直接打target轉檔時會出錯!
你可以直接把target打成數字(1~32之間)或是再假設一個迴圈:
for(new target=1;target<=32;target++)
{
………
}
EX.
if(get_user_hitzones(id, target)!=2) //如果ID攻擊TARGET時不是命中頭部
{
set_user_hitzones(id, target, 2) //讓ID攻擊TARGET時的攻擊判斷是擊中頭部
}
☆set_user_maxspeed(index, Float:speed = -1.0)
設定此ID的最大速度
EX.
if(…)
{
set_user_maxspeed(id, 250.0) //讓此ID的移動速度變成250.0
}
EX.
if(…)
{
set_user_maxspeed(id, (pev(id, pev_maxspeed)*2.0) //讓此ID的移動速度變成原本的2倍
}
☆Float:get_user_maxspeed(index)
判斷此ID的最大速度
EX.
if(get_user_maxspeed(id)>250.0) //如果此ID的速度大於250.0
{
set_user_maxspeed(id, 250.0) //讓此ID的移動速度變成250.0
}
☆set_user_gravity(index, Float:gravity = 1.0)
設定此ID的重力(和"sv_gravity"的指令很像,只是"sv_gravity"更變的是CS整個世界的重力)
gravity = 1.0就是正常重力800×1.0=800,打0.5就是800×0.5=400
☆Float:get_user_gravity(index)
判斷此ID的重力
EX.
if(get_user_gravity(id)>1.0) //如果此ID的重力值大於800
{
set_user_gravity(id, 1.0) //讓此ID的重力值變成800
}
☆spawn(index)
重生(復活)此ID
EX.
if(…)
{
spawn(id) //讓此ID重生
}
☆set_user_noclip(index, noclip = 0)
設定此ID是穿牆模式(1=開啟 / 0=關閉)
☆get_user_noclip(index)
判斷此ID是否是穿牆模式
EX.
if(get_user_noclip(id)==1) //如果哪個白目搞穿牆
{
set_user_noclip(id, 0) //讓此ID的穿牆模式取消
}
☆get_user_footsteps(index)
判斷此ID是否有腳步聲
☆set_user_footsteps(id, set = 1)
設定此ID是否有腳步聲(1=無聲 / 0=有聲)
EX.
if(get_user_footsteps(id)==0) //如果覺得此ID的腳步聲太大
{
set_user_footsteps(id, 1) //讓此ID的腳步變無聲
}
☆strip_user_weapons(index)
讓此ID的武器全部噴光…(手榴彈我不知道會不會噴掉…)
☆set_user_frags(index, frags)
設定此ID的殺人數量
EX.
if(…)
{
set_user_frags(id, 0) //讓此ID的殺人數歸零