Agregar Reset a clases de Humanos ZA
#1
Alguien me podria explicar como ponerle Reset a una clase de H en mi ZA?
Yo agregue nuevas clases a mi zombie apocalypse pero solo me deja agregarle un nivel de desbloqueo, quisiera saber como agregarle Resets de desbloqueo, por ejemplo:
Slash Asesino (Reset: 1) (Nivel: 40) para poder elegirlo

Pd: Estoy muy agradecido con todos los que me ayudan y me tienen paciencia, tal vez todos aprendieron desde hace mucho tiempo estas cosas, yo recien comienzo Whatdone
Responder
#2
Sonrisa 
Este no es la mejor forma pero funciona

Primero añadí esto al principio del sma
Código:
new const reset_humanos[] = "1, ,1 , 1" // Aca agrega los resets que le pedira al elegirlo 

Despues anda a show_menu_hclass y busca esto
Código:
// Add to menu
if (g_level[id] >= ArrayGetCell(g_hclass_lvl, class) || (get_user_flags(id) & g_access_flag[ACCESS_CLASSES_FREE]))
{
if (class == g_humanclass[id])
formatex(g_menu, charsmax(g_menu), "\d%s %s", buffer, buffer2)
else
formatex(g_menu, charsmax(g_menu), "%s \y%s", buffer, buffer2)
}
else
formatex(g_menu, charsmax(g_menu), "\d%s (\rMin Nivel \w%d\d)", buffer, ArrayGetCell(g_hclass_lvl, class))

y lo reemplaza por esto.

Código:
// Add to menu
if (g_level[id] >= ArrayGetCell(g_hclass_lvl, class) && g_fame[id] >= reset_humanos[class] || g_fame[id] > reset_humanos[class])
{
if (class == g_humanclass[id])
formatex(g_menu, charsmax(g_menu), "\d%s \y(ACTUAL)", buffer)
else if (class == g_humanclassnext[id])
formatex(g_menu, charsmax(g_menu), "\d%s \y(ELEGIDO)", buffer)
else
formatex(g_menu, charsmax(g_menu), "\w%s", buffer)
}
else
formatex(g_menu, charsmax(g_menu), "\d%s \r(RR:\d %d \r- N:\d %d\r)", buffer, reset_humanos[class], ArrayGetCell(g_hclass_lvl, class))

ahora busca menu_hclass y busca esto
Código:
// Level required
if (g_level[id] < ArrayGetCell(g_hclass_lvl, classid) && !(get_user_flags(id) & g_access_flag[ACCESS_CLASSES_FREE]))
{
show_menu_hclass(id)
return PLUGIN_HANDLED;
}

y lo reemplazas por esto
Código:
// Level required
if (g_level[id] < ArrayGetCell(g_hclass_lvl, classid) && g_fame[id] < reset_humanos[classid] || g_fame[id] < reset_humanos[classid])
{
show_menu_hclass(id)
return PLUGIN_HANDLED;
}

esa es la que uso

cada ves que agregues una clase humana también tenes que agregar lo en reset_humanos
espero te sirva Sonrisa
Responder
#3
(28/05/2020, 09:33 AM)NahuuCja escribió: Este no es la mejor forma pero funciona
se nota xd

podría modificar un poco tu código por este


(28/05/2020, 09:33 AM)NahuuCja escribió: Primero añadí esto al principio del sma
Código:
new const reset_humanos[] = "1, ,1 , 1" // Aca agrega los resets que le pedira al elegirlo 
-->
Código PHP:
//debajo de  Array;g_hclass_lvl
new Array:g_hclass_reset;
//en el precache debajo de g_hclass_level = ArrayCreat
g_hclass_reset ArrayCreate(11); 

(28/05/2020, 09:33 AM)NahuuCja escribió: y lo reemplaza por esto.

