chuchung712
|
分享:
▲
▼
下面是引用 a7811311622 于 2010-04-08 14:00 发表的 :
有时候还是打完整会比较妥当…你是用在哪里…? public Death public NewRound public fw_PlayerPreThink 这3个 ====================================== 复制程式
stock fm_give_item(index, const item[])
{
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0;
new ent = fm_create_entity(item);
if (!pev_valid(ent))
return 0;
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if (pev(ent, pev_solid) != save)
return ent;
engfunc(EngFunc_RemoveEntity, ent);
return -1;
} 发现有 return -1 了 = = 下面是引用 森之千手 于 2010-04-08 14:04 发表的 : 请问什么时候会用? 可以不用吗? 发现你的武器制作是没有return PLUGIN_XXX 的 = =" 都是return 就算了 下面是引用 a7811311622 于 2010-04-08 14:08 发表的 :
如果你全部都是以「正向」思考的话应该是不会用到… return大概都是用在「反向」思考吧…(应该…) 不写return都有这效果?
|
没有理想的世界
|
x0
[21 楼]
From:香港有线宽频 | Posted:2010-04-08 16:40 |
|
|
a7811311622
我…在工作了…
级别: 版主
版区: CS提问区
x771
x2152
|
分享:
▲
▼
下面是引用 chuchung712 于 2010-04-08 16:40 发表的 : 发现有 return -1 了 = =
复制程式
stock fm_give_item(index, const item[])
{
if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
return 0; // 回传数值0 = 跳脱这个stock
new ent = fm_create_entity(item);
if (!pev_valid(ent))
return 0; // 同上
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if (pev(ent, pev_solid) != save)
return ent; // 回传ent的数值
engfunc(EngFunc_RemoveEntity, ent);
return -1; // 让上面的return有回传值(猜测)
/*
Java或C语法如果return后面有数值的话,后面的数值型态需相同
例如上面return后面全部回传的都是整数
*/
}
下面是引用 chuchung712 于 2010-04-08 16:40 发表的 : 不写return都有这效果?
也是可以不用到任何return就能完成插件,就看你排版会不会混乱而已…
|
|
x0
[22 楼]
From:台湾教育部 | Posted:2010-04-08 17:19 |
|
|
a7811311622
我…在工作了…
级别: 版主
版区: CS提问区
x771
x2152
|
分享:
▲
▼
下面是引用 calove00 于 2010-04-09 14:04 发表的 : 你们这班人还未弄清楚什么是
return PLUGIN_CONTINUE return PLUGIN_HANDLED
a7811311622 你间直说错
PLUGIN_CONTINUE:可能只跳过程式里面的其中几段
PLUGIN_HANDLED:整段程式直接跳过
return PLUGIN_CONTINUE 是指你那个function 可以继续进行
return PLUGIN_HANDLED 是指这个function 停止或关闭
我所问题系
return xxxx(id)
如
return client_cmd(id, "kill")
刚才问了我的朋友
这只是一个简化的用语
即是
复制程式
public function(id)
{
client_cmd(id, "kill")
return
}
可能只跳过程式里面的其中几段
错
我比较想知道你是问谁… 我说「PLUGIN_CONTINUE」是 可能只跳过程式里面的其中几段…你有讨论其他 可能的假设吗? 「return PLUGIN_CONTINUE 是指你那个function 可以继续进行 」: 你这句话错的更离谱…在「public function(id) 」用了「return PLUGIN_CONTINUE」后 return以下的内容可是完全跳过…怎么继续进行? 还有… public function(id) { client_cmd(id, "kill") return } 这段后面有没有加return根本就没差… 而这段要呼叫就要用「function(id)」或「return function(id)」了… 居然还说简化后是「return client_cmd(id, "kill")」…? 结论: 既然我回答就会被批评成这样…那你直接去问你那超强的朋友就好啦…何必来发问…? 而且问的人还公然说回答的人错…提问等于不知,而不知的人居然知道别人答错?你哪里不知?好心回答还被说「你们这班人」是吗?那我以后都装不知道好了…反正有你这高手在…我继续研究我的插件好了…别人要怎么回答随便…反正你都说我错的很离谱了…
[ 此文章被a7811311622在2010-04-09 15:10重新编辑 ]
|
|
x0
[27 楼]
From:台湾教育部 | Posted:2010-04-09 15:01 |
|
|
|