回复: 关于队伍换边插件的问题
Post by Osker Lee“_:就是省略此项参数,用默认值。”我还是不太明白,以下面的这句代码为例,究竟“_”表示的是省略了哪个参数,而使用的又是哪个默认值?另外,这个“_”符号是不是可以随便定义多少个都行的?(比如,写上两个“_”和写上三个“_”到底有什么区别?)
还有就是,下面的这些代码里的“i++”,“next++”和“d_index++”又分别表示什么意思?
你应该去看下C语言相关的书.
回复: 关于队伍换边插件的问题
嘿嘿~ 说出来不怕楼主你笑话,首先我本人不是学电脑专业的,闲暇时只会用MS3D和MAX之类的工具修改游戏模型,偶尔编一些HTML,帮别人优化一下网页。而对于C语言,尽管计算机的编程语言都有相通的地方(VB,VF和C++),但C语言却是最难啃的骨头。我去年报了C语言的培训班,然后参加全国的计算机等级(二级)考试,结果只通过了笔试,机试就没通过,正所谓隔行如隔山,不是学电脑专业的还真是没辙了。没办法啊,就等着今年4月份补考咯。:p (呵呵~ 之所以热衷于插件,纯粹是因为对CS的喜爱!)
回复: 关于队伍换边插件的问题
基础是必须的,否则你这样照猫画虎,也是知其然不知其所以然.回复: 关于队伍换边插件的问题
zwfgdlc大大,你就简要地讲解一下吧,我现在没有C语言的书,网上也暂时找不到相关的资料。心里猫抓似的 --难受,这些问题没弄懂,估计今晚就会很:em15: ......(其实我也知道基础知识的重要性,不过现在没时间再复习C++了,等以后放假了再慢慢补上吧。)
回复: 关于队伍换边插件的问题
http://wenba.enet.com.cn/problem2.jspa?pid=37416看看这个.
回复: 关于队伍换边插件的问题
自增运算符 ++ 使操作数的值增 1,其操作数必须为可变左值(您可以简单地把可变左值理解为变量)。++ 可以置于操作数前面,也可以放在后面。OK,收到!谢谢zwfgdlc大大,我算是弄明白了。
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "Team Change"
#define AUTHOR "Jim"
#define VERSION "1.0"
new g_maxplayers
new g_pcvar_tcl
new g_limitteams
new g_autobalance
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_pcvar_tcl = register_cvar("teamchange_level", "8")
g_maxplayers = get_maxplayers()
set_task(get_pcvar_num(g_pcvar_tcl) * 60.0, "change", 10000, _, _, "b")
}
public change(id)
{
g_limitteams = get_cvar_num("mp_limitteams")
g_autobalance = get_cvar_num("mp_autoteambalance")
set_cvar_num("mp_limitteams", 0)
set_cvar_num("mp_autoteambalance", 0)
change_team(1)
}
public change_team(id)
{
if(is_user_connected(id))
{
new CsTeams:team
team = cs_get_user_team(id)
if(team == CS_TEAM_T)
cs_set_user_team(id, CS_TEAM_CT)
else if(team == CS_TEAM_CT)
cs_set_user_team(id, CS_TEAM_T)
if(is_user_alive(id))
user_silentkill(id)
}
new next = id + 1
while(next <= g_maxplayers)
{
if(is_user_connected(next))
{
set_task(0.1, "change_team", next)
break
}
else next++
}
if(next > g_maxplayers)
{
set_cvar_num("mp_limitteams", g_limitteams)
set_cvar_num("mp_autoteambalance", g_autobalance)
}
}
“_:就是省略此项参数,用默认值。”我还是不太明白,以上面的那句红色代码为例,究竟“_”表示的是省略了哪个参数,而使用的又是哪个默认值?另外,这个“_”符号是不是可以随便定义多少个都行的?(比如,写上两个“_”和写上三个“_”到底有什么区别?)
set_task(get_pcvar_num(g_pcvar_tcl) * 60.0, "change", 10000, _, _, "b")
OVER!
回复: 关于队伍换边插件的问题
发现PHP和C语言很象。。。。可能是PHP是在C语言上开发的关系吧,反正学了点PHP知识后看代码就觉得轻松多了。回复: 关于队伍换边插件的问题
set_task
Core (amxmodx.inc)
Description
set_task - Calls function on specified time.
Syntax
set_task ( Float:time,const function[],id = 0,parameter[]="",len = 0,flags[]="", repeat = 0 )
Type
Native
Notes
Flags:
"a" - repeat.
"b" - loop task.
"c" - do task on time after a map timeleft.
"d" - do task on time before a map timelimit.
Example of executing a task once.
set_task(15.0,"MyFunction")
Remember that functions executed by set_task needs be public
AMXX1.60插件包里有一份AMXX说明文档,你没事看下. :Q 这么多一时半会还消化不了呢。。。路过学过 没钱了!哇哇!刷了!22222222
页:
1
[2]