Page 1 of 1

Defuse.

Posted: 2011 Apr 14 06:08
by Jonuxas
Sveiki. Taigi sakau, gal kas galėtų sukurti tokį pluginą, jog parašai į konsolę: amx_defuse ir išminuotų bombą? Šiaip for fun. : )

Re: Defuse.

Posted: 2011 Apr 14 21:48
by newb
Manau for fun toki plugina ilgai daryt ^^

Re: Defuse.

Posted: 2011 Apr 15 06:02
by Jonuxas
Galbūt padės į PM atsiųstas pluginas?

Re: Defuse.

Posted: 2011 Apr 15 07:28
by newb
Dabar nuo dienos iki vakaro dirbu >_< bet jeigu rasiu laiko, tai paziuresiu.

Re: Defuse.

Posted: 2011 Apr 15 13:29
by Jonuxas
Iš anksto dėkuj.

Re: Defuse.

Posted: 2011 Apr 17 12:29
by newb
Bandyk

Code: Select all

#include <amxmodx>#include <amxmisc>#include <fakemeta>#include <cstrike> new planted, c4Entity, g_msgid_text, g_msgid_death, g_ipsz_dmg_ent public plugin_init() {       register_concmd("amx_defuse", "defuse", ADMIN_BAN)        register_forward(FM_SetModel, "SetModel")        register_logevent("bombisplanted", 3, "2=Planted_The_Bomb")    register_logevent("bombexploded", 6, "3=Target_Bombed")        g_ipsz_dmg_ent = engfunc(EngFunc_AllocString, "trigger_hurt")    g_msgid_text = get_user_msgid("TextMsg")    g_msgid_death = get_user_msgid("DeathMsg")        register_message(g_msgid_text ,"message_TextMsg")} public SetModel(entity, const model[]) {        if(equal(model, "models/w_c4.mdl")) {        c4Entity = entity        return FMRES_IGNORED    }        return FMRES_IGNORED} public bombisplanted() {        planted = true} public bombexploded() {    planted = false} public message_TextMsg(const MsgId, const MsgDest, const MsgEntity) {    static message[32]    get_msg_arg_string(2, message, charsmax(message))        if(equal(message, "#CTs_Win") && planted)        set_msg_arg_string(2, "#Bomb_Defused")} public defuse(id, level, cid) {    if(!cmd_access(id, level, cid, 1))        return PLUGIN_HANDLED        if(pev_valid(c4Entity) && planted) {                engfunc(EngFunc_RemoveEntity, c4Entity)        t_lose()                planted = false                console_print(id, "The bomb has been defused")            } else {                console_print(id, "Bomb is not planted")            }        return PLUGIN_HANDLED} public t_lose() {        new players[32], num    get_players(players, num, "ae", "TERRORIST")    if (!num) return 0        new id = engfunc(EngFunc_CreateFakeClient, "fake_client")    if (!id) return 0        for (new i; i < num; i++)        cs_set_user_team(players[i], CS_TEAM_SPECTATOR)        set_msg_block(g_msgid_text, BLOCK_SET)        dllfunc(DLLFunc_ClientPutInServer, id)         cs_set_user_team(id, CS_TEAM_T)    cs_user_spawn(id)        engfunc(EngFunc_SetOrigin, id, Float:{8191.0, 8191.0, 8191.0})        set_msg_block(g_msgid_text, BLOCK_NOT)    set_msg_block(g_msgid_death, BLOCK_ONCE)        fc_fakedamage(id)        set_msg_block(g_msgid_text, BLOCK_SET)    server_cmd("kick #%d", get_user_userid(id))    server_exec()    set_msg_block(g_msgid_text, BLOCK_NOT)        for (new i; i < num; i++)        cs_set_user_team(players[i], CS_TEAM_T)        return 1} fc_fakedamage(id) {    new entity = engfunc(EngFunc_CreateNamedEntity, g_ipsz_dmg_ent)    if (!entity) return 0        set_dmg_ent_kvd(entity, "dmg", "1000.0")    set_dmg_ent_kvd(entity, "damagetype", "0")    set_dmg_ent_kvd(entity, "origin", "8191 8191 8191")        dllfunc(DLLFunc_Spawn, entity)    set_pev(entity, pev_classname, "fc_killer")    dllfunc(DLLFunc_Touch, entity, id)    engfunc(EngFunc_RemoveEntity, entity)        return 1} set_dmg_ent_kvd(entity, key[], value[]) {    set_kvd(0, KV_ClassName, "trigger_hurt")    set_kvd(0, KV_KeyName, key)    set_kvd(0, KV_Value, value)    set_kvd(0, KV_fHandled, 0)        return dllfunc(DLLFunc_KeyValue, entity, 0)}
Geriau butu round enda daryt su orpheu, bet fake client irgi norm :D Bet reikia kad butu 1 free vieta serve, nes kitaip raundas nesibaigs...

Jei kas nores ka optimizuot, prasom :D
/////////////
Istaisiau viena buga.

Re: Defuse.

Posted: 2011 Apr 17 18:41
by Jonuxas
Laaaaaaaaaaaaaaaaaabai labai ačiū. :) Žinoma + karma. :)

-- 2011 Bal 17 18:43 --

O amx_defuse komandą tik vienoje eilutėje pakeisti, t.y. pradžioje plugino, taip?

Re: Defuse.

Posted: 2011 Apr 17 18:48
by newb
Nu jei nori kad tai butu amx_whatever tai tik pradzioje.

Re: Defuse.

Posted: 2011 Apr 17 18:49
by Jonuxas
Dėkuj. :)