Nie wiem czy temat nazwałem dobrze za co z góry przepraszam.
Mam pytanie czy gdy będę miał diablo z natywami [KLIK] będę mógł w innym pluginie dać if player_class ? Albo if player_b_vampire ?
Niżej podam przykład.
Spoiler
#include <amxmodx>
#include <engine>
#include <diablomod>
#define FL_WATERJUMP (1<<11) // player jumping out of water
#define FL_ONGROUND (1<<9) // At rest / on the ground
public plugin_init() {
register_plugin("Super Bunny Hopper", "1.2", "Cheesy Peteza")
register_cvar("sbhopper_version", "1.2", FCVAR_SERVER)
register_cvar("bh_enabled", "1")
register_cvar("bh_autojump", "1")
register_cvar("bh_showusage", "1")
}
public client_PreThink(id) {
if (!get_cvar_num("bh_enabled"))
return PLUGIN_CONTINUE
entity_set_float(id, EV_FL_fuser2, 0.0) // Disable slow down after jumping
if (!get_cvar_num("bh_autojump"))
return PLUGIN_CONTINUE
// Code from CBasePlayer::Jump (player.cpp) Make a player jump automatically
if (entity_get_int(id, EV_INT_button) & 2 && player_class[id]==Paladyn) { // If holding jump
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6) // Play the Jump Animation
}
return PLUGIN_CONTINUE
}
public client_authorized(id)
set_task(30.0, "showUsage", id)
public showUsage(id) {
if ( !get_cvar_num("bh_enabled") || !get_cvar_num("bh_showusage") )
return PLUGIN_HANDLED
if ( !get_cvar_num("bh_autojump") ) {
client_print(id, print_chat, "[AMXX] Bunny Hop jest wlaczony na serwerze. Mozesz caly czas skakac.")
} else {
client_print(id, print_chat, "[AMXX] Auto Bunny Hop jest wlaczony na serwerze. W raize problemow wejdz na amxx.pl .")
}
return PLUGIN_HANDLED
}
Albo przykład z player_b_vampire
Spoiler
#include <amxmodx>
#include <engine>
#include <diablomod>
#define FL_WATERJUMP (1<<11) // player jumping out of water
#define FL_ONGROUND (1<<9) // At rest / on the ground
public plugin_init() {
register_plugin("Super Bunny Hopper", "1.2", "Cheesy Peteza")
register_cvar("sbhopper_version", "1.2", FCVAR_SERVER)
register_cvar("bh_enabled", "1")
register_cvar("bh_autojump", "1")
register_cvar("bh_showusage", "1")
}
public client_PreThink(id) {
if (!get_cvar_num("bh_enabled"))
return PLUGIN_CONTINUE
entity_set_float(id, EV_FL_fuser2, 0.0) // Disable slow down after jumping
if (!get_cvar_num("bh_autojump"))
return PLUGIN_CONTINUE
// Code from CBasePlayer::Jump (player.cpp) Make a player jump automatically
if (entity_get_int(id, EV_INT_button) & 2 && player_b_vampire[id]>0) { // If holding jump
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6) // Play the Jump Animation
}
return PLUGIN_CONTINUE
}
public client_authorized(id)
set_task(30.0, "showUsage", id)
public showUsage(id) {
if ( !get_cvar_num("bh_enabled") || !get_cvar_num("bh_showusage") )
return PLUGIN_HANDLED
if ( !get_cvar_num("bh_autojump") ) {
client_print(id, print_chat, "[AMXX] Bunny Hop jest wlaczony na serwerze. Mozesz caly czas skakac.")
} else {
client_print(id, print_chat, "[AMXX] Auto Bunny Hop jest wlaczony na serwerze. W raize problemow wejdz na amxx.pl .")
}
return PLUGIN_HANDLED
}
Czy w tym nowym pluginie musze dodawać też np player_b_vampire albo coś innego ?
Proszę o wyjaśnienie oraz informacje jak z tego korzystać.
Pozdrawiam.