Crear Misiones C&P
#1
Este es un simple aporte de como crear misiones
Espero que les guste si algo mal me lo dicen
No me enojo por que de los errores se aprende bueno esto es todo

Código PHP:
//  Creamos las variables

new g_mision[33]
new 
g_kills[33][2]
new 
g_completed[33]

// Ponemos 

#define MAXQUEST 20 // Esto quiere desir que la quest maxima es de "20"
#define ammount_quest(%1)    (%1 * 3) 
Código PHP:
// Creamos el menu de misiones
public show_menu_mision(id)
{
    
// Format menu and data
    
static menu[999], lenlen 0
    
    
// Title
    
len += formatex(menu[len], sizeof menu len"\rMenu de misiones^n^n"// titulo
    
    // Note
    
len += formatex(menu[len], sizeof menu len"\r-\w Estas en la mision\r %d\w de\r %d^n^n"g_mision[id], MAXQUEST// Aca te dice por cual mision vas
    
    // Option N° 1
    
if (g_mision[id] < MAXQUEST)
    {
        if (
g_kills[id][0] >= ammount_quest(g_mision[id]))
            
len += formatex(menu[len], sizeof menu len"\r-\w Zombies: \r[\wCompletada\r]^n")
        else
            
len += formatex(menu[len], sizeof menu len"\r-\w Zombies: \r[\w%s\r][\w%s\r]^n"g_kills[id][0], ammount_quest(g_mision[id]))
        
        if (
g_kills[id][1] >= ammount_quest(g_mision[id]))
            
len += formatex(menu[len], sizeof menu len"\r-\w Humanos: \r[\wCompletada\r]^n^n")
        else
            
len += formatex(menu[len], sizeof menu len"\r-\w Humanos: \r[\w%s\r][\w%s\r]^n^n"g_kills[id][1], ammount_quest(g_mision[id]))
    }
    else
        
len += formatex(menu[len], sizeof menu len"\r-\w Ya has completado todas las misiones^n^n")
    
    
len += formatex(menu[len], sizeof menu len"\r-\w Completaste\r %s\w mision%s^n^n"g_completed[id], g_completed[id] == "" "es")
    
    
len += formatex(menu[len], sizeof menu len"\r0.\w Salir")
    
    
show_menu(idKEYSMENUmenu, -1"Menu Mision")


Código PHP:
// Esto checkea cuando completamos la mision
check_mision(id)
{
    while (
g_kills[id][0] >= ammount_quest((g_mision[id])) && g_kills[id][1] >= ammount_quest((g_mision[id])) && g_mision[id] < MAXQUEST)
    {
        
g_mision[id]++
        
g_completed[id]++
        
g_kills[id][0] = 0
        g_kills
[id][1] = 

        check_level
(id)

        switch (
g_mision[id])
        {
            case 
1..10:
            {
                
g_exp[id] += 10 g_mision[id
                
zp_colored_print(id"^x03%s^x04 Completaste una mision y recibiste^x03 %s^x04 de experiencia."Prefix10 g_mision[id]) // Esto dice que te va a dar 10 de EXP cuando La completes y te avisa cuando la terminaste
            
}
            case 
11..20:
            {
                
g_exp[id] += 20 g_mision[id]
                
zp_colored_print(id"^x03%s^x04 Completaste una mision y recibiste^x03 %s^x04 de experiencia."Prefix20 g_mision[id])
            }
            case 
21..30:
            {
                
g_exp[id] += 30 g_mision[id]
                
zp_colored_print(id"^x03%s^x04 Completaste una mision y recibiste^x03 %s^x04 de experiencia."Prefix30 g_mision[id])
            }
            case 
31..40:
            {
                
g_exp[id] += 40 g_mision[id]
                
zp_colored_print(id"^x03%s^x04 Completaste una mision y recibiste^x03 %s^x04 de experiencia."Prefix40 g_mision[id])
            }
            case 
41..50:
            {
                
g_exp[id] += 50 g_mision[id]
                
zp_colored_print(id"^x03%s^x04 Completaste una mision y recibiste^x03 %s^x04 de experiencia."Prefix50 g_mision[id])
            }
        }
    }


Código PHP:
// Vamos a public fw_PlayerKilled(victim, attacker, shouldgib) y colocamos alfinal    

       // Add kills
    
if (g_zombie[victim] || g_nemesis[victim])
        
g_kills[attacker][0]++
    else if (!
g_zombie[victim] || g_survivor[victim])
        
g_kills[attacker][1]++
    
    
// Check quest
    
check_mision(attacker)

Responder
#2
Es mejor una constante que una macro para guardar el MÁXIMO de misiones.
Y podrías usar (% + 1) * 3 en tu macro en la misión para que no de 0 en la primera vuelta.
Y por último te faltó resetear las variables.

Dentro de todo, hay un post donde explican y muestran como se hacen las misiones, pero esta bueno tu aporte.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder
#3
Prefiero usar bits para esto
Todos los MODS VHL totalmente gratuitos  Descarga Aqui

Mis plugins:
STEAM: https://steamcommunity.com/id/Metrikcz/
FB: fb.com/rwoong
Venta plugins a pedido en México mándame MP
Responder
#4
(06/08/2014, 04:20 PM)CSAxel escribió: Es mejor una constante que una macro para guardar el MÁXIMO de misiones.
Y podrías usar (% + 1) * 3 en tu macro en la misión para que no de 0 en la primera vuelta.
Y por último te faltó resetear las variables.

Dentro de todo, hay un post donde explican y muestran como se hacen las misiones, pero esta bueno tu aporte.

Ok lo tendre en cuenta gracias
Responder
#5
En mi caso que no es zp que es comun , le cambio g_zombie por CS_TEAM_CT y CS_TEAM_TT ???
"El camino de pies y manos" Tae Kwon Do
Responder
#6
Exactamente...

Se adapta fácil para otros tipos de mod
Solo cambiando
Código PHP:
g_zombie[id
-->
Código PHP:
cs_get_user_team(id) == CS_TEAM_T /* o para CT es CS_TEAM_CT */ 
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)