对写代码比较有帮助的东东
在max论坛里翻到的http://djeyl.net/forum/index.php?showtopic=17495
准备过几天汉化了,再发布,对想编插件的朋友有帮助 再补上一个,这里有错误编号的详细信息
http://www.ravenousbugblatterbeast.pwp.blueyonder.co.uk/Script/ 沙发。。。。。。。。
看不懂,等汉化吧
第一个连接的汉化
对于字符串的操作先看下面这个代码
example1_bad()
{
new dest, temp
temp = "some text1"
add(dest,511,temp)
temp = "some text2"
add(dest,511,temp)
temp = "some text3"
add(dest,511,temp)
}
这个代码并不是很有效的,可以看出有好多的命令在重复,而且变量在不断的重复更改
来看看正确写法
example1a_ok()
{
new dest
new len = copy( dest, 511 , "some text1")
len += copy( dest, 511 - len, "some text2")
copy( dest, 511 - len, "some text3")
}
这个方法的执行效率高,或者可以采用这样的方法
example1b_ok()
{
new dest
new len = format( dest, 511 , "some text%d" , 1)
len += format( dest, 511 - len, "some text%d" , 2)
format( dest, 511 - len , "some text%d" , 3)
}
注意其中出现的%d和其后面出现的数字,如果要加入的字符很多的时候,这种方法最有效
对字符的复制
example2_bad()
{
new text
text = "hello world"
}
这个是错误的,其中的字符串和数组变量可能会不匹配
来看看正确的方法
example2_ok()
{
new text
copy(text,31,"hello world")
}
对数组中字符的清空
下面的方法效率低
example3_bad()
{
new text
text = ""
if ( !equal(text,"") )
{
}
}
来看一种简单快捷的方法
example3_ok()
{
new text
text = 0
if ( text )
{
}
}
对命令的注册
example4_bad()
{
if (!cvar_exists("mp_somecvar"))
register_cvar("mp_somecvar", "1")
}
其中存在无用的操作(if语句)
其实如果某个命令在服务器中如果已经存在,那么该命令就不会再被注册一次,来看看这个
example4_ok()
{
register_cvar("mp_somecvar", "1")
}
对时间间隔的选择
example5_bad()
{
set_task(0.001,"doSomeThing")
}
这个是错误的,其中的时间间隔是0.001,其实最小的是0.1,所以这会被强迫修改为0.1
来看看正确的
example5_ok()
{
set_task(0.1,"doSomeThing")
}
先发这些吧 楼主辛苦了,谢谢!
您所说的好象高深的一点,首先能否说明一下这段代码是用来干嘛的?
其次代码中的每一句是执行的什么命令以及格式能否再解释一下? Post by nwb13
在max论坛里翻到的
http://djeyl.net/forum/index.php?showtopic=17495
准备过几天汉化了,再发布,对想编插件的朋友有帮助
max论坛?
amx吧~~ 哈哈迟到了。支持中。。。。。。
页:
[1]