Código:
// Add to menu
if (g_level[id] >= ArrayGetCell(g_hclass_lvl, class) && g_fame[id] >= reset_humanos[class] || g_fame[id] > reset_humanos[class])
{
if (class == g_humanclass[id])
formatex(g_menu, charsmax(g_menu), "\d%s \y(ACTUAL)", buffer)
else if (class == g_humanclassnext[id])
formatex(g_menu, charsmax(g_menu), "\d%s \y(ELEGIDO)", buffer)
else
formatex(g_menu, charsmax(g_menu), "\w%s", buffer)
}
else
formatex(g_menu, charsmax(g_menu), "\d%s \r(RR:\d %d \r- N:\d %d\r)", buffer, reset_humanos[class], ArrayGetCell(g_hclass_lvl, class))

-->
Código PHP:
// Add to menu
        
if (g_level[id] >= ArrayGetCell(g_hclass_lvl, class) && g_fame[id] >= ArrayGetCell(g_hclass_reset, class) || g_fame[id] > ArrayGetCell(g_hclass_reset, class))
        { 
            if (class == 
g_humanclass[id])
                
formatex(g_menucharsmax(g_menu), "\d%s %s"bufferbuffer2)
            else
                
formatex(g_menucharsmax(g_menu), "%s \y%s"bufferbuffer2)
        }
        else 
            
formatex(g_menucharsmax(g_menu), "\d%s (\rMin Nivel \w%d\d)(\rMin Reset \w%d\d)"bufferArrayGetCell(g_hclass_lvl, class), ArrayGetCell(g_hclass_reset, class)) 

(28/05/2020, 09:33 AM)NahuuCja escribió: y lo reemplazas por esto
Código:
// Level required
if (g_level[id] < ArrayGetCell(g_hclass_lvl, classid) && g_fame[id] < reset_humanos[classid] || g_fame[id] < reset_humanos[classid])
{
show_menu_hclass(id)
return PLUGIN_HANDLED;
}

-->

Código PHP:
// Level required
    
if (g_level[id] < ArrayGetCell(g_hclass_lvlclassid) && g_fame[id] < ArrayGetCell(g_hclass_resetclassid) || g_fame[id] < ArrayGetCell(g_hclass_resetclassid))
    {
        
show_menu_hclass(id)
        return 
PLUGIN_HANDLED;
    } 

