Mensajes: 272
Temas: 125
Registro en: Apr 2017
Reputación:
0
17/10/2020, 07:14 PM
(Última modificación: 17/10/2020, 07:15 PM por Jota. Edited 1 time in total.)
hola estado intentando hacer funciona este plugins pero para mi es imposible es muy antiguo
si hay alguien que puede darme una mano porfa se lo agradeceria mucho
Código PHP: /*************************************************************************************************************
Plugin: AMX Ejaculate Version: 0.2 Author: KRoT@L
0.1 Release 0.2 Improved the code Renamed cvar amx_maxejaculations into "amx_ejaculate_max" Renamed cvar amx_ejaculate_admin into "amx_ejaculate_admins" Added cvars amx_ejaculate_active and amx_ejaculate_range Removed #define NO_CS_CZ (you can now ejaculate anywhere if "amx_ejaculate_range" is lower than 30) Added #define PRINT_TYPE to be able to change the type of information message (print_console or print_chat)
Commands:
ejaculate - ejaculates on a dead body or anywhere say /ejaculate_help - displays ejaculate help
To ejaculate on a dead body or anywhere you have to bind a key to "ejaculate". Open your console and type: bind "key" "ejaculate" Example: bind "x" "ejaculate" Then stand still above a dead player, press your key and you'll ejaculate on him! You can control the direction of the semen with your mouse!
Players can write "/ejaculate_help" in the chat to get some help.
Cvars:
amx_ejaculate_active <0|1> - disable/enable the plugin (default: 1)
amx_ejaculate_admins <0|1> - disable/enable the usage of the plugin only for admins (default: 0)
amx_ejaculate_max "3" - maximum number of times a player is allowed to ejaculate per each spawning
amx_ejaculate_range "80" - maximum range between a dead body and a player who wants ejaculate (must be between 30 and 300) Note: Set to a value lower than 30 (MIN_RANGE) to be able to ejaculate anywhere you want.
Requirement:
AMX Mod 2010.1 or higher.
*************************************************************************************************************/
/******************************************************************************/ // If you change one of the following settings, do not forget to recompile // the plugin and to install the new .amx file on your server. // You can find the list of admin flags in the amx/examples/include/amxconst.inc file.
#define FLAG_EJACULATE ADMIN_ALL #define FLAG_EJACULATE_HELP ADMIN_ALL
// Mode of print for ejaculate info messages from the "ejaculate" command. // Values are either "print_console", "print_chat" or "print_center". #define PRINT_TYPE print_chat
// Edit here the minimal & maximal range value in units. // Notes: This is used to check the distance between a player who wants ejaculate on a dead body. // If the cvar "amx_ejaculate_range" is lower than MIN_RANGE, players can ejaculate anywhere. #define MIN_RANGE 30 #define MAX_RANGE 300
/******************************************************************************/
#include <translator> #include <amxmod> #include <amxmisc>
new g_iPlayerCounter[33] new g_iPlayerEjaculationsNum[33] new g_iPlayerOrigins[33][3]
new g_cvarAmxEjaculateActive new g_cvarAmxEjaculateAdmins new g_cvarAmxEjaculateMax new g_cvarAmxEjaculateRange
#define MAX_COUNTER 10 #define TASKID_make_ejaculate 37931975
public plugin_precache() { load_translations("amx_ejaculate")
new const szSoundFile[] = "sound/ejaculate/ejaculate.wav" if(file_exists(szSoundFile)) { precache_sound(szSoundFile[6]) } else { log_amx(_T("AMX Ejaculate: WARNING! Sound file ^"%s^" doesn't exist on the server."), szSoundFile) } }
public plugin_init() { register_plugin(_T("AMX Ejaculate"),"0.2","KRoT@L") register_clcmd("ejaculate", "ejaculate_on_player", FLAG_EJACULATE, _T("- ejaculates on a dead body or anywhere")) register_clcmd("say /ejaculate_help", "ejaculate_help", FLAG_EJACULATE_HELP, _T("- displays ejaculate help")) g_cvarAmxEjaculateActive = register_cvar("amx_ejaculate_active", "1") g_cvarAmxEjaculateAdmins = register_cvar("amx_ejaculate_admins", "0") g_cvarAmxEjaculateMax = register_cvar("amx_ejaculate_max", "3") g_cvarAmxEjaculateRange = register_cvar("amx_ejaculate_range", "80") register_event("ResetHUD", "reset_hud", "be") register_event("DeathMsg", "death_event", "a") }
public client_putinserver(id) { g_iPlayerCounter[id] = 0 g_iPlayerEjaculationsNum[id] = 0 }
public client_disconnect(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) } }
public ejaculate_on_player(id, iLevel) { if(!access(id, iLevel)) { console_print(id, _T("You have no access to that command.")) return PLUGIN_HANDLED }
if(g_iPlayerCounter[id]) { client_print(id, PRINT_TYPE, _T("You are already in ejaculating.")) return PLUGIN_HANDLED }
if(get_cvarptr_num(g_cvarAmxEjaculateActive) <= 0) { client_print(id, PRINT_TYPE, _T("The plugin ^"AMX Ejaculate^" is disabled.")) return PLUGIN_HANDLED }
new iEjaculateRange if(get_cvarptr_num(g_cvarAmxEjaculateAdmins) > 0 && !is_user_realadmin(id)) { if((iEjaculateRange = get_cvarptr_num(g_cvarAmxEjaculateRange)) >= MIN_RANGE) { client_print(id, PRINT_TYPE, _T("Only admins can ejaculate on a dead body.")) } else { client_print(id, PRINT_TYPE, _T("Only admins can ejaculate.")) } return PLUGIN_HANDLED }
if(!is_user_alive(id)) { client_print(id, PRINT_TYPE, _T("You can't ejaculate when you are dead.")) return PLUGIN_HANDLED }
new iEjaculateMax = get_cvarptr_num(g_cvarAmxEjaculateMax) if(g_iPlayerEjaculationsNum[id] >= iEjaculateMax) { client_print(id, PRINT_TYPE, _T("You can't ejaculate more than %d time(s) per each spawning."), iEjaculateMax) return PLUGIN_HANDLED }
iEjaculateRange = get_cvarptr_num(g_cvarAmxEjaculateRange) if(iEjaculateRange >= MIN_RANGE) { new iOrigin[3], iPlayers[32], iPlayersNum, iPlayer new iCurrentDistance, iDeadBody, iMinDistance = clamp(iEjaculateRange, MIN_RANGE, MAX_RANGE)
if(iEjaculateRange > MAX_RANGE) { set_cvar_num("amx_ejaculate_range", MAX_RANGE) }
get_user_origin(id, iOrigin) get_players(iPlayers, iPlayersNum, "bh")
for(--iPlayersNum; iPlayersNum >= 0; iPlayersNum--) { iPlayer = iPlayers[iPlayersNum] iCurrentDistance = get_distance(iOrigin, g_iPlayerOrigins[iPlayer]) if(iCurrentDistance < iMinDistance) { iMinDistance = iCurrentDistance iDeadBody = iPlayer } }
if(iDeadBody > 0) { new szPlayerName[32] get_user_name(iDeadBody, szPlayerName, charsmax(szPlayerName))
if((get_user_flags(iDeadBody) & ADMIN_IMMUNITY) && (get_user_flags(id) & ADMIN_SUPREME) == 0) { client_print(id, PRINT_TYPE, _T("Player ^"%s^" has immunity."), szPlayerName) return PLUGIN_HANDLED }
new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, _T("%s Is Ejaculating On %s's Dead Body!! MuHaHaHaHa!!"), szName, szPlayerName) } else { client_print(id, PRINT_TYPE, _T("There is no dead body around you.")) return PLUGIN_HANDLED } } else { new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, _T("%s Is Ejaculating!"), szName) }
g_iPlayerCounter[id] = 1 g_iPlayerEjaculationsNum[id]++
emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(1.0, "make_ejaculate", id + TASKID_make_ejaculate, _, _, "a", MAX_COUNTER - 1)
return PLUGIN_HANDLED }
public ejaculate_help(id, iLevel) { new szArgs[24] new iArgsLen = read_args(szArgs, charsmax(szArgs)) new iPrintType = (szArgs[0] == '"' && szArgs[iArgsLen - 1] == '"') ? print_chat : print_console
if(!access(id, iLevel)) { client_print(id, iPrintType, _T("You have no access to that command.")) return PLUGIN_HANDLED }
client_print(id, iPrintType, _T("To ejaculate on a dead body or anywhere you have to bind a key to ^"ejaculate^".")) client_print(id, iPrintType, _T("Open your console and write: bind ^"key^" ^"ejaculate^"")) client_print(id, iPrintType, _T("Example: bind ^"x^" ^"ejaculate^""))
return PLUGIN_HANDLED }
public make_ejaculate(id) { id -= TASKID_make_ejaculate
new iOrigin[3], iVelocity[3], Float:fVelocity[3] get_user_origin(id, iOrigin) VelocityByAim(id, 3, fVelocity) FVecIVec(fVelocity, iVelocity)
message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin) write_byte(TE_BLOODSTREAM) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_coord(iVelocity[0]) write_coord(iVelocity[1]) write_coord(iVelocity[2]) write_byte(6) // color write_byte(165) // speed message_end()
if(++g_iPlayerCounter[id] == MAX_COUNTER + 1) { g_iPlayerCounter[id] = 0 } }
public reset_hud(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) }
g_iPlayerEjaculationsNum[id] = 0 }
public death_event() { new victim = read_data(2) get_user_origin(victim, g_iPlayerOrigins[victim], 0)
if(g_iPlayerCounter[victim]) { reset_ejaculate(victim) } }
reset_ejaculate(id) { g_iPlayerCounter[id] = 0 remove_task(id + TASKID_make_ejaculate) emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 0.0, ATTN_NORM, 0, PITCH_NORM) }
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team
Error: Undefined symbol "get_cvarptr_num" on line 131
Error: Undefined symbol "get_cvarptr_num" on line 137
Error: Undefined symbol "get_cvarptr_num" on line 138
Error: Undefined symbol "get_cvarptr_num" on line 152
Error: Undefined symbol "get_cvarptr_num" on line 158
Warning: Symbol is assigned a value that is never used: "g_cvarAmxEjaculateActive" on line 276
Warning: Symbol is assigned a value that is never used: "g_cvarAmxEjaculateAdmins" on line 276
Warning: Symbol is assigned a value that is never used: "g_cvarAmxEjaculateMax" on line 276
Warning: Symbol is assigned a value that is never used: "g_cvarAmxEjaculateRange" on line 276
5 Errors.
Could not locate output file C:\Users\yoo\Desktop\amx_ejaculate.amx (compile failed).
Mensajes: 73
Temas: 24
Registro en: Feb 2020
Reputación:
0
No es que el plugin sea muy antiguo, es que tu no supiste "editar" el plugin.
Fijate en tus errores y arreglalos y luego compila.
Tengo un problema con los emotes
Ayuda
Mensajes: 272
Temas: 125
Registro en: Apr 2017
Reputación:
0
17/10/2020, 07:48 PM
(Última modificación: 17/10/2020, 07:49 PM por Jota.)
lo pudiste compilar tu ?
no se donde encontrar el #include <translator>
uso la amx 1.9
Mensajes: 144
Temas: 4
Registro en: Mar 2018
Reputación:
8
(17/10/2020, 07:45 PM)Ninja uwu escribió: No es que el plugin sea muy antiguo, es que tu no supiste "editar" el plugin.
Fijate en tus errores y arreglalos y luego compila.
Si es un plugin muy antiguo, según lo que leí, el translator se dejó de usar hace muchos años.
Pero aquí encontré el include... http://svn.ian.cammarata.us/index.cgi/Ha...iew=markup
Mensajes: 272
Temas: 125
Registro en: Apr 2017
Reputación:
0
gracias pero me sale ese error aun
Mensajes: 144
Temas: 4
Registro en: Mar 2018
Reputación:
8
Leyendo un poco más, ese plugin es obsoleto.
Es un plugin AMX, no AMXX.
Mensajes: 196
Temas: 4
Registro en: Apr 2018
Reputación:
3
Código PHP: /*************************************************************************************************************
Plugin: AMX Ejaculate Version: 0.2 Author: KRoT@L
0.1 Release 0.2 Improved the code Renamed cvar amx_maxejaculations into "amx_ejaculate_max" Renamed cvar amx_ejaculate_admin into "amx_ejaculate_admins" Added cvars amx_ejaculate_active and amx_ejaculate_range Removed #define NO_CS_CZ (you can now ejaculate anywhere if "amx_ejaculate_range" is lower than 30) Added #define PRINT_TYPE to be able to change the type of information message (print_console or print_chat)
Commands:
ejaculate - ejaculates on a dead body or anywhere say /ejaculate_help - displays ejaculate help
To ejaculate on a dead body or anywhere you have to bind a key to "ejaculate". Open your console and type: bind "key" "ejaculate" Example: bind "x" "ejaculate" Then stand still above a dead player, press your key and you'll ejaculate on him! You can control the direction of the semen with your mouse!
Players can write "/ejaculate_help" in the chat to get some help.
Cvars:
amx_ejaculate_active <0|1> - disable/enable the plugin (default: 1)
amx_ejaculate_admins <0|1> - disable/enable the usage of the plugin only for admins (default: 0)
amx_ejaculate_max "3" - maximum number of times a player is allowed to ejaculate per each spawning
amx_ejaculate_range "80" - maximum range between a dead body and a player who wants ejaculate (must be between 30 and 300) Note: Set to a value lower than 30 (MIN_RANGE) to be able to ejaculate anywhere you want.
Requirement:
AMX Mod 2010.1 or higher.
*************************************************************************************************************/
/******************************************************************************/ // If you change one of the following settings, do not forget to recompile // the plugin and to install the new .amx file on your server. // You can find the list of admin flags in the amx/examples/include/amxconst.inc file.
#define FLAG_EJACULATE ADMIN_ALL #define FLAG_EJACULATE_HELP ADMIN_ALL
// Mode of print for ejaculate info messages from the "ejaculate" command. // Values are either "print_console", "print_chat" or "print_center". #define PRINT_TYPE print_chat
// Edit here the minimal & maximal range value in units. // Notes: This is used to check the distance between a player who wants ejaculate on a dead body. // If the cvar "amx_ejaculate_range" is lower than MIN_RANGE, players can ejaculate anywhere. #define MIN_RANGE 30 #define MAX_RANGE 300
/******************************************************************************/
#include <amxmodx> #include <amxmisc>
new g_iPlayerCounter[33] new g_iPlayerEjaculationsNum[33] new g_iPlayerOrigins[33][3]
new g_cvarAmxEjaculateActive new g_cvarAmxEjaculateAdmins new g_cvarAmxEjaculateMax new g_cvarAmxEjaculateRange
#define MAX_COUNTER 10 #define TASKID_make_ejaculate 37931975
public plugin_precache() { new const szSoundFile[] = "sound/ejaculate/ejaculate.wav" if(file_exists(szSoundFile)) { precache_sound(szSoundFile[6]) } else { log_amx("AMX Ejaculate: WARNING! Sound file ^"%s^" doesn't exist on the server.", szSoundFile) } }
public plugin_init() { register_plugin("AMX Ejaculate","0.2","KRoT@L") register_clcmd("ejaculate", "ejaculate_on_player", FLAG_EJACULATE, "- ejaculates on a dead body or anywhere") register_clcmd("say /ejaculate_help", "ejaculate_help", FLAG_EJACULATE_HELP, "- displays ejaculate help") g_cvarAmxEjaculateActive = register_cvar("amx_ejaculate_active", "1") g_cvarAmxEjaculateAdmins = register_cvar("amx_ejaculate_admins", "0") g_cvarAmxEjaculateMax = register_cvar("amx_ejaculate_max", "3") g_cvarAmxEjaculateRange = register_cvar("amx_ejaculate_range", "80") register_event("ResetHUD", "reset_hud", "be") register_event("DeathMsg", "death_event", "a") }
public client_putinserver(id) { g_iPlayerCounter[id] = 0 g_iPlayerEjaculationsNum[id] = 0 }
public client_disconnected(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) } }
public ejaculate_on_player(id, iLevel) { if(!access(id, iLevel)) { console_print(id, "You have no access to that command.") return PLUGIN_HANDLED }
if(g_iPlayerCounter[id]) { client_print(id, PRINT_TYPE, "You are already in ejaculating.") return PLUGIN_HANDLED }
if(get_pcvar_num(g_cvarAmxEjaculateActive) <= 0) { client_print(id, PRINT_TYPE, "The plugin ^"AMX Ejaculate^" is disabled.") return PLUGIN_HANDLED }
new iEjaculateRange if(get_pcvar_num(g_cvarAmxEjaculateAdmins) > 0 && !(get_user_flags(id) & FLAG_EJACULATE)) { if((iEjaculateRange = get_pcvar_num(g_cvarAmxEjaculateRange)) >= MIN_RANGE) { client_print(id, PRINT_TYPE, "Only admins can ejaculate on a dead body.") } else { client_print(id, PRINT_TYPE, "Only admins can ejaculate.") } return PLUGIN_HANDLED }
if(!is_user_alive(id)) { client_print(id, PRINT_TYPE, "You can't ejaculate when you are dead.") return PLUGIN_HANDLED }
new iEjaculateMax = get_pcvar_num(g_cvarAmxEjaculateMax) if(g_iPlayerEjaculationsNum[id] >= iEjaculateMax) { client_print(id, PRINT_TYPE, "You can't ejaculate more than %d time(s) per each spawning.", iEjaculateMax) return PLUGIN_HANDLED }
iEjaculateRange = get_pcvar_num(g_cvarAmxEjaculateRange) if(iEjaculateRange >= MIN_RANGE) { new iOrigin[3], iPlayers[32], iPlayersNum, iPlayer new iCurrentDistance, iDeadBody, iMinDistance = clamp(iEjaculateRange, MIN_RANGE, MAX_RANGE)
if(iEjaculateRange > MAX_RANGE) { set_cvar_num("amx_ejaculate_range", MAX_RANGE) }
get_user_origin(id, iOrigin) get_players(iPlayers, iPlayersNum, "bh")
for(--iPlayersNum; iPlayersNum >= 0; iPlayersNum--) { iPlayer = iPlayers[iPlayersNum] iCurrentDistance = get_distance(iOrigin, g_iPlayerOrigins[iPlayer]) if(iCurrentDistance < iMinDistance) { iMinDistance = iCurrentDistance iDeadBody = iPlayer } }
if(iDeadBody > 0) { new szPlayerName[32] get_user_name(iDeadBody, szPlayerName, charsmax(szPlayerName))
if((get_user_flags(iDeadBody) & ADMIN_IMMUNITY) && (get_user_flags(id) & ADMIN_ADMIN)) { client_print(id, PRINT_TYPE, "Player ^"%s^" has immunity.", szPlayerName) return PLUGIN_HANDLED }
new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, "%s Is Ejaculating On %s's Dead Body!! MuHaHaHaHa!!", szName, szPlayerName) } else { client_print(id, PRINT_TYPE, "There is no dead body around you.") return PLUGIN_HANDLED } } else { new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, "%s Is Ejaculating!", szName) }
g_iPlayerCounter[id] = 1 g_iPlayerEjaculationsNum[id]++
emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(1.0, "make_ejaculate", id + TASKID_make_ejaculate, _, _, "a", MAX_COUNTER - 1)
return PLUGIN_HANDLED }
public ejaculate_help(id, iLevel) { new szArgs[24] new iArgsLen = read_args(szArgs, charsmax(szArgs)) new iPrintType = (szArgs[0] == '"' && szArgs[iArgsLen - 1] == '"') ? print_chat : print_console
if(!access(id, iLevel)) { client_print(id, iPrintType, "You have no access to that command.") return PLUGIN_HANDLED }
client_print(id, iPrintType, "To ejaculate on a dead body or anywhere you have to bind a key to ^"ejaculate^".") client_print(id, iPrintType, "Open your console and write: bind ^"key^" ^"ejaculate^"") client_print(id, iPrintType, "Example: bind ^"x^" ^"ejaculate^"")
return PLUGIN_HANDLED }
public make_ejaculate(id) { id -= TASKID_make_ejaculate
new iOrigin[3], iVelocity[3], Float:fVelocity[3] get_user_origin(id, iOrigin) velocity_by_aim(id, 3, fVelocity) FVecIVec(fVelocity, iVelocity)
message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin) write_byte(TE_BLOODSTREAM) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_coord(iVelocity[0]) write_coord(iVelocity[1]) write_coord(iVelocity[2]) write_byte(6) // color write_byte(165) // speed message_end()
if(++g_iPlayerCounter[id] == MAX_COUNTER + 1) { g_iPlayerCounter[id] = 0 } }
public reset_hud(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) }
g_iPlayerEjaculationsNum[id] = 0 }
public death_event() { new victim = read_data(2) get_user_origin(victim, g_iPlayerOrigins[victim], 0)
if(g_iPlayerCounter[victim]) { reset_ejaculate(victim) } }
reset_ejaculate(id) { g_iPlayerCounter[id] = 0 remove_task(id + TASKID_make_ejaculate) emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 0.0, ATTN_NORM, 0, PITCH_NORM) }
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(17/10/2020, 07:45 PM)Ninja uwu escribió: No es que el plugin sea muy antiguo, es que tu no supiste "editar" el plugin.
Fijate en tus errores y arreglalos y luego compila.
Qué absurda respuesta. Lee aunque sea, es un plugin programado usando librerías del amxmod, sin X se deben reescribir algunas funciones. Aquí no se obliga a ayudar, pasa de largo la próxima, los tóxicos duran poco.
Mensajes: 299
Temas: 44
Registro en: Aug 2016
Reputación:
2
18/10/2020, 03:54 AM
(Última modificación: 18/10/2020, 03:57 AM por +rdNN!. Edited 1 time in total.)
Prueba
Código PHP: /*************************************************************************************************************
Plugin: AMX Ejaculate Version: 0.2 Author: KRoT@L
0.1 Release 0.2 Improved the code Renamed cvar amx_maxejaculations into "amx_ejaculate_max" Renamed cvar amx_ejaculate_admin into "amx_ejaculate_admins" Added cvars amx_ejaculate_active and amx_ejaculate_range Removed #define NO_CS_CZ (you can now ejaculate anywhere if "amx_ejaculate_range" is lower than 30) Added #define PRINT_TYPE to be able to change the type of information message (print_console or print_chat)
Commands:
ejaculate - ejaculates on a dead body or anywhere say /ejaculate_help - displays ejaculate help
To ejaculate on a dead body or anywhere you have to bind a key to "ejaculate". Open your console and type: bind "key" "ejaculate" Example: bind "x" "ejaculate" Then stand still above a dead player, press your key and you'll ejaculate on him! You can control the direction of the semen with your mouse!
Players can write "/ejaculate_help" in the chat to get some help.
Cvars:
amx_ejaculate_active <0|1> - disable/enable the plugin (default: 1)
amx_ejaculate_admins <0|1> - disable/enable the usage of the plugin only for admins (default: 0)
amx_ejaculate_max "3" - maximum number of times a player is allowed to ejaculate per each spawning
amx_ejaculate_range "80" - maximum range between a dead body and a player who wants ejaculate (must be between 30 and 300) Note: Set to a value lower than 30 (MIN_RANGE) to be able to ejaculate anywhere you want.
Requirement:
AMX Mod 2010.1 or higher.
*************************************************************************************************************/
/******************************************************************************/ // If you change one of the following settings, do not forget to recompile // the plugin and to install the new .amx file on your server. // You can find the list of admin flags in the amx/examples/include/amxconst.inc file.
#define FLAG_EJACULATE ADMIN_ALL #define FLAG_EJACULATE_HELP ADMIN_ALL
// Mode of print for ejaculate info messages from the "ejaculate" command. // Values are either "print_console", "print_chat" or "print_center". #define PRINT_TYPE print_chat
// Edit here the minimal & maximal range value in units. // Notes: This is used to check the distance between a player who wants ejaculate on a dead body. // If the cvar "amx_ejaculate_range" is lower than MIN_RANGE, players can ejaculate anywhere. #define MIN_RANGE 30 #define MAX_RANGE 300
/******************************************************************************/
#include <amxmodx> #include <amxmisc>
new g_iPlayerCounter[33] new g_iPlayerEjaculationsNum[33] new g_iPlayerOrigins[33][3]
new g_cvarAmxEjaculateActive new g_cvarAmxEjaculateAdmins new g_cvarAmxEjaculateMax new g_cvarAmxEjaculateRange
#define MAX_COUNTER 10 #define TASKID_make_ejaculate 37931975
public plugin_precache() { new const szSoundFile[] = "sound/ejaculate/ejaculate.wav" if(file_exists(szSoundFile)) { precache_sound(szSoundFile[6]) } else { log_amx("AMX Ejaculate: WARNING! Sound file ^"%s^" doesn't exist on the server.", szSoundFile) } }
public plugin_init() { register_plugin("AMX Ejaculate","0.2","KRoT@L") register_clcmd("ejaculate", "ejaculate_on_player", FLAG_EJACULATE, "- ejaculates on a dead body or anywhere") register_clcmd("say /ejaculate_help", "ejaculate_help", FLAG_EJACULATE_HELP, "- displays ejaculate help") g_cvarAmxEjaculateActive = register_cvar("amx_ejaculate_active", "1") g_cvarAmxEjaculateAdmins = register_cvar("amx_ejaculate_admins", "0") g_cvarAmxEjaculateMax = register_cvar("amx_ejaculate_max", "3") g_cvarAmxEjaculateRange = register_cvar("amx_ejaculate_range", "80") register_event("ResetHUD", "reset_hud", "be") register_event("DeathMsg", "death_event", "a") }
public client_putinserver(id) { g_iPlayerCounter[id] = 0 g_iPlayerEjaculationsNum[id] = 0 }
public client_disconnected(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) } }
public ejaculate_on_player(id, iLevel) { if(!access(id, iLevel)) { console_print(id, "You have no access to that command.") return PLUGIN_HANDLED }
if(g_iPlayerCounter[id]) { client_print(id, PRINT_TYPE, "You are already in ejaculating.") return PLUGIN_HANDLED }
if(get_pcvar_num(g_cvarAmxEjaculateActive) <= 0) { client_print(id, PRINT_TYPE, "The plugin ^"AMX Ejaculate^" is disabled.") return PLUGIN_HANDLED }
new iEjaculateRange if(get_pcvar_num(g_cvarAmxEjaculateAdmins) > 0 && !is_user_admin(id)) { if((iEjaculateRange = get_pcvar_num(g_cvarAmxEjaculateRange)) >= MIN_RANGE) { client_print(id, PRINT_TYPE, "Only admins can ejaculate on a dead body.") } else { client_print(id, PRINT_TYPE, "Only admins can ejaculate.") } return PLUGIN_HANDLED }
if(!is_user_alive(id)) { client_print(id, PRINT_TYPE, "You can't ejaculate when you are dead.") return PLUGIN_HANDLED }
new iEjaculateMax = get_pcvar_num(g_cvarAmxEjaculateMax) if(g_iPlayerEjaculationsNum[id] >= iEjaculateMax) { client_print(id, PRINT_TYPE, "You can't ejaculate more than %d time(s) per each spawning.", iEjaculateMax) return PLUGIN_HANDLED }
iEjaculateRange = get_pcvar_num(g_cvarAmxEjaculateRange) if(iEjaculateRange >= MIN_RANGE) { new iOrigin[3], iPlayers[32], iPlayersNum, iPlayer new iCurrentDistance, iDeadBody, iMinDistance = clamp(iEjaculateRange, MIN_RANGE, MAX_RANGE)
if(iEjaculateRange > MAX_RANGE) { set_cvar_num("amx_ejaculate_range", MAX_RANGE) } get_user_origin(id, iOrigin) get_players(iPlayers, iPlayersNum, "bh")
for(--iPlayersNum; iPlayersNum >= 0; iPlayersNum--) { iPlayer = iPlayers[iPlayersNum] iCurrentDistance = get_distance(iOrigin, g_iPlayerOrigins[iPlayer]) if(iCurrentDistance < iMinDistance) { iMinDistance = iCurrentDistance iDeadBody = iPlayer } }
if(iDeadBody > 0) { new szPlayerName[32] get_user_name(iDeadBody, szPlayerName, charsmax(szPlayerName))
if((get_user_flags(iDeadBody) & ADMIN_IMMUNITY) && (get_user_flags(id) & ADMIN_IMMUNITY) == 0) { client_print(id, PRINT_TYPE, "Player ^"%s^" has immunity.", szPlayerName) return PLUGIN_HANDLED }
new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, "%s Is Ejaculating On %s's Dead Body!! MuHaHaHaHa!!", szName, szPlayerName) } else { client_print(id, PRINT_TYPE, "There is no dead body around you.") return PLUGIN_HANDLED } } else { new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, "%s Is Ejaculating!", szName) }
g_iPlayerCounter[id] = 1 g_iPlayerEjaculationsNum[id]++
emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(1.0, "make_ejaculate", id + TASKID_make_ejaculate, _, _, "a", MAX_COUNTER - 1)
return PLUGIN_HANDLED }
public ejaculate_help(id, iLevel) { new szArgs[24] new iArgsLen = read_args(szArgs, charsmax(szArgs)) new iPrintType = (szArgs[0] == '"' && szArgs[iArgsLen - 1] == '"') ? print_chat : print_console
if(!access(id, iLevel)) { client_print(id, iPrintType, "You have no access to that command.") return PLUGIN_HANDLED }
client_print(id, iPrintType, "To ejaculate on a dead body or anywhere you have to bind a key to ^"ejaculate^".") client_print(id, iPrintType, "Open your console and write: bind ^"key^" ^"ejaculate^"") client_print(id, iPrintType, "Example: bind ^"x^" ^"ejaculate^"")
return PLUGIN_HANDLED }
public make_ejaculate(id) { id -= TASKID_make_ejaculate
new iOrigin[3], iVelocity[3], Float:fVelocity[3] get_user_origin(id, iOrigin) velocity_by_aim(id, 3, fVelocity) FVecIVec(fVelocity, iVelocity)
message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin) write_byte(TE_BLOODSTREAM) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_coord(iVelocity[0]) write_coord(iVelocity[1]) write_coord(iVelocity[2]) write_byte(6) // color write_byte(165) // speed message_end()
if(++g_iPlayerCounter[id] == MAX_COUNTER + 1) { g_iPlayerCounter[id] = 0 } }
public reset_hud(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) }
g_iPlayerEjaculationsNum[id] = 0 }
public death_event() { new victim = read_data(2) get_user_origin(victim, g_iPlayerOrigins[victim], 0)
if(g_iPlayerCounter[victim]) { reset_ejaculate(victim) } }
reset_ejaculate(id) { g_iPlayerCounter[id] = 0 remove_task(id + TASKID_make_ejaculate) emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 0.0, ATTN_NORM, 0, PITCH_NORM) }
Mensajes: 196
Temas: 4
Registro en: Apr 2018
Reputación:
3
(18/10/2020, 03:54 AM)+rdNN! escribió: Prueba
Código PHP: /*************************************************************************************************************
Plugin: AMX Ejaculate Version: 0.2 Author: KRoT@L
0.1 Release 0.2 Improved the code Renamed cvar amx_maxejaculations into "amx_ejaculate_max" Renamed cvar amx_ejaculate_admin into "amx_ejaculate_admins" Added cvars amx_ejaculate_active and amx_ejaculate_range Removed #define NO_CS_CZ (you can now ejaculate anywhere if "amx_ejaculate_range" is lower than 30) Added #define PRINT_TYPE to be able to change the type of information message (print_console or print_chat)
Commands:
ejaculate - ejaculates on a dead body or anywhere say /ejaculate_help - displays ejaculate help
To ejaculate on a dead body or anywhere you have to bind a key to "ejaculate". Open your console and type: bind "key" "ejaculate" Example: bind "x" "ejaculate" Then stand still above a dead player, press your key and you'll ejaculate on him! You can control the direction of the semen with your mouse!
Players can write "/ejaculate_help" in the chat to get some help.
Cvars:
amx_ejaculate_active <0|1> - disable/enable the plugin (default: 1)
amx_ejaculate_admins <0|1> - disable/enable the usage of the plugin only for admins (default: 0)
amx_ejaculate_max "3" - maximum number of times a player is allowed to ejaculate per each spawning
amx_ejaculate_range "80" - maximum range between a dead body and a player who wants ejaculate (must be between 30 and 300) Note: Set to a value lower than 30 (MIN_RANGE) to be able to ejaculate anywhere you want.
Requirement:
AMX Mod 2010.1 or higher.
*************************************************************************************************************/
/******************************************************************************/ // If you change one of the following settings, do not forget to recompile // the plugin and to install the new .amx file on your server. // You can find the list of admin flags in the amx/examples/include/amxconst.inc file.
#define FLAG_EJACULATE ADMIN_ALL #define FLAG_EJACULATE_HELP ADMIN_ALL
// Mode of print for ejaculate info messages from the "ejaculate" command. // Values are either "print_console", "print_chat" or "print_center". #define PRINT_TYPE print_chat
// Edit here the minimal & maximal range value in units. // Notes: This is used to check the distance between a player who wants ejaculate on a dead body. // If the cvar "amx_ejaculate_range" is lower than MIN_RANGE, players can ejaculate anywhere. #define MIN_RANGE 30 #define MAX_RANGE 300
/******************************************************************************/
#include <amxmodx> #include <amxmisc>
new g_iPlayerCounter[33] new g_iPlayerEjaculationsNum[33] new g_iPlayerOrigins[33][3]
new g_cvarAmxEjaculateActive new g_cvarAmxEjaculateAdmins new g_cvarAmxEjaculateMax new g_cvarAmxEjaculateRange
#define MAX_COUNTER 10 #define TASKID_make_ejaculate 37931975
public plugin_precache() { new const szSoundFile[] = "sound/ejaculate/ejaculate.wav" if(file_exists(szSoundFile)) { precache_sound(szSoundFile[6]) } else { log_amx("AMX Ejaculate: WARNING! Sound file ^"%s^" doesn't exist on the server.", szSoundFile) } }
public plugin_init() { register_plugin("AMX Ejaculate","0.2","KRoT@L") register_clcmd("ejaculate", "ejaculate_on_player", FLAG_EJACULATE, "- ejaculates on a dead body or anywhere") register_clcmd("say /ejaculate_help", "ejaculate_help", FLAG_EJACULATE_HELP, "- displays ejaculate help") g_cvarAmxEjaculateActive = register_cvar("amx_ejaculate_active", "1") g_cvarAmxEjaculateAdmins = register_cvar("amx_ejaculate_admins", "0") g_cvarAmxEjaculateMax = register_cvar("amx_ejaculate_max", "3") g_cvarAmxEjaculateRange = register_cvar("amx_ejaculate_range", "80") register_event("ResetHUD", "reset_hud", "be") register_event("DeathMsg", "death_event", "a") }
public client_putinserver(id) { g_iPlayerCounter[id] = 0 g_iPlayerEjaculationsNum[id] = 0 }
public client_disconnected(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) } }
public ejaculate_on_player(id, iLevel) { if(!access(id, iLevel)) { console_print(id, "You have no access to that command.") return PLUGIN_HANDLED }
if(g_iPlayerCounter[id]) { client_print(id, PRINT_TYPE, "You are already in ejaculating.") return PLUGIN_HANDLED }
if(get_pcvar_num(g_cvarAmxEjaculateActive) <= 0) { client_print(id, PRINT_TYPE, "The plugin ^"AMX Ejaculate^" is disabled.") return PLUGIN_HANDLED }
new iEjaculateRange if(get_pcvar_num(g_cvarAmxEjaculateAdmins) > 0 && !is_user_admin(id)) { if((iEjaculateRange = get_pcvar_num(g_cvarAmxEjaculateRange)) >= MIN_RANGE) { client_print(id, PRINT_TYPE, "Only admins can ejaculate on a dead body.") } else { client_print(id, PRINT_TYPE, "Only admins can ejaculate.") } return PLUGIN_HANDLED }
if(!is_user_alive(id)) { client_print(id, PRINT_TYPE, "You can't ejaculate when you are dead.") return PLUGIN_HANDLED }
new iEjaculateMax = get_pcvar_num(g_cvarAmxEjaculateMax) if(g_iPlayerEjaculationsNum[id] >= iEjaculateMax) { client_print(id, PRINT_TYPE, "You can't ejaculate more than %d time(s) per each spawning.", iEjaculateMax) return PLUGIN_HANDLED }
iEjaculateRange = get_pcvar_num(g_cvarAmxEjaculateRange) if(iEjaculateRange >= MIN_RANGE) { new iOrigin[3], iPlayers[32], iPlayersNum, iPlayer new iCurrentDistance, iDeadBody, iMinDistance = clamp(iEjaculateRange, MIN_RANGE, MAX_RANGE)
if(iEjaculateRange > MAX_RANGE) { set_cvar_num("amx_ejaculate_range", MAX_RANGE) } get_user_origin(id, iOrigin) get_players(iPlayers, iPlayersNum, "bh")
for(--iPlayersNum; iPlayersNum >= 0; iPlayersNum--) { iPlayer = iPlayers[iPlayersNum] iCurrentDistance = get_distance(iOrigin, g_iPlayerOrigins[iPlayer]) if(iCurrentDistance < iMinDistance) { iMinDistance = iCurrentDistance iDeadBody = iPlayer } }
if(iDeadBody > 0) { new szPlayerName[32] get_user_name(iDeadBody, szPlayerName, charsmax(szPlayerName))
if((get_user_flags(iDeadBody) & ADMIN_IMMUNITY) && (get_user_flags(id) & ADMIN_IMMUNITY) == 0) { client_print(id, PRINT_TYPE, "Player ^"%s^" has immunity.", szPlayerName) return PLUGIN_HANDLED }
new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, "%s Is Ejaculating On %s's Dead Body!! MuHaHaHaHa!!", szName, szPlayerName) } else { client_print(id, PRINT_TYPE, "There is no dead body around you.") return PLUGIN_HANDLED } } else { new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, "%s Is Ejaculating!", szName) }
g_iPlayerCounter[id] = 1 g_iPlayerEjaculationsNum[id]++
emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(1.0, "make_ejaculate", id + TASKID_make_ejaculate, _, _, "a", MAX_COUNTER - 1)
return PLUGIN_HANDLED }
public ejaculate_help(id, iLevel) { new szArgs[24] new iArgsLen = read_args(szArgs, charsmax(szArgs)) new iPrintType = (szArgs[0] == '"' && szArgs[iArgsLen - 1] == '"') ? print_chat : print_console
if(!access(id, iLevel)) { client_print(id, iPrintType, "You have no access to that command.") return PLUGIN_HANDLED }
client_print(id, iPrintType, "To ejaculate on a dead body or anywhere you have to bind a key to ^"ejaculate^".") client_print(id, iPrintType, "Open your console and write: bind ^"key^" ^"ejaculate^"") client_print(id, iPrintType, "Example: bind ^"x^" ^"ejaculate^"")
return PLUGIN_HANDLED }
public make_ejaculate(id) { id -= TASKID_make_ejaculate
new iOrigin[3], iVelocity[3], Float:fVelocity[3] get_user_origin(id, iOrigin) velocity_by_aim(id, 3, fVelocity) FVecIVec(fVelocity, iVelocity)
message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin) write_byte(TE_BLOODSTREAM) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_coord(iVelocity[0]) write_coord(iVelocity[1]) write_coord(iVelocity[2]) write_byte(6) // color write_byte(165) // speed message_end()
if(++g_iPlayerCounter[id] == MAX_COUNTER + 1) { g_iPlayerCounter[id] = 0 } }
public reset_hud(id) { if(g_iPlayerCounter[id]) { reset_ejaculate(id) }
g_iPlayerEjaculationsNum[id] = 0 }
public death_event() { new victim = read_data(2) get_user_origin(victim, g_iPlayerOrigins[victim], 0)
if(g_iPlayerCounter[victim]) { reset_ejaculate(victim) } }
reset_ejaculate(id) { g_iPlayerCounter[id] = 0 remove_task(id + TASKID_make_ejaculate) emit_sound(id, CHAN_VOICE, "ejaculate/ejaculate.wav", 0.0, ATTN_NORM, 0, PITCH_NORM) }
Hice bien el que le puso yo?
Mensajes: 272
Temas: 125
Registro en: Apr 2017
Reputación:
0
18/10/2020, 01:17 PM
(Última modificación: 18/10/2020, 01:19 PM por Jota.)
ya amigo lo probare
gracias chicos por la ayuda
chicos creen que tenga que hacer otro post para este plugins ? es de mismo persona pero es otro
quitarle esto para que funcione
#include <translator>
Código PHP: /*************************************************************************************************************
Plugin: AMX Puke Version: 0.3 Author: KRoT@L
0.1 Release 0.2 Added another sound 0.3 Improved the code Renamed cvar amx_maxpukes into "amx_puke_max" Renamed cvar amx_puke_admin into "amx_puke_admins" Added cvars amx_puke_active and amx_puke_range Removed #define NO_CS_CZ (you can now puke anywhere if "amx_puke_range" is lower than 30) Added #define PRINT_TYPE to be able to change the type of information message (print_console or print_chat)
Commands:
puke - pukes on a dead body or anywhere say /puke_help - displays puke help
To puke on a dead body or anywhere you have to bind a key to "puke". Open your console and type: bind "key" "puke" Example: bind "x" "puke" Then stand still above a dead player, press your key and you'll puke on him! You can control the direction of the stream with your mouse!
Players can write "/puke_help" in the chat to get some help.
Cvars:
amx_puke_active <0|1> - disable/enable the plugin (default: 1)
amx_puke_admins <0|1> - disable/enable the usage of the plugin only for admins (default: 0)
amx_puke_max "3" - maximum number of times a player is allowed to puke per each spawning
amx_puke_range "80" - maximum range between a dead body and a player who wants puke (must be between 30 and 300) Note: Set to a value lower than 30 (MIN_RANGE) to be able to puke anywhere you want.
Requirement:
AMX Mod 2010.1 or higher.
************************************************************************************************************/
/******************************************************************************/ // If you change one of the following settings, do not forget to recompile // the plugin and to install the new .amx file on your server. // You can find the list of admin flags in the amx/examples/include/amxconst.inc file.
#define FLAG_PUKE ADMIN_ALL #define FLAG_PUKE_HELP ADMIN_ALL
// Mode of print for puke info messages from the "puke" command. // Values are either "print_console", "print_chat" or "print_center". #define PRINT_TYPE print_chat
// Edit here the minimal & maximal range value in units. // Notes: This is used to check the distance between a player who wants puke on a dead body. // If the cvar "amx_puke_range" is lower than MIN_RANGE, players can puke anywhere. #define MIN_RANGE 30 #define MAX_RANGE 300
// Puke sounds files. new const g_szSoundFiles[][] = {"sound/puke/puke.wav", "sound/puke/puke2.wav"}
/******************************************************************************/
#include <translator> #include <amxmod> #include <amxmisc>
new g_iPlayerCounter[33] new g_iPlayerPukeNum[33] new g_iPlayerOrigins[33][3]
new g_cvarAmxPukeActive new g_cvarAmxPukeAdmins new g_cvarAmxPukeMax new g_cvarAmxPukeRange
#define MAX_COUNTER 10 #define TASKID_make_puke 37931976
public plugin_precache() { load_translations("amx_puke")
for(new i = 0; i < sizeof(g_szSoundFiles); i++) { if(file_exists(g_szSoundFiles[i])) { precache_sound(g_szSoundFiles[i][6]) } else { log_amx(_T("AMX Puke: WARNING! Sound file ^"%s^" doesn't exist on the server."), g_szSoundFiles[i]) } } }
public plugin_init() { register_plugin(_T("AMX Puke"),"0.3","KRoT@L") register_clcmd("puke", "puke_on_player", FLAG_PUKE, _T("- pukes on a dead body or anywhere")) register_clcmd("say /puke_help", "puke_help", FLAG_PUKE_HELP, _T("- displays puke help")) g_cvarAmxPukeActive = register_cvar("amx_puke_active", "1") g_cvarAmxPukeAdmins = register_cvar("amx_puke_admins", "0") g_cvarAmxPukeMax = register_cvar("amx_puke_max", "3") g_cvarAmxPukeRange = register_cvar("amx_puke_range", "80") register_event("ResetHUD", "reset_hud", "be") register_event("DeathMsg", "death_event", "a") }
public client_putinserver(id) { g_iPlayerCounter[id] = 0 g_iPlayerPukeNum[id] = 0 }
public client_disconnect(id) { if(g_iPlayerCounter[id]) { reset_puke(id) } }
public puke_on_player(id, iLevel) { if(!access(id, iLevel)) { console_print(id, _T("You have no access to that command.")) return PLUGIN_HANDLED }
if(g_iPlayerCounter[id]) { client_print(id, PRINT_TYPE, _T("You are already in puking.")) return PLUGIN_HANDLED }
if(get_cvarptr_num(g_cvarAmxPukeActive) <= 0) { client_print(id, PRINT_TYPE, _T("The plugin ^"AMX Puke^" is disabled.")) return PLUGIN_HANDLED }
new iPukeRange if(get_cvarptr_num(g_cvarAmxPukeAdmins) > 0 && !is_user_realadmin(id)) { if((iPukeRange = get_cvarptr_num(g_cvarAmxPukeRange)) >= MIN_RANGE) { client_print(id, PRINT_TYPE, _T("Only admins can puke on a dead body.")) } else { client_print(id, PRINT_TYPE, _T("Only admins can puke.")) } return PLUGIN_HANDLED }
if(!is_user_alive(id)) { client_print(id, PRINT_TYPE, _T("You can't puke when you are dead.")) return PLUGIN_HANDLED }
new iPukeMax = get_cvarptr_num(g_cvarAmxPukeMax) if(g_iPlayerPukeNum[id] >= iPukeMax) { client_print(id, PRINT_TYPE, _T("You can't puke more than %d time(s) per each spawning."), iPukeMax) return PLUGIN_HANDLED }
iPukeRange = get_cvarptr_num(g_cvarAmxPukeRange) if(iPukeRange >= MIN_RANGE) { new iOrigin[3], iPlayers[32], iPlayersNum, iPlayer new iCurrentDistance, iDeadBody, iMinDistance = clamp(iPukeRange, MIN_RANGE, MAX_RANGE)
if(iPukeRange > MAX_RANGE) { set_cvar_num("amx_puke_range", MAX_RANGE) }
get_user_origin(id, iOrigin) get_players(iPlayers, iPlayersNum, "bh")
for(--iPlayersNum; iPlayersNum >= 0; iPlayersNum--) { iPlayer = iPlayers[iPlayersNum] iCurrentDistance = get_distance(iOrigin, g_iPlayerOrigins[iPlayer]) if(iCurrentDistance < iMinDistance) { iMinDistance = iCurrentDistance iDeadBody = iPlayer } }
if(iDeadBody > 0) { new szPlayerName[32] get_user_name(iDeadBody, szPlayerName, charsmax(szPlayerName))
if((get_user_flags(iDeadBody) & ADMIN_IMMUNITY) && (get_user_flags(id) & ADMIN_SUPREME) == 0) { client_print(id, PRINT_TYPE, _T("Player ^"%s^" has immunity."), szPlayerName) return PLUGIN_HANDLED }
new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, _T("%s Is Puking On %s's Dead Body!! MuHaHaHaHa!!"), szName, szPlayerName) } else { client_print(id, PRINT_TYPE, _T("There is no dead body around you.")) return PLUGIN_HANDLED } } else { new szName[32] get_user_name(id, szName, charsmax(szName)) client_print(0, print_chat, _T("%s Is Puking!"), szName) }
g_iPlayerCounter[id] = 1 g_iPlayerPukeNum[id]++
emit_sound(id, CHAN_VOICE, g_szSoundFiles[random(sizeof(g_szSoundFiles))][6], 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.3, "make_puke", id + TASKID_make_puke, _, _, "a", MAX_COUNTER - 1)
return PLUGIN_HANDLED }
public puke_help(id, iLevel) { new szArgs[18] new iArgsLen = read_args(szArgs, charsmax(szArgs)) new iPrintType = (szArgs[0] == '"' && szArgs[iArgsLen - 1] == '"') ? print_chat : print_console
if(!access(id, iLevel)) { client_print(id, iPrintType, _T("You have no access to that command.")) return PLUGIN_HANDLED }
client_print(id, iPrintType, _T("To puke on a dead body or anywhere you have to bind a key to ^"puke^".")) client_print(id, iPrintType, _T("Open your console and write: bind ^"key^" ^"puke^"")) client_print(id, iPrintType, _T("Example: bind ^"x^" ^"puke^""))
return PLUGIN_HANDLED }
public make_puke(id) { id -= TASKID_make_puke
new iOrigin[3], iVelocity[3], Float:fVelocity[3] get_user_origin(id, iOrigin, 1) iOrigin[2] -= 4 VelocityByAim(id, 3, fVelocity) FVecIVec(fVelocity, iVelocity)
message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin) write_byte(TE_BLOODSTREAM) write_coord(iOrigin[0]) write_coord(iOrigin[1]) write_coord(iOrigin[2]) write_coord(iVelocity[0]) write_coord(iVelocity[1]) write_coord(iVelocity[2]) write_byte(82) // color write_byte(165) // speed message_end()
if(++g_iPlayerCounter[id] == MAX_COUNTER + 1) { g_iPlayerCounter[id] = 0 } }
public reset_hud(id) { if(g_iPlayerCounter[id]) { reset_puke(id) }
g_iPlayerPukeNum[id] = 0 }
public death_event() { new victim = read_data(2) get_user_origin(victim, g_iPlayerOrigins[victim], 0)
if(g_iPlayerCounter[victim]) { reset_puke(victim) } }
reset_puke(id) { g_iPlayerCounter[id] = 0 remove_task(id + TASKID_make_puke) emit_sound(id, CHAN_VOICE, g_szSoundFiles[0][6], 0.0, ATTN_NORM, 0, PITCH_NORM) }
|