Raised This Month: $ Target: $400
 0% 

[Colaboracion] xp_mode SIN guardado de xp


  
 
 
Thread Tools Display Modes
Author Message
sasske
Senior Member
Join Date: Nov 2012
Old 01-28-2013 , 00:33   [Colaboracion] xp_mode SIN guardado de xp
#1

Hola gente de AM, he creado un plugin que mas que todo sirve para hacer un poco mas "Divertido" su sv, ya que no tiene muchas bonificaciones(solo cuando llegas a lvl maximo), los que me vallan dando ideas o optimizaciones, los hire poniendo en la lista de gente que participo en el plugin, y ire actualizando el post.

Este plugin solo tiene ventaja cuando llegas a el nivel maximo.

Empezas siendo recuit(recluta), cuando llegas a 200 de xp(son 20 de xp cada vez que matas a alguien y -10 xp cada vez que te matan(limite 0 de xp)), pasas a rango Normal Player(player normal) que seria un player ni muy pro ni muy pete(para llegar al rango el mejor score a tener seria... seria 10/0

Luego con 500 de xp llegas al rango Advanced Player(jugador avanzado) como mejor score a tener seria 25/0

Con 1000 de xp llegas al rango Veteran Member(del foro xD)(Miembro veterano) como mejor score a tener seria 50/0

Atencion: cuando llegas al rango Veteran Member se te bonifica con 500 de vida extra(solo 1 vez) si estas vivo, y si no se espera a que lo estes...

Tambien se te beneficia con 5000 de plata... si quieres volver a tener estos beneficios deves escribir /reset que te resetea TODO, clase, nivel, xp y obviamente, te deja volver a usar esta ventaja, claro si llegas a la clase veteran member nuevamente jajajaja.

Tambien hay una cvar para que los admin puedan usar /resetall para resetear el score de TODOS los players.

Bueno en fin, aqui esta el code.

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "XP_MODE"
#define VERSION "1.1"
#define AUTHOR "sasske"

#define recuit 0
#define Normal_Player 1
#define Advanced_Player 2
#define Veteran 3

new cvar_enable
new cvar_AdminResetEnable

new iXp[33]
new 
iClass[33]
new 
iLevel[33]
new 
iMaxPlayers

new bonus_vida[33]
new 
bonus_money[33]

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /reset""Reset")
    
register_clcmd("say /resetall""Resetall")
    
cvar_enable register_cvar("[XP_MODE] enable""1")
    
cvar_AdminResetEnable register_cvar("Admin_ResetClasses_ALL_enable""1")
    
register_event("DeathMsg""Muerte""a")
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
iMaxPlayers get_maxplayers()
}

public 
client_connect(id)
{
    
iXp[id] = 0
    iClass
[id] = recuit
    iLevel
[id] = 1
    bonus_money
[id] = 0
    bonus_vida
[id] = 0
}

public 
Muerte()
{
       if(!
is_user_alive(attacker) || !is_user_alive(victim) || victim == attacker || !get_pcvar_num(cvar_enable))
           return
    
       
iXp[victim] -= 10
       iXp
[attacker] += 20
    
       client_print
(attackerprint_chat"Ganas 20 de experiencia por matar")
       
client_print(victimprint_chat"Pierdes 10 de experiencia por morir")
    
       
Check(attacker)
       
Check(victim)        
    
set_task(1.0"Print"atack)
    
set_task(0.3"Check"atack)
}

public 
event_round_start()
{
    if(!
get_pcvar_num(cvar_enable)) 
        return
    
    for(new 
id 1id <= iMaxPlayersid++)
    {
        if(!
is_user_connected(id))
            continue;
            
        
set_hudmessage(255000.00.906.012.0)
        
show_hudmessage(id"Eres nivel %d, tu clase es: %s y tienes %d de xp"iLevel[id], iClass[id], iXp[id])
        
set_task(2.0"Message"id)
    }
}

public 
Message(id)
{
    
remove_task(id)
    if(
iClass[id] == recuit)
    {
    
set_hudmessage(255000.00.906.012.0)
    
show_hudmessage(id"Eres nivel %d, tu clase es: recuit y tienes %d de xp"iLevel[id], iXp[id])
    }
    else if(
iClass[id] == Normal_Player)
    {
        
set_hudmessage(255000.00.906.012.0)
        
show_hudmessage(id"Eres nivel %d, tu clase es: Normal Player y tienes %d de xp"iLevel[id], iXp[id])
    }
    else if(
iClass[id] == Advanced_Player)
    {
        
set_hudmessage(255000.00.906.012.0)
        
show_hudmessage(id"Eres nivel %d, tu clase es: Advanced_Player y tienes %d de xp"iLevel[id], iXp[id])
    }
    else if(
iClass[id] == Veteran)
    {
        
set_hudmessage(255000.00.906.012.0)
        
show_hudmessage(id"Eres nivel %d, tu clase es: Veteran y tienes %d de xp"iLevel[id], iXp[id])
    }
        
    
set_task(2.0"Message"id)
}

