| devilicioux |
07-15-2013 10:21 |
Kill Distance Plugin Error Help
PHP Code:
L 07/15/2013 - 10:18:32: Invalid player id 0 L 07/15/2013 - 10:18:32: [AMXX] Displaying debug trace (plugin "kill-distance.amxx") L 07/15/2013 - 10:18:32: [AMXX] Run time error 10: native error (native "get_user_origin") L 07/15/2013 - 10:18:32: [AMXX] [0] kill-distance.sma::Event_Death (line 70) L 07/15/2013 - 10:42:55: Invalid player id 142 L 07/15/2013 - 10:42:55: [AMXX] Displaying debug trace (plugin "kill-distance.amxx") L 07/15/2013 - 10:42:55: [AMXX] Run time error 10: native error (native "get_user_origin") L 07/15/2013 - 10:42:55: [AMXX] [0] kill-distance.sma::Event_Death (line 70)
PHP Code:
/* AMXX Kill Distance
Author: Nightscream Help: Kleenex Version: 0.3 =============================================== Description: If Someone kills an enemy/teammate it will give a hud message to see from how far you killed him in meters
made on request http://www.amxmodx.org/forums/viewtopic.php?t=15208 =============================================== Cvars: distance_meter 0 = Feet 1 = Meter ditance_all 0 = shows text only to killer 1= shows text to everyone =============================================== Tested on: Listen server | condition-zero | Windows XP Home | amxx 1.55 =============================================== Changelog: 0.1 - Release for amxx 0.2 - Added Distance in Feet 0.3 - Added distance_all cvar so text can be showed to everyone/killer =============================================== suggestions are always welcome */
#include <amxmodx> #include <amxmisc>
#define PLUGINNAME "Kill Distance" #define VERSION "0.3" #define AUTHOR "Nightscream"
new Float:modMeter = 32.00 new Float:modFeet = 35.00 new g_maxplayers
public plugin_init() { register_plugin( PLUGINNAME, VERSION, AUTHOR ) register_event( "DeathMsg", "Event_Death", "a" ) register_cvar( "distance_meter", "1" ) register_cvar( "distance_all", "0" ) g_maxplayers = get_maxplayers() }
public Event_Death(id) { new iVictimID = read_data(2) new iWeapon, iAttackerID = get_user_attacker( iVictimID, iWeapon )
if( !is_user_connected( iVictimID ) ) return PLUGIN_CONTINUE
if( !is_user_connected( iAttackerID ) || iVictimID == iAttackerID ) return PLUGIN_CONTINUE new name[33] new name2[33] get_user_name( iAttackerID, name, 32 ) get_user_name( iVictimID, name2, 32 ) new origin1[3] new origin2[3] get_user_origin( iAttackerID, origin1 ) //<--- Error Shown Here get_user_origin( iVictimID, origin2 )
new distance = get_distance(origin1,origin2) new distance1 =(distance/modMeter)
if ( get_cvar_num( "distance_meter" ) == 0 ) { if ( get_cvar_num( "distance_all" ) == 1 ) { set_hudmessage( 0, 100, 0, 0.06, 0.8, 0, 6.0, 12.0, 0.5, 0.5, 162 ); show_hudmessage( id, "%s have killed %s^nfrom a distance of %d feet",name, name2,floatround( distance/modFeet ) ) } if ( get_cvar_num( "distance_all" ) == 0 ) { set_hudmessage( 0, 100, 0, 0.06, 0.8, 0, 6.0, 12.0, 0.5, 0.5, 162 ); show_hudmessage( iAttackerID, "You have killed %s^nfrom a distance of %d feet", name2,floatround( distance/modFeet ) ) } } if ( get_cvar_num("distance_meter") == 1 ) { if ( get_cvar_num( "distance_all" ) == 1 ) { set_hudmessage(0, 100, 0, 0.06, 0.8, 0, 6.0, 12.0, 0.5, 0.5, 162); show_hudmessage( id, "%s have killed %s^nfrom a distance of %d meter",name, name2,floatround( distance/modMeter ) ) } if ( get_cvar_num( "distance_all" ) == 0 ) { //client_print(iAttackerID,print_chat, "You have killed %s from a distance of %d meter", name2,distance1) colored_print(iAttackerID, "^x03 You have killed ^x04 %s ^x03 from a distance of ^x04 %d meter", name2,floatround(distance1)) //client_print(iVictimID,print_chat, "Killed by %s from a distance of %d meter", name,distance1) colored_print(iVictimID, "^x03 Killed by ^x04 %s ^x03 from a distance of ^x04 %d meter", name,floatround(distance1)) } } return PLUGIN_CONTINUE }
// Colored print by MeRcyLeZZ colored_print(target, const message[], any:...) { static buffer[512], i, argscount, g_msgSayText argscount = numargs() g_msgSayText = get_user_msgid("SayText") // Send to everyone if (!target) { static player for (player = 1; player <= g_maxplayers; player++) { // Not connected if (!is_user_connected(player)) continue; // Remember changed arguments static changed[5], changedcount // [5] = max LANG_PLAYER occurencies changedcount = 0 // Replace LANG_PLAYER with player id for (i = 2; i < argscount; i++) { if (getarg(i) == LANG_PLAYER) { setarg(i, 0, player) changed[changedcount] = i changedcount++ } } // Format message for player vformat(buffer, charsmax(buffer), message, 3) // Send it message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player) write_byte(player) write_string(buffer) message_end() // Replace back player id's with LANG_PLAYER for (i = 0; i < changedcount; i++) setarg(changed[i], 0, LANG_PLAYER) } } // Send to specific target else { // Format message for player vformat(buffer, charsmax(buffer), message, 3) // Send it message_begin(MSG_ONE, g_msgSayText, _, target) write_byte(target) write_string(buffer) message_end() } }
|