doble post pero otro plugins misma relacion
#1
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


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 136
Error: Undefined symbol "get_cvarptr_num" on line 142
Error: Undefined symbol "get_cvarptr_num" on line 143
Error: Undefined symbol "get_cvarptr_num" on line 157
Error: Undefined symbol "get_cvarptr_num" on line 163
Warning: Symbol is assigned a value that is never used: "g_cvarAmxPukeActive" on line 282
Warning: Symbol is assigned a value that is never used: "g_cvarAmxPukeAdmins" on line 282
Warning: Symbol is assigned a value that is never used: "g_cvarAmxPukeMax" on line 282
Warning: Symbol is assigned a value that is never used: "g_cvarAmxPukeRange" on line 282

5 Errors.
Could not locate output file C:\Users\yoo\Desktop\amx_puke.amx (compile failed).


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 
0sizeof(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(idiLevel) {
  if(!
access(idiLevel)) {
    
console_print(id_T("You have no access to that command."))
    return 
PLUGIN_HANDLED
  
}

  if(
g_iPlayerCounter[id]) {
    
client_print(idPRINT_TYPE_T("You are already in puking."))
    return 
PLUGIN_HANDLED
  
}

  if(
get_cvarptr_num(g_cvarAmxPukeActive) <= 0) {
    
client_print(idPRINT_TYPE_T("The plugin ^"AMX Puke^" is disabled."))
    return 
PLUGIN_HANDLED
  
}

  new 
iPukeRange
  
if(get_cvarptr_num(g_cvarAmxPukeAdmins) > && !is_user_realadmin(id)) {
    if((
iPukeRange get_cvarptr_num(g_cvarAmxPukeRange)) >= MIN_RANGE) {
      
client_print(idPRINT_TYPE_T("Only admins can puke on a dead body."))
    }
    else {
      
client_print(idPRINT_TYPE_T("Only admins can puke."))
    }
    return 
PLUGIN_HANDLED
  
}

  if(!
is_user_alive(id)) {
    
client_print(idPRINT_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(idPRINT_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], iPlayersNumiPlayer
    
new iCurrentDistanceiDeadBodyiMinDistance clamp(iPukeRangeMIN_RANGEMAX_RANGE)

    if(
iPukeRange MAX_RANGE) {
      
set_cvar_num("amx_puke_range"MAX_RANGE)
    }

    
get_user_origin(idiOrigin)
    
get_players(iPlayersiPlayersNum"bh")

    for(--
iPlayersNumiPlayersNum >= 0iPlayersNum--) {
      
iPlayer iPlayers[iPlayersNum]
      
iCurrentDistance get_distance(iOriging_iPlayerOrigins[iPlayer])
      if 
Responder
#2
Toma yo descargue un AMX PUKE de ahí y anda en amx 1.9 y 1.8.2

AMX PUKE
Responder
#3
quien puede ponerle un acceso ? solo los que tienen acceso pueden usarlo


Código PHP:
#include <amxmodx>
#include <hamsandwich>

#define TASK_PUKE 2412
#define MAX_PUKE 3
#define PREFIJO "[MFCS]"

new count_puke[33]
new 
bool:PukeFlag[33], bool:aim[33], counter[33], limite_vomitar[33];
new 
maxplayers;
new const 
SOUND_PUKE[][] = { "v55/vlj.wav""v55/u7.wav" }

public 
plugin_precache() {
    for(new 
0sizeof SOUND_PUKEi++) {
        
precache_sound(SOUND_PUKE[i])
    }
}
public 
plugin_init() {
    
register_plugin("AMX vomito","0.2","KRoTaL")

    new const 
CMD[][]= { "puke""puke" }

    for(new 
0sizeof CMDi++) { 
        
register_clcmd(CMD[i], "pukecmd"); 
    }
    
register_clcmd("say /vomitar","puke_help")
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1);
    
register_event("DeathMsg","death_event","a")
    
register_event("ResetHUD""reset_hud""be")

    
maxplayers get_maxplayers();
}
public 
client_connect(id) {
    
PukeFlag[id] = false
    count_puke
[id] = 1
}
public 
client_disconnected(id) {
    
reset_hud(id)
}
public 
event_round_start() {
    for(new 
1<= maxplayersi++) {
        
limite_vomitar[i] = 0;
    }
}
public 
fwHamPlayerSpawnPost(id) {
    if(!
is_user_alive(id)) return;

    
PukeFlag[id] = true
}  
public 
death_event() {
    new 
victim read_data(2)

    if(
PukeFlag[victim]) {
        
reset_puke(victim)
    }
}
public 
reset_hud(id) {
    if(
task_exists(id)) {
        
remove_task(id)
    }
    
emit_sound(idCHAN_VOICESOUND_PUKE[0], 0.0ATTN_NORM0PITCH_NORM)
    
PukeFlag[id] = false

    count_puke
[id] = 1
}
public 
reset_puke(id) {
    if(
task_exists(id)) {
        
remove_task(id)
    }
    
emit_sound(idCHAN_VOICESOUND_PUKE[0], 0.0ATTN_NORM0PITCH_NORM)
    
PukeFlag[id] = false
}
public 
puke_help(id) {
    
#if AMXX_VERSION_NUM > 182
    
client_print_color(id0"^4%s^1 Para vomitar escribe en consola ^3bind ^"tecla^" vomitar^1."PREFIJO)
    
#else
    
Color(id"!yPara vomitar escribe en consola !tbind ^"tecla^" vomitar!y.")
    
#endif

    
return PLUGIN_HANDLED
}
public 
pukecmd(const id) {
    if(
limite_vomitar[id] > 2) {
        
#if AMXX_VERSION_NUM > 182
        
client_print_color(id0"^4%s^1 Puedes vomitar solo ^4%d^1 veces por ronda."PREFIJO)
        
#else
        
Color(id"!yPuedes vomitar solo !g%d!y veces por ronda."MAX_PUKE)
        
#endif
        
return;
    }
    if(!
is_user_alive(id)) {
        
#if AMXX_VERSION_NUM > 182
        
client_print_color(id0"^4%s^1 Debes estar vivo para poder vomitar."PREFIJO)
        
#else
        
Color(id"!yDebes estar vivo para poder vomitar.")
        
#endif
        
return;
    }
    
count_puke[id] += 1
    PukeFlag
[id] = true
    aim
[id] = false
    counter
[id] = 0
    
new player_name[33]; get_user_name(idplayer_namecharsmax(player_name));
    
#if AMXX_VERSION_NUM > 182
    
client_print_color(0print_team_default"^4%s ^3%s^1 esta vomitando."player_namePREFIJO)
    
#else
    
Color(0"!t%s!y esta vomitando."player_name)
    
#endif
    
emit_sound(idCHAN_VOICESOUND_PUKE[random_num(0sizeof SOUND_PUKE -1)], 1.0ATTN_NORM0PITCH_NORM)

    
set_task(0.3"make_puke"id)
    
limite_vomitar[id]++
}
public 
sqrt(num) {
    new 
div num
    
new result 1
    
while (div result) {
        
div = (div result) / 2
        result 
num div
    
}
    return 
div
}
public 
make_puke(id) {
    new 
vec[3]
    new 
aimvec[3]
    new 
velocityvec[3]
    new 
length
    get_user_origin
(idvec1)
    
get_user_origin(idaimvec3)
    new 
distance get_distance(vec,aimvec)
    new 
speed floatround(distance*1.9)

    
velocityvec[0]=aimvec[0]-vec[0]
    
velocityvec[1]=aimvec[1]-vec[1]
    
velocityvec[2]=aimvec[2]-vec[2]

    
length=sqrt(velocityvec[0]*velocityvec[0]+velocityvec[1]*velocityvec[1]+velocityvec[2]*velocityvec[2])

    
velocityvec[0]=velocityvec[0]*speed/length
    velocityvec
[1]=velocityvec[1]*speed/length
    velocityvec
[2]=velocityvec[2]*speed/length

    message_begin
(MSG_BROADCAST,SVC_TEMPENTITY)
    
write_byte(101)
    
write_coord(vec[0])
    
write_coord(vec[1])
    
write_coord(vec[2]-2)
    
write_coord(velocityvec[0])
    
write_coord(velocityvec[1])
    
write_coord(velocityvec[2])
    
write_byte(82// color
    
write_byte(160// speed
    
message_end()

    
counter[id]++
    if(
counter[id]==9)
    
PukeFlag[id]=false

}
stock Color(const id, const Text[], any:...) { 
    new 
count 1players[32];
    static 
msg[191], leni;

    
len formatex(msgcharsmax(msg), "!g%s "PREFIJO)
    
vformat(msg[len], 190 lenText3);

    
replace_all(msg190"!g""^4");
    
replace_all(msg190"!y""^1");
    
replace_all(msg190"!t""^3");

    if(
id
    
players[0] = id;
    else 
    
get_players(playerscount"ch");

    for( 
0count; ++i) {
        if(
is_user_connected(players[i])) 
        
writeMessage(players[i], msg);    
    }
}
stock writeMessageplayermessage[ ] ) {
    
message_begin(MSG_ONEget_user_msgid("SayText"), { 00}, player);
    
write_byte(player);
    
write_string(message);
    
message_end();

Responder
#4
en
Código PHP:
public pukecmd(const id
agrega
Código PHP:
if(!(get_user_flags(id) & ADMIN_LEVEL_H)) {
    
#if AMXX_VERSION_NUM > 182
        
client_print_color(id0"^4%s^1 Solo los administradores pueden usar esta funcion."PREFIJO)
        
#else
        
Color(id"!ySolo los administradores pueden usar esta funcion.")
        
#endif
        
return;


PD: a simple vista en el client_print_color de Puedes vomitar solo.. te falto un parametro calculo que es el de MAX_PUKE
[Imagen: giphy.webp]

Panda Nuestro
Sistema de Cuentas MySQL/SQLite
Discord: FluffyDeveloper#4753

meTaLiCroSS escribió: Pero sin picarse po, todavía te molesta que te haya mandado a la mierda porque querias plugins de mi server? Mírate, seguí programando weas mulas después de años, tení que ser harto penca para esta wea, das pura pena Corazón

(22/01/2021, 02:55 PM)Skylar escribió: dios como me enferma que digas plugins cuando hablas de un solo plugin pendejo re pelotudo
Responder
#5
donde lo agrego ?
Responder
#6
El tipo actualizo el plugin, ocupa la nueva que dejo.

(22/10/2020, 07:29 PM)Jota escribió: donde lo agrego ?


Eso lo agregas dentro de pukecmd

debajo de

Código PHP:
if(!is_user_alive(id)) {
        
#if AMXX_VERSION_NUM > 182
        
client_print_color(id0"^4%s^1 Debes estar vivo para poder vomitar."PREFIJO)
        
#else
        
Color(id"!yDebes estar vivo para poder vomitar.")
        
#endif
        
return;
    } 
Responder
#7
simple vista en el client_print_color de Puedes vomitar solo.. te falto un parametro calculo que es el de MAX_PUKE
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)