public Print(
id)
{
    
client_print(idprint_chat"Obtines 20 de xp por matar a alguien")
}

public 
Check(id)
{
    if(
iXp[id] >= 200)
    {
        if(
iClass[id] == recuit)
        {
            
iClass[id] = Normal_Player
            iLevel
[id]++
            
client_print(idprint_chat"Tienes %d de xp has ascendido al rango Normal Player"iXp[id], iClass[id])
        }
    }
    else if(
iXp[id] >= 500)
    {
        if(
iClass[id] == Normal_Player)
        {
            
iClass[id] = Advanced_Player
            iLevel
[id]++
            
client_print(idprint_chat"Tienes %d de xp has ascendido al rango Advanced Player"iXp[id], iClass[id])
        }
    }
    else if(
iXp[id] >= 1000)
    {
        if(
iClass[id] == Advanced_Player)
        {
            
iClass[id] = Veteran
            iLevel
[id]++
            
client_print(idprint_chat"Tienes %d de xp has ascendido al rango Veteran Member"iXp[id], iClass[id])
            
client_print(idprint_chat"[XP_MODE] Has llegado a la clase maxima, se te beneficia con 500 de vida HASTA QUE MUERAS y 5000 de dinero, si te quieres resetear escribe /reset")
            
set_task(1.0"vida"id)
            
            if(
bonus_money[id] == 0)
            {
                
cs_set_user_money(idcs_get_user_money(id) + 5000)
                
bonus_money[id] = 1
            
}
        }
    }
}

public 
vida(id)
{
    if(
is_user_alive(id) && bonus_vida[id] == 0)
    {
        
set_user_health(idget_user_health(id) + 500)
        
client_print(idprint_chat"Tu bonus de 500 de vida se ha activado, que lo disfrutes, recuerda que para activarlo nuevamente deveras resetearte y llegar nuevamente a este rango")
        
bonus_vida[id] = 1
    
}
}

public 
Reset(id)
{
    
iXp[id] = 0
    iClass
[id] = recuit
    iLevel
[id] = 1
    bonus_money
[id] = 0
    bonus_vida
[id] = 0
    client_print
(0print_chat"has reseteado tus clases, perdiste tu XP, CLASE, y LEVEL")
}

