Raised This Month: $ Target: $400
 0% 

[Duda] Destrabar


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
lRodri.
Member
Join Date: Apr 2012
Location: Argentina
Old 01-04-2013 , 18:24   Re: [Duda] Destrabar
#6

Ahi lo probe y funca. Lo borre y reinicie amx, y ahora no me compila el plugin

PD: sesorone probe lo que me dejaste, pero me tira los mismos errores.

Logs:

Code:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Undefined symbol "Shop" on line 410
Error: Only a single statement (or expression) can follow each "case" on line 417
Error: Invalid subscript (not an array or too many subscripts): "id" on line 417
Error: Expected token: "}", but found "new" on line 417
Error: Too many error messages on one line on line 417

Compilation aborted.
5 Errors.
Could not locate output file C:\Users\Rodrigo\Desktop\Scripts\Niveles.amx (compile failed).
code:

PHP Code:
#include <amxmodx> 
#include <hamsandwich> 
#include <engine>
#include <cstrike> 
#include <fun>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Base Builder Revolution" 
#define VERSION "1.0" 
#define AUTHOR "RodriiK - r0ma' (Niveles por Frags) - [R]ak (Crear una entidad)" 

#define TAG "[Base Builder Revolution]" 
//Tag en el mensaje de que subio de nivel 
//Macro para obtener cuanto le falta para el siguiente nivel 

//Si no resetean los frags usaria 1 macro asi mas o menos 
//#define next_level(%1) ((%1 + 1) * (power(%1, 2) / 2)) /2 


//Si resetan frags usaria algo asi 
#define next_level(%1) %1 * 15

