| AlgoChikitito |
04-17-2011 18:32 |
Re: Help give Weapons
Quote:
Originally Posted by Miko000000
(Post 1452409)
Show me your code after repairing
|
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta_util>
#define MAXCLASSES 7
new LCiudanado = 0
new LSoldado = 1
new LEspia = 2
new LArmas_Pesadas = 3
new LFuerzas_Especiales = 4
new LSniper = 5
new LSuper_Soldado = 6
new const CLASSES[MAXCLASSES][] = {
"Ciudanado",
"Soldado",
"Espia",
"Armas Pesadas",
"Fuerzas Especiales",
"Sniper",
"Super Soldado"
}
new const LEVELS[7] = {
0,
200,
1000,
5000,
7500,
15000,
25000
}
new PlayerXP[33],PlayerLevel[33],PlayerClass[33]
new XP_Kill,XP_Knife,XP_Hs,SaveXP,g_vault
public plugin_init()
{
register_plugin("XpMod", "1.0", "Fxfighter")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
SaveXP=register_cvar("SaveXP","1")
XP_Kill=register_cvar("XP_per_kill", "20")
XP_Hs=register_cvar("XP_hs_bonus","10")
XP_Knife=register_cvar("XP_knife_bonus","20")
g_vault=nvault_open("experiencia_beta1")
register_clcmd("say /class", "ChangeClass")
register_clcmd("say_team /class", "ChangeClass")
register_clcmd("say /clase", "ChangeClass")
register_clcmd("say_team /clase", "ChangeClass")
register_clcmd("say /xp", "VerXp")
register_clcmd("say_team /xp", "VerXp")
}
public fw_PlayerKilled(attacker, shouldgib)
{
new headshot = read_data( 3 )
new clip, ammo, weapon = get_user_weapon(attacker,clip,ammo);
PlayerXP[attacker] += get_pcvar_num(XP_Kill)
if(headshot)
PlayerXP[attacker] += get_pcvar_num(XP_Hs)
if(weapon == CSW_KNIFE)
PlayerXP[attacker] += get_pcvar_num(XP_Knife)
while(PlayerXP[attacker] <= LEVELS[PlayerLevel[attacker]])
{
ChatColor(attacker, "!g[ZPLVG] !yEnorabuena, Subiste Al Nivel %i %s!")
PlayerLevel[attacker]++
}
}
public VerXp(id)
{
ChatColor(id,"!g[ZPLVG] Nivel: !g%i !team|| Xp: !g%i",PlayerLevel[id],PlayerXP[id])
ChatColor(id,"!g[ZPLVG] Nivel: !g%i !team|| Xp: !g%i",PlayerLevel[id],PlayerXP[id])
ChatColor(id,"!g[ZPLVG] Nivel: !g%i !team|| Xp: !g%i",PlayerLevel[id],PlayerXP[id])
ChatColor(id,"!g[ZPLVG] Nivel: !g%i !team|| Xp: !g%i",PlayerLevel[id],PlayerXP[id])
}
public ChangeClass(id)
{
new menu = menu_create("Class Menu" , "Class_Handle");
if(PlayerLevel[id] >= LCiudanado)
menu_additem(menu ,"Ciudadano | Clase Libre", "0" , 0);
else
menu_additem(menu ,"No Disponible | Clase Libre", "0" , 0);
if(PlayerLevel[id] >= LSoldado)
menu_additem(menu ,"Soldado | 200 Xp", "1" , 0);
else
menu_additem(menu ,"No Disponible | 200 Xp", "1" , 0);
if(PlayerLevel[id] >= LEspia)
menu_additem(menu ,"Espia | 1000 Xp", "2" , 0);
else
menu_additem(menu ,"No Disponible | 1000 Xp", "2" , 0);
if(PlayerLevel[id] >= LArmas_Pesadas)
menu_additem(menu ,"Armas Pesadas | 5000 Xp", "3" , 0);
else
menu_additem(menu ,"No Disponible | 5000 Xp", "3" , 0);
if(PlayerLevel[id] >= LFuerzas_Especiales)
menu_additem(menu ,"Fuerzas Especiales | 7500 Xp", "4" , 0);
else
menu_additem(menu ,"No Disponible | 7500 Xp", "4" , 0);
if(PlayerLevel[id] >= LSniper)
menu_additem(menu ,"Sniper | 15000 Xp", "5" , 0);
else
menu_additem(menu ,"No Disponible | 15000 Xp", "5" , 0);
if(PlayerLevel[id] >= LSuper_Soldado)
menu_additem(menu ,"Super Soldado | 25000 Xp", "6" , 0);
else
menu_additem(menu ,"No Disponible | 25000 Xp", "6" , 0);
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
return PLUGIN_CONTINUE;
}
public Class_Handle(id , menu , item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
}
new szCommand[6] , szName[64];
new access , callback;
menu_item_getinfo(menu , item , access , szCommand , 5 , szName , 63 , callback);
new i = str_to_num(szCommand)
new ClassLevel
while(i>ClassLevel)
ClassLevel++
if(PlayerLevel[id] >= ClassLevel)
{
PlayerClass[id] = i
ChatColor(id,"!g[ZPLVG] !yTu Clase Ahora Es !g%s",CLASSES[i])
return PLUGIN_CONTINUE
}
else
ChatColor(id,"!g[ZPLVG] !yNecesitas Ser Nivel !team%d !ypara elegir esta clase", ClassLevel)
return PLUGIN_HANDLED
menu_destroy(menu);
switch (str_to_num(szCommand))
{
case 0: // Ciudadano
{
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_m4a1")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 100)
fm_set_user_armor(id, 0)
fm_set_user_maxspeed( id , get_user_maxspeed( id ) + 0.0 )
}
case 1: // Soldado
{
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_m4a1")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 110)
fm_set_user_armor(id, 0)
fm_set_user_maxspeed( id , get_user_maxspeed( id ) + 0.0 )
}
case 2: // Espia
{
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_m4a1")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 120)
fm_set_user_armor(id, 10)
fm_set_user_maxspeed( id , get_user_maxspeed( id ) + 0.0 )
}
case 3: // Armas Pesadas
{
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_deagle")
fm_give_item(id, "weapon_m249")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 130)
fm_set_user_armor(id, 30)
fm_set_user_maxspeed( id , get_user_maxspeed( id ) + 10.0 )
}
case 4: // Fuerzas Especiales
{
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_deagle")
fm_give_item(id, "weapon_m4a1")
fm_give_item(id, "weapon_ak47")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 150)
fm_set_user_armor(id, 50)
fm_set_user_maxspeed( id , get_user_maxspeed( id ) + 25.0 )
}
case 5: // Sniper
{
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_awp")
fm_give_item(id, "weapon_scout")
fm_give_item(id, "weapon_g3sg1")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 200)
fm_set_user_armor(id, 75)
fm_set_user_maxspeed( id , get_user_maxspeed( id ) + 30.0 )
}
case 6: // Soldado
{
fm_strip_user_weapons(id)
fm_give_item(id, "weapon_knife")
fm_give_item(id, "weapon_usp")
fm_give_item(id, "weapon_deagle")
fm_give_item(id, "weapon_m4a1")
fm_give_item(id, "weapon_ak47")
fm_give_item(id, "weapon_m249")
fm_give_item(id, "weapon_m3")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 300)
fm_set_user_armor(id, 100)
fm_set_user_maxspeed( id , get_user_maxspeed( id ) + 40.0 )
}
}
return PLUGIN_HANDLED
}
public client_connect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
LoadData(id)
}
}
public client_disconnect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
SaveData(id)
}
PlayerXP[id] = 0
PlayerLevel[id] = 0
PlayerClass[id] = 0
}
public SaveData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id])
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new playerxp[32], playerlevel[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)
PlayerXP[id] = str_to_num(playerxp)
PlayerLevel[id] = str_to_num(playerlevel)
return PLUGIN_CONTINUE
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
|