public 
Resetall(id)
{
    if(!
get_pcvar_num(cvar_AdminResetEnable))
        return
    
    if(!
is_user_admin(id))
        return
        
    new 
Name[33]
    
get_user_name(idNamecharsmax(Name))
    
    
iXp[0] = 0
    iClass
[0] = recuit
    iLevel
[0] = 1
    bonus_money
[0] = 0
    bonus_vida
[0] = 0
    client_print
(0print_chat"El admin %s ha reseteado TODAS las clases, perdieron su XP, CLASE, y LEVEL"Name)

Gente que participo:

Por el momento solo yo(sasske) cuando alguien me ayude a optimizar el code, o me de ideas para agregar lo agrego a este lugar

Ahora tambien esta clans por hacer esto:

PHP Code:
public fw_PlayerKilled(attackervictim)
{
    if(!
is_user_alive(attacker) || !is_user_alive(victim) || victim == attacker || !get_pcvar_num(cvar_enable))
        return
    
    
iXp[victim] -= 10
    iXp
[attacker] += 20
    
    client_print
(attackerprint_chat"Ganas 20 de experiencia por matar")
    
client_print(victimprint_chat"Pierdes 10 de experiencia por morir")
    
    
Check(attacker)
    
Check(victim)


Last edited by sasske; 01-28-2013 at 01:15.
sasske is offline
Send a message via MSN to sasske
claans
Senior Member
Join Date: Jul 2012
Location: Argentina
Old 01-28-2013 , 00:59   Re: [Colaboracion] xp_mode SIN guardado de xp
#2

No creo que lo allas echo vos solo , me la juego que vistes un tutorial que anda dando vueltas por hay D:

Te dejo esto capaz que queda mas bonito

PHP Code:
public fw_PlayerKilled(attackervictim)
{
    if(!
is_user_alive(attacker) || !is_user_alive(victim) || victim == attacker || !get_pcvar_num(cvar_enable))
        return
    
    
iXp[victim] -= 10
    iXp
[attacker] += 20
    
    client_print
(attackerprint_chat"Ganas 20 de experiencia por matar")
    
client_print(victimprint_chat"Pierdes 10 de experiencia por morir")
    
    
Check(attacker)
    
Check(victim)

Supongo que esta bien D:


sl2
cLAANS.-
__________________
http://amxmodx-es.com/ Allied Modders en espaņol
http://amxmodx-es.com/ Allied Modders in spanish
claans is offline
Send a message via MSN to claans Send a message via Skype™ to claans
KermesS
Senior Member
Join Date: Jan 2013
Location: Amsterdam
Old 01-28-2013 , 01:02   Re: [Colaboracion] xp_mode SIN guardado de xp
#3

mira, para que quede mas lindo te recomiendo utilizar un print_center :B

PD: Porque no lo editamos entre todos y le ponemos un guardado, le hacemos todo lo que precise asi hacemos un proyecto entre todos bien copado?
PD 2: Se que no se tanto pero puedo ser de gran ayuda

Last edited by KermesS; 01-28-2013 at 01:06.
KermesS is offline
sasske
Senior Member
Join Date: Nov 2012
Old 01-28-2013 , 01:16   Re: [Colaboracion] xp_mode SIN guardado de xp
#4

Quote:
Originally Posted by claans View Post
No creo que lo allas echo vos solo , me la juego que vistes un tutorial que anda dando vueltas por hay D:

Te dejo esto capaz que queda mas bonito

PHP Code:
public fw_PlayerKilled(attackervictim)
{
    if(!
is_user_alive(attacker) || !is_user_alive(victim) || victim == attacker || !get_pcvar_num(cvar_enable))
        return
    
    
iXp[victim] -= 10
    iXp
[attacker] += 20
    
    client_print
(attackerprint_chat"Ganas 20 de experiencia por matar")
    
client_print(victimprint_chat"Pierdes 10 de experiencia por morir")
    
    
Check(attacker)
    
Check(victim)

Supongo que esta bien D:


sl2
cLAANS.-
Se, lo hice yo e.e, gracias por la colaboracion, ahi te aņadi a la lista...

Quote:
Originally Posted by KermesS View Post
mira, para que quede mas lindo te recomiendo utilizar un print_center :B

PD: Porque no lo editamos entre todos y le ponemos un guardado, le hacemos todo lo que precise asi hacemos un proyecto entre todos bien copado?
PD 2: Se que no se tanto pero puedo ser de gran ayuda
Grandisima idea, si alguien traduce luego lo posteo en la seccion de plugins, talvez lo aprueba, y obviamente los pongo a todos los que ayuden
sasske is offline
Send a message via MSN to sasske
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 01-28-2013 , 01:18   Re: [Colaboracion] xp_mode SIN guardado de xp
#5

Quote:
Originally Posted by KermesS View Post
mira, para que quede mas lindo te recomiendo utilizar un print_center :B
wow que aporte -.-

usa maxplayers + un loop para setiarselo a todos
PHP Code:
public Resetall(id

    if(!
get_pcvar_num(cvar_AdminResetEnable)) 
        return 
     
    if(!
is_user_admin(id)) 
        return 
         
    new 
Name[33
    
get_user_name(idNamecharsmax(Name)) 
     
    
iXp[0] = 
    iClass
[0] = recuit 
    iLevel
[0] = 
    bonus_money
[0] = 
    bonus_vida
[0] = 
    client_print
(0print_chat"El admin %s ha reseteado TODAS las clases, perdieron su XP, CLASE, y LEVEL"Name

tambien podrias dejar mas bonito el code y optimizarlo asi:
PHP Code:
new const rangos[ ][ ] =

            
"[Nuevo]",
            
"[Miembro]",
       
"[Senior]",
       
"[Veterano]"
}
new 
g_clase[33

cuando sube de lvl g_clase[id]++

y lo mostras por ej

client_print
(idprint_chat"tu rango es %s"rangos[g_clase[id]]) 
un plugin entre todos: si claro.....
__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"

Last edited by Roccoxx; 01-28-2013 at 01:20.
Roccoxx is offline
Send a message via MSN to Roccoxx
Old 01-28-2013, 01:24
rak
This message has been deleted by lucas_7_94. Reason: Off topic.
Old 01-28-2013, 01:29
claans
This message has been deleted by lucas_7_94. Reason: Off topic.
Old 01-28-2013, 11:10
sasske
This message has been deleted by lucas_7_94. Reason: Off topic.
baneado
Veteran Member
Join Date: Dec 2012
Location: amxmodx-es.com
Old 01-28-2013 , 13:58   Re: [Colaboracion] xp_mode SIN guardado de xp
#6

No deberias haber hecho esto, no eres un experto que digamos, te falta mucho por aprender (no digo que yo no)

Cuando tengas mas conocimientos te recomiendo que, si quieres, lo vuelvas a hacer (aunque dudo que lo hagas porque todo el mundo que sabe apenas hace code para los demas)
baneado is offline
Old 01-28-2013, 20:30
Roccoxx
This message has been deleted by lucas_7_94. Reason: Off topic.
Old 02-04-2013, 20:00
MexPower
This message has been deleted by MexPower. Reason: Me equivoque de thead
 



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 03:57.


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