CS编程教学

社区服务
高级搜索
猴岛论坛CSGO反恐精英CS编程教学
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
12个回复

[游戏技巧]CS编程教学

楼层直达
神经哥

ZxID:22052706

等级: 大将
猴岛就是一个让文盲变成喷子的地方√

举报 只看楼主 使用道具 楼主   发表于: 2013-07-21 0
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的殺人數歸零
本帖de评分: 1 条评分 DB +25
DB+25 2013-07-21

好详细。。

Tohka.

ZxID:19061259

等级: 元老

举报 只看该作者 沙发   发表于: 2013-07-21 0
好详细。。
神经哥

ZxID:22052706

等级: 大将
猴岛就是一个让文盲变成喷子的地方√

举报 只看该作者 板凳   发表于: 2013-07-21 0
我是复制党,转别人的,对喜欢研究代码的猴子有好处
o汐宫栞、、

ZxID:15794849

等级: 少尉
【CS热会专区】吾乃继承罪恶之血之人,断裁分离の罪恶剪刀

举报 只看该作者 地板   发表于: 2013-07-21 0
插件不懂啊
钢铁不锈钢

ZxID:27435613

等级: 少将
举报 只看该作者 4楼  发表于: 2013-07-21 0
谢谢你啊,好帖子不顶不行
就是这个好名字

ZxID:828828

等级: 少将
  微信陌陌炮友团   

举报 只看该作者 5楼  发表于: 2013-07-21 0
感谢分享。好帖子不顶不行
丨 阿狸丶

ZxID:17472878

等级: 上等兵
举报 只看该作者 6楼  发表于: 2013-07-21 0
等等等等等等等等   
zanlyb0816

ZxID:16210936

等级: 列兵
举报 只看该作者 7楼  发表于: 2013-07-21 0
很好 学习了

际遇之神

奖励

发现、检举斑竹工作时间泡MM,管理给予5DB

zanlyb0816

ZxID:16210936

等级: 列兵
举报 只看该作者 8楼  发表于: 2013-07-21 0
不错 顶下
狂龙丶

ZxID:21949838

等级: 元帅

举报 只看该作者 9楼  发表于: 2013-07-21 0
不懂啊。。
泽 

ZxID:15747326

等级: 元老
配偶: 彩 
   彩,你在哪里..      

举报 只看该作者 10楼  发表于: 2013-07-21 0
不错,大家可以学习学习
有三种人,我们不要去打扰他:
1.没有梦想的人我们不要打扰他
2.借口太多的人我们不要打扰他
3.没有主见的人我们不要打扰他
Mashiroちゃん

ZxID:20009803

等级: 中尉
性别已经无法阻止我

举报 只看该作者 11楼  发表于: 2013-07-21 0
这貌似是插件的设置。。。。。。。。。。。
俄罗斯尖塔

ZxID:21098583

等级: 禁止发言

举报 只看该作者 12楼  发表于: 2013-07-21 0
不错,大家可以多多看看~
« 返回列表
发帖 回复