引用 | 編輯
n5427114
2014-07-26 22:39 |
樓主
▼ |
||
x0
請問清除地上武器寫法怎麼寫?#include <amxmodx> #include <amxmisc> #include <cstrike> #include <xs> #include <fakemeta> new cvar_removedropped public plugin_init() { register_plugin("remove_dropper","1.0beta","Anniversary04") register_forward(FM_SetModel, "fw_SetModel" cvar_removedropped = register_cvar("remove_dropped", "15.0") } public fw_SetModel(entity, const model[]) { if (strlen(model) < 8) return; if (get_pcvar_float(cvar_removedropped) > 0.0) { static classname[10] pev(entity, pev_classname, classname, charsmax(classname)) if (equal(classname, "weaponbox")) set_pev(entity, pev_nextthink, get_gametime() + get_pcvar_float(cvar_removedropped)) } } 冒似寫會無法反編, 而且地上C4好像會被清到.. 有辦法分主武一個時間,小槍一個時間清除嗎? x0
|
引用 | 編輯
op47
2014-07-27 22:55 |
3樓
▲ ▼ |
register_forward(FM_SetModel, "fw_SetModel"
register_forward(FM_SetModel, "fw_SetModel") x0 |
引用 | 編輯
op47
2014-07-28 13:50 |
5樓
▲ ▼ |
下面是引用 n5427114 於 2014-07-28 13:21 發表的 : 是你sma格式的問題(SMA 換行問題) , 也許你是C&P, 不過我想你也最好參考這個段落: Indentation, Tabbing and Spacing Tabbing should always be done whenever you open a code block (which will be discussed more in detail later). A standard tab is either done using the "Tab" key or using 4 spaces. Less commonly, people use 1, 3 or 8 spaces for their tabs, but this is very rare and generally frowned upon. Almost everyone uses the "Tab" key because then other people can set their tab-size higher or lower in their text editors. There are also many styles of spacing, but I believe the best (despite my not using it personally) is to add a space whenever you put a parameter in brackets, after a comma, immediately after a condition/loop keyword and before/after any operators which take two parameters on the left and right. For example: if ( !cmd_access( id, level, cid ) ) ... or... for ( new i; i < 10; i++ ) This allows you to easily distinguish functions from conditions/loops and also allows you to easily pick out parameters, operators, etc. This is by no means standard and is highly up for debate, but to me this makes the most logical sense and is what I would use if I had the option of immediately wiping my habits and picking a new set of them. I would, however, advise you to always add spaces between operators with two parameters and after commas. You may also consider adding two carriage returns as opposed to one between functions as it may make them easier to read. This is by no means a convention but I recommend it personally. ACC. TO: https://forums.alliedmods.net/showthread.php?t=85274 x0 |
引用 | 編輯
n5427114
2014-07-28 19:39 |
7樓
▲ ▼ |
error 029 invalid expression assumed zero
那個刮號只是沒複製上去,插件內沒有這個問題 x0 |
引用 | 編輯
n5427114
2014-07-28 19:45 |
8樓
▲ ▼ |
#include <amxmodx>
#include <amxmisc> #include <cstrike> #include <xs> #include <fakemeta> #include <fun> #include <engine> #include <hamsandwich> const HideWeapon_Flags = 1 new cvar_removedropped new g_time[33] public plugin_init() { register_plugin("amx_respawn","2.0beta","Tonyyoung") register_forward(FM_SetModel, "fw_SetModel") RegisterHam(Ham_Spawn, "player", "fw_Spawn_Post", 1) cvar_removedropped = register_cvar("remove_dropped", "15.0") } public fw_Spawn_Post(id) { if (is_user_alive(id) && is_user_connected(id)) { cs_set_user_money(id, cs_get_user_money(id) + 500) } } public fw_SetModel(entity, const model[]) { if (!pev_valid(entity)) return FMRES_IGNORED if (strlen(model) < 8) return FMRES_IGNORED; new ent_classname[32] pev(entity, pev_classname, ent_classname, charsmax(ent_classname)) if (equal(ent_classname, "weaponbox")) { set_pev(entity, pev_nextthink, get_gametime() + g_weapons_stay) return FMRES_IGNORED } return FMRES_IGNORED } sma 在下面 x0 |
引用 | 編輯
op47
2014-07-29 00:09 |
10樓
▲ ▼ |
下面是引用 n5427114 於 2014-07-28 19:47 發表的 : 跟你說了是換行的問題, 也給了篇文章你看, 竟然也察覺不到問題所在? 即使察覺不到, 那你有沒有把SMA嘗試重新換行? 顯然地沒有. 我看到的是這樣子: 複製程式 #include <amxmodx> #include <amxmisc> #include <cstrike> #include <xs> #include <fakemeta> #include <fun> #include <engine> #include <hamsandwich> const HideWeapon_Flags = 1 new cvar_removedropped new g_time[33] public plugin_init() { register_plugin("amx_respawn","2.0beta","Tonyyoung") �@�@�@�@register_forward(FM_SetModel, "fw_SetModel") RegisterHam(Ham_Spawn, "player", "fw_Spawn_Post", 1) �@ cvar_removedropped = register_cvar("remove_dropped", "15.0") } public fw_Spawn_Post(id) { if (is_user_alive(id) && is_user_connected(id)) { cs_set_user_money(id, cs_get_user_money(id) + 500) } } public fw_SetModel(entity, const model[]) { if (!pev_valid(entity)) return FMRES_IGNORED if (strlen(model) < 8) return FMRES_IGNORED; new ent_classname[32] pev(entity, pev_classname, ent_classname, charsmax(ent_classname)) if (equal(ent_classname, "weaponbox")) { set_pev(entity, pev_nextthink, get_gametime() + g_weapons_stay) return FMRES_IGNORED } return FMRES_IGNORED } x0 |