Código PHP:
public native_register_human_class(const name[], const info[], const model[], lvlhpspeedFloat:gravity

->

Código PHP:
public native_register_human_class(const name[], const info[], const model[], lvlresethpspeedFloat:gravity

Código PHP:
//dentro de eso mismo debajo de

ArrayPushCell(g_hclass_lvllvl)
//pones:
ArrayPushCell(g_hclass_resetreset); 

Me base en tu código y le agregue unas cositas, creería yo que debería funcionar jaja solo no podes cambiarle reset desde el .ini

Whatever


Archivos adjuntos
.sma   Descargar AMXX / zombie_apocalypse46.sma (Tamaño: 504.32 KB / Descargas: 5)
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#4
(28/05/2020, 12:43 PM)Hypnotize escribió: se nota xd

podría modificar un poco tu código por este


-->
Código PHP:
//debajo de  Array;g_hclass_lvl
new Array:g_hclass_reset;
//en el precache debajo de g_hclass_level = ArrayCreat
g_hclass_reset ArrayCreate(11); 


-->
Código PHP:
// Add to menu
 
if (g_level[id] >= ArrayGetCell(g_hclass_lvl, class) && g_fame[id] >= ArrayGetCell(g_hclass_reset, class) || g_fame[id] > ArrayGetCell(g_hclass_reset, class))
 { 
 if (class == 
g_humanclass[id])
 
formatex(g_menucharsmax(g_menu), "\d%s %s"bufferbuffer2)
 else
 
formatex(g_menucharsmax(g_menu), "%s \y%s"bufferbuffer2)
 }
 else 
 
formatex(g_menucharsmax(g_menu), "\d%s (\rMin Nivel \w%d\d)(\rMin Reset \w%d\d)"bufferArrayGetCell(g_hclass_lvl, class), ArrayGetCell(g_hclass_reset, class)) 


-->

Código PHP:
// Level required
 
if (g_level[id] < ArrayGetCell(g_hclass_lvlclassid) && g_fame[id] < ArrayGetCell(g_hclass_resetclassid) || g_fame[id] < ArrayGetCell(g_hclass_resetclassid))
 {
 
show_menu_hclass(id)
 return 
PLUGIN_HANDLED;
 } 

Código PHP:
public native_register_human_class(const name[], const info[], const model[], lvlhpspeedFloat:gravity

->

Código PHP:
public native_register_human_class(const name[], const info[], const model[], lvlresethpspeedFloat:gravity

Código PHP:
//dentro de eso mismo debajo de

ArrayPushCell(g_hclass_lvllvl)
//pones:
ArrayPushCell(g_hclass_resetreset); 

Me base en tu código y le agregue unas cositas, creería yo que debería funcionar jaja solo no podes cambiarle reset desde el .ini

Whatever
Wow ese es mi .sma??? Rainbow Le tendré que cambiar los resets desde el .sma no? ya que no puedo desde el .ini
Responder
#5
en tu .sma de las clases después del level agrega el reset
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#6
(28/05/2020, 06:45 PM)Hypnotize escribió: en tu .sma de las clases después del level agrega el reset
Código PHP:
/*================================================================================
    
    -----------------------------------
    -*- [ZA] Default Human Classes -*-
    -----------------------------------
    
    ~~~~~~~~~~~~~~~
    - Description -
    ~~~~~~~~~~~~~~~
    
    This plugin adds the default human classes to Zombie Apocalypse.
    Feel free to modify their attributes to your liking.
    
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <zombieapocalypse>

/*================================================================================
 [Plugin Customization]
=================================================================================*/


// Civil Human Attributes
new const hclass1_name[] = { "Civil" }
new const 
hclass1_info[] = { "Atributos normales" }
new const 
hclass1_model[] = { "za_human11" }
const 
hclass1_level 50
const hclass1_reset1
const hclass1_health 100
const hclass1_speed 240
const Float:hclass1_gravity 1.0

// Rebel Human Attributes
new const hclass2_name[] = { "Rebelde" }
new const 
hclass2_info[] = { "Vida+ Velocidad+ Salto-" }
new const 
hclass2_model[] = { "za_human22" }
const 
hclass2_level 55
const hclass2_reset13
const hclass2_health 150
const hclass2_speed 260
const Float:hclass2_gravity 1.25

// Defender Human Attributes
new const hclass3_name[] = { "Defensor" }
new const 
hclass3_info[] = { "Vida++ Velocidad++ Salto-" }
new const 
hclass3_model[] = { "za_human33" }
const 
hclass3_level 60
const hclass3_reset3
const hclass3_health 200
const hclass3_speed 280
const Float:hclass3_gravity 1.25

// Spy Human Attributes
new const hclass4_name[] = { "Espia" }
new const 
hclass4_info[] = { "Vida++ Salto+ Velocidad-" }
new const 
hclass4_model[] = { "za_human44" }
const 
hclass4_level 65
const hclass4_reset5
const hclass4_health 200
const hclass4_speed 220
const Float:hclass4_gravity 0.75

// Assassin Human Attributes
new const hclass5_name[] = { "Asesino" }
new const 
hclass5_info[] = { "Salto++ Velocidad++" }
new const 
hclass5_model[] = { "za_human55" }
const 
hclass5_level 70
const hclass5_reset7
const hclass5_health 100
const hclass5_speed 280
const Float:hclass5_gravity 0.5

// Hunter Human Attributes
new const hclass6_name[] = { "Cazador" }
new const 
hclass6_info[] = { "Vida+ Velocidad+ Salto+" }
new const 
hclass6_model[] = { "za_human66" }
const 
hclass6_level 75
const hclass6_reset9
const hclass6_health 150
const hclass6_speed 260
const Float:hclass6_gravity 0.75

/*============================================================================*/

// Human Classes MUST be registered on plugin_precache
public plugin_precache()
{
    
register_plugin("[ZA] Default Human Classes""2.0""RauliTop")
    
    
// Register all classes
    
za_register_human_class(hclass1_namehclass1_infohclass1_modelhclass1_levelhclass1_resethclass1_healthhclass1_speedhclass1_gravity)
    
za_register_human_class(hclass2_namehclass2_infohclass2_modelhclass2_levelhclass2_resethclass2_healthhclass2_speedhclass2_gravity)
    
za_register_human_class(hclass3_namehclass3_infohclass3_modelhclass3_levelhclass3_resethclass3_healthhclass3_speedhclass3_gravity)
    
za_register_human_class(hclass4_namehclass4_infohclass4_modelhclass4_levelhclass4_resethclass4_healthhclass4_speedhclass4_gravity)
    
za_register_human_class(hclass5_namehclass5_infohclass5_modelhclass5_levelhclass5_resethclass5_healthhclass5_speedhclass5_gravity)
    
za_register_human_class(hclass6_namehclass6_infohclass6_modelhclass6_levelhclass6_resethclass6_healthhclass6_speedhclass6_gravity)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\ rtf1\ ansi\ deff0{\ fonttbl{\ f0\ fnil Tahoma;}}
\ viewkind4\ uc1\ pard\ lang3082\ f0\ fs16 
\ par }
*/ 
No me funciona, como hago para que funcione? agregué esto a za_hclasses
Responder
#7
no te funciona dentro del server o no te compila? Whatever
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#8
(29/05/2020, 01:08 AM)Hypnotize escribió: no te funciona dentro del server o no te compila?  Whatever
Adentro del server me aparecen resets (solo en humanos, no se podria agregar a zombies tambien?) Pero me aparecen resets al azar, por ejemplo para el primer humano me dice que necesito reset 100 para desbloquearlo. y o sea el .sma de zombieapocalypse46 que me pasaste con los resets si me compiló, pero el que te pasé aca arriba, del za_hclasses no me compila


Archivos adjuntos
.sma   Descargar AMXX / zombie_apocalypse46.sma (Tamaño: 504.15 KB / Descargas: 2)
.sma   Descargar AMXX / za_hclasses.sma (Tamaño: 3.97 KB / Descargas: 0)
Responder
#9
debes buscar en el include del za esta native

za_register_human_class


después del lvl agregas "reset"


ejemplo

za_register_human_class(..... level, reset, etcc...);


y lo guardas e intentas compilar de nuevo Whatever
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#10
(29/05/2020, 01:22 AM)Hypnotize escribió: debes buscar en el include del za esta native

za_register_human_class


después del lvl agregas "reset"


ejemplo

za_register_human_class(..... level, reset, etcc...);


y lo guardas e intentas compilar de nuevo  Whatever
ME FUNCIONO! CREO QUE TE AMO! Sos un genio! Con los zombies tambien va a funcionar? o me lo tenes que agregar al .sma?

(29/05/2020, 01:22 AM)Hypnotize escribió: debes buscar en el include del za esta native

za_register_human_class


después del lvl agregas "reset"


ejemplo

za_register_human_class(..... level, reset, etcc...);


y lo guardas e intentas compilar de nuevo  Whatever
Intente hacerlo con los mismos pasos para Zombies y no me deja compilar el .sma, me dice esto

Warning: Loose indentation on line 5002
Error: Undefined symbol "reset" on line 14035
Warning: Loose indentation on line 15544

1 Error.
Could not locate output file C:\Users\crist\Desktop\zombie_apocalypse46.amx (compile failed).

Código:
}

ArrayPushString(g_zclass_clawmodel, clawmodel)
ArrayPushCell(g_zclass_lvl, lvl)
ArrayPushCell(g_zclass_reset, reset)
ArrayPushCell(g_zclass_hp, hp)
ArrayPushCell(g_zclass_spd, speed)
ArrayPushCell(g_zclass_grav, gravity)
ArrayPushCell(g_zclass_kb, knockback)
Dejo el .sma ahi abajo Triste


Archivos adjuntos
.sma   Descargar AMXX / zombie_apocalypse46.sma (Tamaño: 504.64 KB / Descargas: 1)
Responder
#11
te falto agregar "reset", que bueno que hayas entendido el ejemplo!  Nothingdohere


Código PHP:
public native_register_zombie_class(const name[], const info[], const model[], const clawmodel[], lvl 

->.


Código PHP:
public native_register_zombie_class(const name[], const info[], const model[], const clawmodel[], lvlreset 


dentro del .sma zombieapocalypse

busca lo de arriba con contro,f
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)