Mensajes: 444
Temas: 51
Registro en: May 2017
Reputación:
4
Buenas necesito ayuda goglie para saber poner icono a armas encontre uno pero creo que anda mal cuando escojo la arma en el menu me da el icono pero como secundaria escojo una usp que se supone que tendria que desaparecer el icono pero sigue estando con cualquier arma la verdad no se si es la manera mas buena para saber que arma tengo y asignarlo el icono si tienen una mejor dejarmela en los comentarios xd
Post que encontre :
https://forums.alliedmods.net/showpost.p...ostcount=8
Código PHP: #include <amxmodx> #include <amxmisc>
new iMsgIconStatus
public plugin_init() { register_event("CurWeapon","event_cur_weapon","be","1=1") iMsgIconStatus = get_user_msgid("StatusIcon") }
public event_cur_weapon(id) { if(read_data(2) == CSW_AK47) { message_begin(MSG_ONE,iMsgIconStatus,{0,0,0},id) write_byte(1) write_string("dmg_heat") write_byte(0) write_byte(255) write_byte(0) message_end() } }
(07/06/2018, 09:51 PM)Hypnotize escribió: (07/06/2018, 06:55 PM)Nazy.- escribió: este sitio apesta
lo único que apesta es tu ano, deja de robar autor rata
Mensajes: 1,450
Temas: 59
Registro en: Feb 2015
Reputación:
20
10/07/2018, 12:06 AM
(Última modificación: 10/07/2018, 12:07 AM por metita.)
Ese código esta horrible... la única vez que use el StatusIcon fue para mostrarlo permanentemente de esta forma, podrías guiarte por una parte de codigo que hice y colocarle la condicion de que si no es CSW_AK47, no lo muestre.
PD: Use ReAPI, por lo que si no usas ReAPI, deberás cambiarlo a la forma tradicional.
Código PHP: #include <amxmodx> #include <reapi>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Author"
new g_iIconoSpriteHS
const MOSTRAR_SPRITE = 1
enum { iColor_R = 255, iColor_G = 128, iColor_B = 0 }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true); }
public CBasePlayer_Spawn(id) { if(!is_user_alive(id)) return
IconoHeadshot(id) }
stock IconoHeadshot(id) { message_begin(MSG_ONE_UNRELIABLE, g_iIconoSpriteHS, .player = id) write_byte(MOSTRAR_SPRITE) write_string("d_headshot") write_byte(iColor_R) write_byte(iColor_G) write_byte(iColor_B) message_end() }
Mensajes: 444
Temas: 51
Registro en: May 2017
Reputación:
4
10/07/2018, 12:12 AM
(Última modificación: 10/07/2018, 12:12 AM por BlasKer.)
(10/07/2018, 12:06 AM)metita escribió: Ese código esta horrible... la única vez que use el StatusIcon fue para mostrarlo permanentemente de esta forma, podrías guiarte por una parte de codigo que hice y colocarle la condicion de que si no es CSW_AK47, no lo muestre.
PD: Use ReAPI, por lo que si no usas ReAPI, deberás cambiarlo a la forma tradicional.
Código PHP: #include <amxmodx> #include <reapi>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Author"
new g_iIconoSpriteHS
const MOSTRAR_SPRITE = 1
enum { iColor_R = 255, iColor_G = 128, iColor_B = 0 }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true); }
public CBasePlayer_Spawn(id) { if(!is_user_alive(id)) return
IconoHeadshot(id) }
stock IconoHeadshot(id) { message_begin(MSG_ONE_UNRELIABLE, g_iIconoSpriteHS, .player = id) write_byte(MOSTRAR_SPRITE) write_string("d_headshot") write_byte(iColor_R) write_byte(iColor_G) write_byte(iColor_B) message_end() }
No entiendo como hacerlo no ocupo reapi alguna otra ayuda y gracias de todos modos
(07/06/2018, 09:51 PM)Hypnotize escribió: (07/06/2018, 06:55 PM)Nazy.- escribió: este sitio apesta
lo único que apesta es tu ano, deja de robar autor rata
Mensajes: 546
Temas: 83
Registro en: Mar 2018
Reputación:
9
(10/07/2018, 12:12 AM)BlasKer escribió: (10/07/2018, 12:06 AM)metita escribió: Ese código esta horrible... la única vez que use el StatusIcon fue para mostrarlo permanentemente de esta forma, podrías guiarte por una parte de codigo que hice y colocarle la condicion de que si no es CSW_AK47, no lo muestre.
PD: Use ReAPI, por lo que si no usas ReAPI, deberás cambiarlo a la forma tradicional.
Código PHP: #include <amxmodx> #include <reapi>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Author"
new g_iIconoSpriteHS
const MOSTRAR_SPRITE = 1
enum { iColor_R = 255, iColor_G = 128, iColor_B = 0 }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", .post = true); }
public CBasePlayer_Spawn(id) { if(!is_user_alive(id)) return
IconoHeadshot(id) }
stock IconoHeadshot(id) { message_begin(MSG_ONE_UNRELIABLE, g_iIconoSpriteHS, .player = id) write_byte(MOSTRAR_SPRITE) write_string("d_headshot") write_byte(iColor_R) write_byte(iColor_G) write_byte(iColor_B) message_end() }
No entiendo como hacerlo no ocupo reapi alguna otra ayuda y gracias de todos modos
#include <reapi> el reapi se descarga capo, buscalo en la pagina ultra-mega magica donde todos buscamos para ayudarnos
Mensajes: 449
Temas: 32
Registro en: Apr 2017
Reputación:
6
12/07/2018, 11:32 AM
(Última modificación: 12/07/2018, 11:32 AM por Saber.)
Que parte de que no sabe usar reapi no entiendes
Tu crees que con tan solo colocar
Se le acomodara el codigo solo?
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Mensajes: 586
Temas: 15
Registro en: Jul 2017
Reputación:
6
12/07/2018, 12:44 PM
(Última modificación: 13/07/2018, 10:22 PM por Pablo_1998.)
BlasKer, lo que puedes hacer, es llevarte de este código para lograr remover el icono cada vez que cambias/dropeas las armas. Ojalá te sirva.
Código PHP: /** * Changelog * * version 0.1 * - Intial Release * * version 0.2 * - Fixed intial blank display of status * - Fixed on/off bug * version 0.3 * - Added suggestion: Use else/if * - Added suggestion: use get_players() instead of hardcoded 32 * - Added suggestion: Changed register_forward() to register_event("CurWeapon"...) * - Added attempt to remove icon on death (remove_weapon_icon) * version 0.4 * - Completley added get_players() (whoops :| ) * - Fixed crashing bug * - 2nd related bug - crashed CS upon death FIXED * - Finally posted some screenys :) * - Reverted icon_origin to a normal variable and set it to {0,0,0} * version 0.5 (now == 5.0 KB! ha ha ha ha) * - Added "is_user_ok()" function * - Added "add_weapon_icon()" function * - Added "remove_weapon_icon()" function * - Changed use of direct manipulation of cvar "amx_show_weapon_icon" to use of a pcvar instead * - Attempt at removal of icon upon player's death #2 (with combo of attempt 1) * - No more fakemeta depedency! (for sure) * version 0.5c * - Removed add_weapon_icon() function, caused the icon to continue the stay after gun change and simply add the icon to the display * - Modified color to a lighter green, request for a different color started * version 0.6 * - Added color changing icon to represent how much ammo is left * - Weapon icon now is removed upon death & replaced when user spawns (for sure) * version 1.0 (Finally! w00t) * - Approved it! AWESOME! Thanks Hawk552! * - Change color back to green (sorry about the purple) * - Added notes to file with possible ideas * */
#include <amxmodx>
#define PLUGIN "Weapon Icon" #define VERSION "1.0" #define AUTHOR "Zenix (m$ubn)"
new iconstatus; new user_icons[32][192]; new icon_origin[3] = {0,0,0} new pcv_show; new pcv_iloc;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event ("CurWeapon", "update_icon", "ab") register_event("DeathMsg", "event_death", "a") pcv_show = register_cvar("amx_show_weapon_icon", "1"); pcv_iloc = register_cvar("amx_show_weapon_icon_location", "1"); register_concmd("amx_weapon_icon", "weapon_icon_toggle", ADMIN_CVAR, "Toggle display of the weapon icon on/off (default on)") check_icon_loc(); }
public update_icon(id) { check_icon_loc(); if(!get_pcvar_num(pcv_show) || get_pcvar_num(pcv_iloc) == 0) return PLUGIN_CONTINUE; if(is_user_alive(id)) { new iwpn, wclip, wammo, sprite[192], icon_color[3] = {0, 160, 0} remove_weapon_icon(id) iwpn = get_user_weapon(id, wclip, wammo) switch(iwpn) { case CSW_P228: sprite = "d_p228" case CSW_SCOUT: sprite = "d_scout" case CSW_HEGRENADE: sprite = "d_grenade" case CSW_XM1014: sprite = "d_xm1014" case CSW_C4: sprite = "d_c4" case CSW_MAC10: sprite = "d_mac10" case CSW_AUG: sprite = "d_aug" case CSW_SMOKEGRENADE: sprite = "d_grenade" case CSW_ELITE: sprite = "d_elite" case CSW_FIVESEVEN: sprite = "d_fiveseven" case CSW_UMP45: sprite = "d_ump45" case CSW_SG550: sprite = "d_sg550" case CSW_GALIL: sprite = "d_galil" case CSW_FAMAS: sprite = "d_famas" case CSW_USP: sprite = "d_usp" case CSW_MP5NAVY: sprite = "d_mp5navy" case CSW_M249: sprite = "d_m249" case CSW_M3: sprite = "d_m3" case CSW_M4A1: sprite = "d_m4a1" case CSW_TMP: sprite = "d_tmp" case CSW_G3SG1: sprite = "d_g3sg1" case CSW_FLASHBANG: sprite = "d_flashbang" case CSW_DEAGLE: sprite = "d_deagle" case CSW_SG552: sprite = "d_sg552" case CSW_AK47: sprite = "d_ak47" case CSW_KNIFE: sprite = "d_knife" case CSW_P90: sprite = "d_p90" case CSW_VEST: sprite = "suit_full" case CSW_VESTHELM: sprite = "suithelmet_full" case CSW_GLOCK18: sprite = "d_glock18" case CSW_AWP: sprite = "d_awp" case 0: sprite = "" default: sprite = "" } if (is_user_ok(id)) { if (equali(sprite, "") || !is_user_ok(id)) { remove_weapon_icon(id) } else { // draw the sprite itself (only on a human user's screen) // marker //////////////////////////////////////////////////////////////////////////////// message_begin(MSG_ONE,iconstatus,icon_origin,id); write_byte(1); // status (0=hide, 1=show, 2=flash) write_string(sprite); // sprite name /* 4 stages - Normal, 1 Clip, No Clip + Some ammo, Completely Out */ // ammo check, this is for the color of the icon get_user_ammo(id, iwpn, wammo, wclip) // update vars correctly if (wclip == 0 && wammo == 0) icon_color = {0, 0, 255} // outta ammo! if (wclip == wammo || wclip > wammo) icon_color = {255, 150, 150} // last clip! if (wammo > 0 && wclip == 0) icon_color = {255, 100, 100} // almost out! // attempt at percentage max clip & % red/green color // 1: Get max ammo for weapon //maxammo = maxclip(iwpn); write_byte(icon_color[0]); // red write_byte(icon_color[1]); // green write_byte(icon_color[2]); // blue message_end(); } user_icons[id] = sprite; } } return PLUGIN_CONTINUE }
public weapon_icon_toggle(id) { new toggle[32], players[32], num, player, status[32] = "enabled" read_argv(1, toggle, 1) if (equali(toggle, "1")) { status = "enabled" } else if (equali(toggle, "0")) { status = "disabled" } else if (equali(toggle, "")) { console_print(id, "Usage: amx_weapon_icon <1/0> - Toggles wether or not showing the user's current weapon as an icon") console_print(id, "Weapon Icon is currently %s", status) return PLUGIN_HANDLED } set_cvar_string("amx_show_weapon_icon", toggle) client_print(0, print_chat, "Weapon Icon is now %s", status) get_players(players, num) for (new i=0; i<num; i++) { player = players[i] if (!equali(user_icons[player], "") && !equali(players[i], "") && is_user_ok(id)) { remove_weapon_icon(i) } } return PLUGIN_CONTINUE }
public remove_weapon_icon(id) { if (is_user_ok(id)) { message_begin(MSG_ONE,iconstatus,icon_origin,id); write_byte(0); write_string(user_icons[id]); message_end(); } }
public is_user_ok(id) { // check if the user is "ok": they are connected, not a bot, and alive if (is_user_connected(id) && !is_user_bot(id) && is_user_alive(id)) return true return false }
public event_death() { new player = read_data(2) // the dead player's ID (1-32) if (is_user_connected(player) && !is_user_bot(player)) { // remove icon message_begin(MSG_ONE,iconstatus,icon_origin,player); write_byte(0); write_string(user_icons[player]); message_end(); } }
public check_icon_loc() { if(!get_pcvar_num(pcv_iloc)) return PLUGIN_CONTINUE; new value = get_pcvar_num(pcv_iloc); if (value == 0) iconstatus = 0; if (value == 1) iconstatus = get_user_msgid("StatusIcon"); if (value == 2) iconstatus = get_user_msgid("Scenario"); return PLUGIN_CONTINUE; }
|