←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

JailBreak - Kroki prowadzącego (SIMON)

  • +
  • -
woras - zdjęcie woras 26.12.2014

Witam

Tak chodzę i szukam pluginu na kroki prowadzącego CT i znalazłem, ktoś wyciął z jbextreme kroki dla CT. Lecz, czy szło by przerobić ten plugin tak, że kroki które się malują na ziemi, będą pojawiały się tylko dla prowadzącego strażnika (simon) ? ...

Bardzo bym potrzebował tej poprawki.

Obecnie każdy CT ma te kroki i jest brudno na mapie oraz nie sprawdza się w prowadzeniu, a ja chce wykorzystać to dla simon'a by łatwiej było mu prowadzić. Zamiast kolorowych lin +paint, to będą świeżo malowane się kroki :)

 

Proszę :)

Podaje .sma

 

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PLUGIN "xXPLUGINXx"
#define VERSION "1.0"
#define AUTHOR "JBEXTREME"

#define vec_copy(%1,%2)        ( %2[0] = %1[0], %2[1] = %1[1],%2[2] = %1[2])

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
}
public client_PostThink(id)
{
    if(!(get_user_team(id) == 2)  || !is_user_alive(id) ||
    !(entity_get_int(id, EV_INT_flags) & FL_ONGROUND) || entity_get_int(id, EV_ENT_groundentity))
    return PLUGIN_CONTINUE
    
    static Float:origin[3]
    static Float:last[3]
    
    entity_get_vector(id, EV_VEC_origin, origin)
    if(get_distance_f(origin, last) < 32.0)
    {
        return PLUGIN_CONTINUE
    }
    
    vec_copy(origin, last)
    if(entity_get_int(id, EV_INT_bInDuck))
        origin[2] -= 18.0
    else
        origin[2] -= 36.0
    
    
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, {0,0,0}, 0)
    write_byte(TE_WORLDDECAL)
    write_coord(floatround(origin[0]))
    write_coord(floatround(origin[1]))
    write_coord(floatround(origin[2]))
    write_byte(105)
    message_end()
    
    return PLUGIN_CONTINUE
}
Odpowiedz

  • +
  • -
Wielkie Jol - zdjęcie Wielkie Jol 26.12.2014

Tak, da rade, dodaj biblioteke jailbreak (zakładam, że korzystasz z silnika Cypisa) i za pomoca jail_get_user_prowadzacy () porównaj id gracza z id prowadzącego w postthinku
Odpowiedz

  • +
  • -
woras - zdjęcie woras 27.12.2014

Tak silnik cypisa :D

Jesteś w stanie zrobić to za mnie :D?

Odpowiedz

  • +
  • -
Wielkie Jol - zdjęcie Wielkie Jol 27.12.2014

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <jailbreak>

#define PLUGIN "xXPLUGINXx"
#define VERSION "1.0"
#define AUTHOR "JBEXTREME"

#define vec_copy(%1,%2)        ( %2[0] = %1[0], %2[1] = %1[1],%2[2] = %1[2])

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
}
public client_PostThink(id)
{
    if(!(get_user_team(id) == 2)  || !is_user_alive(id) ||
    !(entity_get_int(id, EV_INT_flags) & FL_ONGROUND) || entity_get_int(id, EV_ENT_groundentity) || id != jail_get_prowadzacy())
    return PLUGIN_CONTINUE
    
    static Float:origin[3]
    static Float:last[3]
    
    entity_get_vector(id, EV_VEC_origin, origin)
    if(get_distance_f(origin, last) < 32.0)
    {
        return PLUGIN_CONTINUE
    }
    
    vec_copy(origin, last)
    if(entity_get_int(id, EV_INT_bInDuck))
        origin[2] -= 18.0
    else
        origin[2] -= 36.0
    
    
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY, {0,0,0}, 0)
    write_byte(TE_WORLDDECAL)
    write_coord(floatround(origin[0]))
    write_coord(floatround(origin[1]))
    write_coord(floatround(origin[2]))
    write_byte(105)
    message_end()
    
    return PLUGIN_CONTINUE
}
Odpowiedz