new g_speed[33]
new 
g_armor[33]
new 
g_gravity[33]
new 
g_vida[33]
new 
g_puntos[33]
new 
g_level[33// Contiene los level de los players 
new g_frags[33// Los frags de los players 

new g_conectado[33// Variable para saber si el user esta conectado 

new g_maxplayersg_msgSayText//en g_maxplayers voy a obtener el maximo de players del sv para usarla en los loops, y en msgsay text para el stock de hns_print_color 



public plugin_init() { 
    
register_plugin(PLUGINVERSIONAUTHOR)//Registramos el plugin
     
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")//Evento de hamsandwich que se llama cuando matan a alguien. 
    
register_clcmd("say /clases""Menu")
    
register_clcmd("say /menu""Menu2")
    
register_clcmd("say /shop""Shop")
    
register_clcmd("say /mejoras""Mejoras")
     
    new 
ent create_entity("info_target")//Creo 1 entidad 
    
entity_set_string(entEV_SZ_classname"entity_task")//Le seteo 1 classname 
    
entity_set_float(entEV_FL_nextthink1.0)//La ago pensar cada 1.0 segundos 
     
    
register_think("entity_task""fw_ShowHUD")//El think de la entidad que va mostrar el hud 
     
    
g_maxplayers get_maxplayers() 
    
g_msgSayText get_user_msgid("SayText"
    
    
RegisterHamHam_Spawn"player""fw_playerspawn"1)
    


public 
client_putinserver(id

    
g_level[id] = 1//Reseteamos los level frags y le seteo conectado 
    
g_frags[id] = 
    g_conectado
[id] = 


public 
client_disconnect(id

    
g_conectado[id] = 0//No esta mas conectado 


public 
fw_PlayerKilled(victimattacker

    if(!
g_conectado[victim] || !g_conectado[attacker] || victim == attacker || get_user_team(victim) == get_user_team(attacker))//Si no esta conectado la victima o el atacante o la victima es el atacante o son del mismo team no continua 
        
return 
     
    if(
is_user_admin(attacker))
    {
        
g_frags[attacker] += 2
    check_level
(attacker
    
g_puntos[attacker] += 2
    
}
    else
    {
        
        
g_frags[attacker]++//Aumentamos frags y chekeamos si tiene suficientes para subir de nivel 
        
check_level(attacker
        
g_puntos[attacker]++
    
     }
     
        


public 
fw_ShowHUD(ent)//Esto muestra el hud 

    static 
id 
     
    set_hudmessage
(852552120.800.1200.9)//Configuramos por asi decirlo el hud, el color, posicion, efecto, y tiempo 
    
for( id 1id <= g_maxplayersid++) 
    { 
        if(!
g_conectado[id])//Si no esta conectado no continua 
            
continue 
         
        
show_hudmessage(id"[Level: %d]   [Frags: %d/%d]   [Puntos: %d]"g_level[id], g_frags[id], next_level(g_level[id]), g_puntos[id])//Mostramos hud con nivel, frags y los necesarios para pasar al siguiente nivel.
    

     
    
entity_set_float(entEV_FL_nextthink1.0


public 
check_level(id

    while(
g_frags[id] >= next_level(g_level[id]))//Si los frags son mayores o igual a los necesarios para pasar de nivel. 
    
{    
        
g_level[id]++//Aumentamos el nivel 
        
g_frags[id] = 0//Yo reseteo lo frags esto es a su gusto. 
        
hns_print_color(id"^x04%s^x01 Felicitaciones subiste al nivel:^x04 %d^x01."TAGg_level[id])//Mensaje que subio de nivel  
        
if(cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_health(idget_user_health(id) + g_vida[id] + 25)
    }
    } 


stock hns_print_color(id, const mensaje[], any:...)//Stock para mensajes de color aviso que no tiene soporte para index 0. si quieren se lo adapto. 

    static 
buffer[192
    
vformat(buffercharsmax(buffer), mensaje3
     
    
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_id
    
write_byte(id
    
write_string(buffer
    
message_end() 
}  

public 
fw_playerspawn(id)   
{   
      
Menu(id)
      
set_user_health(idget_user_health(id) + g_vida[id])
      
set_user_gravity(idget_user_gravity(id) + g_gravity[id])
      
set_user_maxspeed(idget_user_maxspeed(id) + g_speed[id])
      
set_user_armor(idget_user_armor(id) + g_armor[id])
}   

public 
Menu(id)   
{
    if(
cs_get_user_team(id) == CS_TEAM_CT)
    {
        
             
// Hay diferentes COLORES para escribir:    || "\w = Blanco" || "\r = Rojo" || "\y = Amarillo" || "\d = Gris" || 
                  
new Menu menu_create("\y[Base Builder Revolution] \wElije tu Clase""mostrar_menu"// Escribimos el Nombre de Nuestro Menu.   
                  
menu_additem(Menu"\wSobreviviente   \dNavy + USP"            "1"0// Agregamos una Nueva Opcion con el Nombre "Monstruo".        [Slot 1]   
                  
menu_additem(Menu"\wPolicia   \r[\yNivel 5\r]  \dP90 + USP"    "2"0// Agregamos una Nueva Opcion con el Nombre "Franco Tirador"    [Slot 2]   
                  
menu_additem(Menu"\wRecluta   \r[\yNivel 10\r]  \dXM1014 + USP"            "3"0)
                  
menu_additem(Menu"\wComandante   \r[\yNivel 15\r]  \dFamas + USP"            "4"0)
                  
menu_additem(Menu"\wGeneral   \r[\yNivel 20\r]  \dGalil + USP"            "5"0)
                  
menu_additem(Menu"\wBrigada A   \r[\yNivel 25\r]  \dSG552 + USP"            "6"0)
                  
menu_additem(Menu"\wSpecial Force   \r[\yNivel 30\r]  \dSG550 + USP"            "7"0)
                  
menu_additem(Menu"\wHunter   \r[\yNivel 35\r]   \dColt + USP"            "8"0)
                  
menu_additem(Menu"\wKaizer   \r[\yNivel 40\r]  \dAK47 + USP"            "9"0)
                  
menu_additem(Menu"\wStalker A   \r[\yNivel 45\r]  \dColt + Deagle"            "10"0)
                  
menu_additem(Menu"\wStalker B   \r[\yNivel 45\r]  \dAK47 + Deagle"            "11"0)
                  
menu_additem(Menu"\wSwagger   \r[\yNivel 50\r] \d(\yOnly Adm\d)  \dMachine + Deagle"            "12"0)// Agregamos una Nueva Opcion con el Nombre "Soldado"            [Slot 3]   
       
                  
menu_setprop(Menu,MPROP_EXITNAME,"Salir"// Agregamos la Opcion Salir. [Slot 0]   
                  
menu_setprop(MenuMPROP_EXITMEXIT_ALL)   
       
                  
menu_display(idMenu0)   
    }
}  

public 
mostrar_menu(idMenuitem

    if (
item == MENU_EXIT)  
        return 
PLUGIN_HANDLED  
     
     
    
new iData[6];   
    new 
iAccess;  
    new 
iCallback;  
    new 
iName[64];  
    
menu_item_getinfo(Menu item iAccess iData iName 63 iCallback 
     
    switch (
str_to_num(iData))  
    {  
        case 
1:
        {
                   
strip_user_weapons(id)
                   
give_item(id"weapon_usp")
                   
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                   
give_item(id"weapon_mp5navy")
                   
cs_set_user_bpammo(idCSW_MP5NAVY120)
           
give_item(id"weapon_knife")
        } 
        case 
2:
        {
        if( 
g_levelid ] >= )
                  { 
              
                           
strip_user_weapons(id)
                           
give_item(id"weapon_usp")
                           
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                           
give_item(id"weapon_p90")
                           
cs_set_user_bpammo(idCSW_P90100)
               
give_item(id"weapon_knife")
        }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 5 para usar esta clase^x04 ^x01."TAG)
        }    
        } 
    case 
3:
        {
        if( 
g_levelid ] >= 10 )
                  { 
              
                           
strip_user_weapons(id)
                           
give_item(id"weapon_usp")
                           
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                           
give_item(id"weapon_xm1014")
                           
cs_set_user_bpammo(idCSW_XM101432)
               
give_item(id"weapon_knife")
        }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 10 para usar esta clase^x04 ^x01."TAG)
        }    
        }
        case 
4:  
        {  
            if( 
g_levelid ] >= 15 )
                  { 
              
                           
strip_user_weapons(id)
                           
give_item(id"weapon_usp")
                           
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                           
give_item(id"weapon_famas")
                           
cs_set_user_bpammo(idCSW_FAMAS90)
               
give_item(id"weapon_knife")
        }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 15 para usar esta clase^x04 ^x01."TAG)
        }
        } 
        case 
5:  
        {
        if( 
g_levelid ] >= 20 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_usp")
                            
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                            
give_item(id"weapon_galil")
                            
cs_set_user_bpammo(idCSW_GALIL90)
                
give_item(id"weapon_knife")
             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 20 para usar esta clase^x04 ^x01."TAG)
        }
        }
        case 
6:  
        {
        if( 
g_levelid ] >= 25 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_usp")
                            
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                            
give_item(id"weapon_sg552")
                            
cs_set_user_bpammo(idCSW_SG55290)
                
give_item(id"weapon_knife")
             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 25 para usar esta clase^x04 ^x01."TAG)
        }
        }
        case 
7:  
        {
        if( 
g_levelid ] >= 30 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_usp")
                            
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                            
give_item(id"weapon_sg550")
                            
cs_set_user_bpammo(idCSW_SG55090)
                
give_item(id"weapon_knife")
             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 30 para usar esta clase^x04 ^x01."TAG)
        }
        } 
    case 
8:  
        {
        if( 
g_levelid ] >= 35 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_usp")
                            
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                            
give_item(id"weapon_m4a1")
                            
cs_set_user_bpammo(idCSW_M4A190)
                
give_item(id"weapon_knife")
             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 35 para usar esta clase^x04 ^x01."TAG)
        }
        }
    case 
9:  
        {
        if( 
g_levelid ] >= 40 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_usp")
                            
cs_set_user_bpammo(idCSW_USP100// 35 o lo que tu prefieras.
                            
give_item(id"weapon_ak47")
                            
cs_set_user_bpammo(idCSW_AK4790)
                
give_item(id"weapon_knife")
             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 40 para usar esta clase^x04 ^x01."TAG)
        }
        }
    case 
10:  
        {
        if( 
g_levelid ] >= 45 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_deagle")
                            
cs_set_user_bpammo(idCSW_DEAGLE35// 35 o lo que tu prefieras.
                            
give_item(id"weapon_sg550")
                            
cs_set_user_bpammo(idCSW_SG55090)
                
give_item(id"weapon_knife")
             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 45 para usar esta clase^x04 ^x01."TAG)
        }
        }
    case 
11:  
        {
        if( 
g_levelid ] >= 45 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_deagle")
                            
cs_set_user_bpammo(idCSW_DEAGLE35// 35 o lo que tu prefieras.
                            
give_item(id"weapon_m4a1")
                            
cs_set_user_bpammo(idCSW_M4A190)
                
give_item(id"weapon_knife")
             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 45 para usar esta clase^x04 ^x01."TAG)
        }
        }
    case 
12:  
        {
        if( 
g_levelid ] >= 50 )
                  {
                            
strip_user_weapons(id)
                            
give_item(id"weapon_deagle")
                            
cs_set_user_bpammo(idCSW_DEAGLE35// 35 o lo que tu prefieras.
                            
give_item(id"weapon_m249")
                            
cs_set_user_bpammo(idCSW_M4A190)
                
give_item(id"weapon_knife")

             }
        else
        {
            
hns_print_color(id"^x04%s^x01 Necesitas ser NIVEL 50 para usar esta clase^x04 ^x01."TAG)
        }
        }
             
    } 
    return 
PLUGIN_HANDLED 
}  

public 
Menu2(id)
{
    new 
menu menu_create("\y[\wBase Builder Revolituon\y] \wMenu Principal""mostrar_menu2")
    
    
menu_additem(menu"\yZOMBIE \wShop""1"0);
    
menu_additem(menu"\wMejoras""2"0);
    
    
menu_setprop(menuMPROP_EXITNAME"Salir");
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
    
menu_display(idmenu0);
    return 
PLUGIN_HANDLED;
}

public 
mostrar_menu2(idMenuitem

    if (
item == MENU_EXIT)  
        return 
PLUGIN_HANDLED  
     
     
    
new iData[6];   
    new 
iAccess;  
    new 
iCallback;  
    new 
iName[64];  
    
menu_item_getinfo(Menu item iAccess iData iName 63 iCallback 
     
    switch (
str_to_num(iData))
    {
           case 
1:
           {
             
Shop(id);
           } 
           case 
2:
           {
             
Mejoras(id);    
           }

Shop(id)
{

    
// recuerden usar otro nombre al handler de la funcion, ya que es OTRO menu
    
    
new menu menu_create("\r[\yBase Builder Revolution\r] \wZombie Shop""zombieshop")
    
    
menu_additem(menu"\w1500 de HP   \r[\y8 Puntos\r]""1"0);
    
menu_additem(menu"\w2000 de HP   \r[\y12 Puntos\r]""2"0);
    
menu_additem(menu"\wInmortalidad  \d10 Segundos   \r[\y25 Puntos\r]""2"0);
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
    
    
// en este caso no necesitamos returnear PLUGIN_HANDLED para bloquear
    // la funcion ya que no estamos usando un comando para acceder a este
    // menu, por lo cual no se mostrara nada en el chat
}

public 
zombieshop(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        
        
// aca lo que hacemos es que si el usuario sigue conectado y cierra
        // el submenu, le mostramos el menu principal, esto es opcional
        
        
if(is_user_connected(id) )
            
Menu2(id);
        
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata5iName63callback);
    
    new 
key str_to_num(data);
    
    switch(
key)
    {
        case 
1:
        {
        if(
g_puntos[id] >= 8)  
                  { 
              
                           
set_user_health(id1500
                           
hns_print_color(id"^x04%s^x01 Compraste 1500 de HP^x04 ^x01."TAG)
                           
g_puntos[id] -= 
                  
}                                         
        }
        case 
2:
        {
        if(
g_puntos[id] >= 12)  
                  { 
              
                           
set_user_health(id2000
                           
hns_print_color(id"^x04%s^x01 Compraste 2000 de HP^x04 ^x01."TAG
                           
g_puntos[id] -= 12 
                  
}            
        }
        case 
3:
        {
        if(
g_puntos[id] >= 25)  
                  { 
              
                           
set_user_godmode(id1)
                 
set_task(10.0"remover_godmode"id)
                           
hns_print_color(id"^x04%s^x01 Compraste 10 segundos de Inmortalidad^x04 ^x01."TAG
                           
g_puntos[id] -= 25
                  
}            
        }
    }
    
    
menu_destroy(menu);
    
    return 
PLUGIN_HANDLED;
}

public 
remover_godmode(id

    
set_user_godmode(id0
    
hns_print_color(id"^x04%s^x01 Se te acabo la Inmortalidad^x04 ^x01."TAG
}  

Mejoras(id)
{

    
// recuerden usar otro nombre al handler de la funcion, ya que es OTRO menu
    
    
new menu menu_create("\r[\yBase Builder Revolution\r] \wMejoras""mejorasmenu")
    
    
menu_additem(menu"\wMejorar Vida   \r[\y150 Puntos\r]""1"0);
    
menu_additem(menu"\wMejorar Gravedad   \r[\y125 Puntos\r]""2"0);
    
menu_additem(menu"\wMejorar Velocidad   \r[\y115 Puntos\r]""3"0);
    
menu_additem(menu"\wMejorar Armor   \r[\y100 Puntos\r]""4"0);
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_display(idmenu0);
    
    
// en este caso no necesitamos returnear PLUGIN_HANDLED para bloquear
    // la funcion ya que no estamos usando un comando para acceder a este
    // menu, por lo cual no se mostrara nada en el chat
}

public 
mejorasmenu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu);
        
        
// aca lo que hacemos es que si el usuario sigue conectado y cierra
        // el submenu, le mostramos el menu principal, esto es opcional
        
        
if(is_user_connected(id) )
            
Menu2(id);
        
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata5iName63callback);
    
    new 
key str_to_num(data);
    
    switch(
key)
    {
        case 
1:
        {
        if(
g_puntos[id] >= 150)  
                  { 
              
                           
set_user_health(idget_user_health(id) + g_vida[id] + 50
                           
hns_print_color(id"^x04%s^x01 Haz mejorado vida^x04 ^x01."TAG
                           
g_puntos[id] -= 150
                  
}                                         
        }
        case 
2:
        {
        if(
g_puntos[id] >= 125)  
                  { 
                 
set_user_gravity(idget_user_gravity(id) + g_gravity[id] - 15)
                           
hns_print_color(id"^x04%s^x01 Haz mejorado gravedad^x04 ^x01."TAG
                           
g_puntos[id] -= 125
                  
}            
        }
        case 
3:
        {
        if(
g_puntos[id] >= 115)  
                  {
              
                 
set_user_maxspeed(idget_user_maxspeed(id) + g_speed[id] + 12)
                           
hns_print_color(id"^x04%s^x01 Haz mejorado Velocidad^x04 ^x01."TAG
                           
g_puntos[id] -= 115
                  
}            
        }
        case 
4:
        {
        if(
g_puntos[id] >= 100)  
                  {
              
                 
set_user_armor(idget_user_armor(id) + g_armor[id] + 50)
                           
hns_print_color(id"^x04%s^x01 Haz mejorado Armor^x04 ^x01."TAG
                           
g_puntos[id] -= 100
                  
}            
        }
    }
    
    
menu_destroy(menu);
    
    return 
PLUGIN_HANDLED;

lRodri. is offline
Send a message via MSN to lRodri.
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:41.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode