Raised This Month: $51 Target: $400
 12% 

[ES][TUT] Base para crear puntos


  
 
 
Thread Tools Display Modes
Author Message
vazmar
Veteran Member
Join Date: Apr 2009
Old 02-09-2010 , 17:25   [ES][TUT] Base para crear puntos
#1

Esto se puede usar para cualquier cosa, aparte del zp..
Espero que este bien hecho..
Dps se pueden utilizar estos puntos para diferentes cosas..
Menues , etc

PHP Code:
#include <amxmodx> // Inc fundamental para un plugin
#include <amxmisc> // Inc para verificar accesos
#include <hamsandwich> // Inc para usar la forward Ham_Killed
#include <zombieplague> // Inc para usar las natives del zp

#define PLUGIN "TUT Base para hacer puntos"
#define VERSION "1.0"
#define AUTHOR "vazmar"

// Sound
new const SoundPoint[] = { "sound/soundpoint.wav" // Creamos una constante con la ruta de direccion
// del sonido

// Creamos un array
new g_points[33// que la vamos a utilizar luego


public plugin_init() 
{
    
// Registramos el plugin
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// Forward que detecta cuando un player muere
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
    
    
// Ver puntos
    
register_clcmd("say /mypoints""ShowPoints"// Al escribir en el say /mypoints
    
register_clcmd("say_team /mypoints""ShowPoints"// llamamos a la funcion ShowPoints
    
    // Dar o remover puntos
    
register_clcmd("amx_give_points""CmdGivePoints"ADMIN_ADMIN"<Name> <Points>")
    
register_clcmd("amx_remove_points""CmdRemovePoints"ADMIN_ADMIN"<Name> <Points>")
    
    
// Points Activados?
    
register_cvar("zp_points_enable""1")
}

public 
plugin_precache() // Precacheamos 
    
precache_sound(SoundPoint// el sonido

public fw_PlayerKilled(victimattackershouldgib)
{
    
// Creamos variables para no llamar tantas veces las natives en el if..
    
new ZmA zp_get_user_zombie(attacker
    new 
ZmV zp_get_user_zombie(victim)
    new 
SurvA zp_get_user_survivor(attacker)
    new 
SurvV zp_get_user_survivor(victim)
    new 
NemA zp_get_user_nemesis(attacker)
    new 
NemV zp_get_user_nemesis(victim)
    
    
// Si el zombie es atacante y el survivor victima, etc..
    
if(ZmA && SurvV || !ZmA && NemA || NemA && !ZmV || NemA && SurvV || SurvA && ZmV || SurvA && NemV)
    {
        
g_points[attacker]++    // Gana 1 punto el atacante..
        
client_cmd(attacker"spk ^"%s^""SoundPoint// y se reproduce el sonido
        
client_print(attackerprint_chat"Ganaste 1 punto. Ahora tenes %d punto%s"g_points[attacker], g_points[attacker] == "" "s")
        
// y nos muestra un mje .. Chequeamos si tiene 1 punto para cuando se muestre el mje no diga puntos, sino punto
    
}
}

// Mostramos en un hud 
public ShowPoints(id)
{
    
set_hudmessage(002550.340.8306.012.0// durante 6 segundos, en color azul
    
show_hudmessage(id"Tenes %d punto%s"g_points[id], g_points[id] == "" "s"// cuantos puntos tenes     
}

public 
CmdGivePoints(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))  // Si el user no tiene acceso
        
return PLUGIN_HANDLED// returneamos
    
    
new arg[32], points[32// Creamos strings
    
    
read_argv(1arg31// lee el argumento del string que creamos
    
read_argv(2points31// IDEM
    
    
new target cmd_target(idarg0// Localizamos a un player.. 
    
    
if(!target) return PLUGIN_HANDLED// Si no lo localiza, returneamos
    
    
new pointsnum str_to_num(points// Pasamos points a numero entero
    
    
g_points[target] += pointsnum // Se le suma g_points a pointsnum 
    
    
return PLUGIN_HANDLED// returneamos
}  

// Lo mismo de arriba, solo que para remover, se resta
public CmdRemovePoints(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED;
    
    new 
arg[32], points[32]
    
    
read_argv(1arg31)
    
read_argv(2points31)
    
    new 
target cmd_target(idarg0)
    
    if(!
target) return PLUGIN_HANDLED;
    
    new 
pointsnum str_to_num(points)
    
    
g_points[target] -= pointsnum // Se le resta
    
    
return PLUGIN_HANDLED;


Last edited by vazmar; 02-09-2010 at 23:22.
vazmar is offline
IneedHelp
Veteran Member
Join Date: Mar 2007
Location: Argentina
Old 02-09-2010 , 17:53   Re: [ES][TUT] Base para crear puntos
#2

Los comandos estan mal, le estas restando a quien ejecuta el comando y no al target.
__________________
IneedHelp is offline
vazmar
Veteran Member
Join Date: Apr 2009
Old 02-09-2010 , 18:15   Re: [ES][TUT] Base para crear puntos
#3

A si es verdad, ahi arregle.. como yo testie solo, a mi me funcionaba jaj, no me di cuenta
vazmar is offline
GusS15
Veteran Member
Join Date: Oct 2009
Location: Venezuela, Caracas
Old 02-09-2010 , 20:23   Re: [ES][TUT] Base para crear puntos
#4

Good Work vazmar luego los pruebo a ver que onda
GusS15 is offline
Send a message via MSN to GusS15
Franqeeto (L
Senior Member
Join Date: Aug 2009
Location: Bahia Blanca, Argentina
Old 02-09-2010 , 21:36   Re: [ES][TUT] Base para crear puntos
#5

como seria para comun?
en las variables..
porque si lo pones
get_user_victim(id)
get_user_attacker(id)

cuando matas a un compaņero tambien te da puntos, o no? como seria para que no te de puntos?

buen tutorial, me sirve ;)
gracias
__________________
Te gusta? :$
Franqeeto (L is offline
vazmar
Veteran Member
Join Date: Apr 2009
Old 02-09-2010 , 21:48   Re: [ES][TUT] Base para crear puntos
#6

Quote:
Originally Posted by Franqeeto (L View Post
como seria para comun?
en las variables..
porque si lo pones
get_user_victim(id)
get_user_attacker(id)

cuando matas a un compaņero tambien te da puntos, o no? como seria para que no te de puntos?

buen tutorial, me sirve ;)
gracias
Podes hacer, si un tt mata a un ct. y un ct a un tt.. eso queres..?

borra las variables y el if y pone asi..

PHP Code:
new TeamA get_user_team(attacker)
new 
TeamV get_user_team(victim)
    
if(
TeamA == && TeamV == || TeamA == && TeamV == 1)
{
//todo lo demas 
vazmar is offline
Franqeeto (L
Senior Member
Join Date: Aug 2009
Location: Bahia Blanca, Argentina
Old 02-09-2010 , 21:53   Re: [ES][TUT] Base para crear puntos
#7

Quote:
Originally Posted by vazmar View Post
Podes hacer, si un tt mata a un ct. y un ct a un tt.. eso queres..?

borra las variables y el if y pone asi..

PHP Code:
new TeamA get_user_team(attacker)
new 
TeamV get_user_team(victim)
    
if(
TeamA == && TeamV == || TeamA == && TeamV == 1)
{
//todo lo demas 
aa gracias,
para entender mejor, ahi lo que estas haciendo es poner que TeamA == TT y TeamV == CT y viceversa, o no?
__________________
Te gusta? :$
Franqeeto (L is offline
vazmar
Veteran Member
Join Date: Apr 2009
Old 02-09-2010 , 21:59   Re: [ES][TUT] Base para crear puntos
#8

Se..

1 es tt... 2 es ct. 3 spec.. dps esta el unassigned, algo asi se escribe xD
q seria !get_user_team(....)
vazmar is offline
Franqeeto (L
Senior Member
Join Date: Aug 2009
Location: Bahia Blanca, Argentina
Old 02-09-2010 , 22:05   Re: [ES][TUT] Base para crear puntos
#9

gracias

sabia lo de 1, 2 y 3, pero era para entender mas el code


edito para hacer otra pregunta
yo quiero usar esto para comun, pero no me deja compilarlo porque necesito el include zombieplague, saque las variables, y se ve que hay otra cosa mas , y nose que es :S
__________________
Te gusta? :$

Last edited by Franqeeto (L; 02-09-2010 at 22:41.
Franqeeto (L is offline
Starsailor
horrible hahah
Join Date: Aug 2008
Location: Buenos Aires
Old 02-09-2010 , 23:15   Re: [ES][TUT] Base para crear puntos
#10

cambia PLUGIN_HANDLED_MAIN por PLUGIN_HANDLED
__________________
Find my plugins here..

Ex - Spanish Moderator.
Starsailor is offline
 



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 05:02.


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