AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [REQ] Skill Points Need Help (https://forums.alliedmods.net/showthread.php?t=171901)

belmiro2 11-12-2011 10:49

[REQ] Skill Points Need Help
 
Hi, I got a skillpoint and I can not put the points in front of the nick, Help? ex: Miro <45>

PHP Code:

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

#define Plugin "iCoin-CM.com - Points"
#define Version "1.0"
#define Author "Miro"

#define MAXSLOTS 32

enum Color {
    
YELLOW 1,
    
GREEN,
    
TEAM_COLOR,
    
GREY,
    
RED,
    
BLUE
}

new 
TeamName[][] = {
    
    
"",
    
"TERRORIST",
    
"CT",
    
"SPECTATOR"
    
}

new 
kill_pointsdeath_pointstime_points;
new 
def_pointsboom_points;
new 
head_pointsknife_pointsnade_pointstk_pointsskill_points;
new 
TeamInfo,SayText,MaxSlots;
new 
points[32], vote_choices[3]
new 
bool:IsConnected[MAXSLOTS 1];

public 
plugin_init()
{
    
    
register_plugin(PluginVersionAuthor);
    
    
kill_points register_cvar("PS_kill_points""1");
    
death_points register_cvar("PS_death_points""1");
    
    
def_points register_cvar("PS_defusion_points""5");
    
boom_points register_cvar("PS_boom_points""4");
    
    
time_points register_cvar("PS_time_points""15");
    
head_points register_cvar("PS_head_points""2");
    
    
knife_points register_cvar("PS_knife_points""4");
    
nade_points register_cvar("PS_nade_points""4");
    
    
tk_points register_cvar("PS_tk_points""8");
    
skill_points register_cvar("PS_skill_points""3");
    
    
register_clcmd("say .skill""show_points");
    
register_clcmd("say .top15""show_top15");
    
    
register_concmd("amx_points""cmd_points"ADMIN_BAN" - <name> <points> Set's someones points");
    
register_concmd("amx_vote_point""cmd_vote_points"ADMIN_BAN" - <name> <reason> <give/remove> Start's a point vote");
    
register_concmd("amx_showpoints","cmd_show_points",ADMIN_BAN," - <name> Show points of a player!");
    
    
TeamInfo get_user_msgid("TeamInfo");
    
SayText get_user_msgid("SayText");
    
MaxSlots get_maxplayers();
    
}

public 
cmd_show_points(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED;
    
    new 
arg[32], pname[32]
    
read_argv(1arg31)
    
    new 
player cmd_target(idarg8)
    
    
get_user_name(player,pname,31);
    
    if(!
player)
        return 
PLUGIN_HANDLED;
    
    
client_print(id,print_console,"%s, tens %d skillpoints!",pname,points[player]);
    
    return 
1;
}

public 
cmd_points(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED;
    
    new 
arg1[32], arg2[11], name[32]
    
    
read_argv(1arg131)
    
read_argv(2arg210)
    
    new 
player cmd_target(idarg11)
    
    if(!
player)
        return 
PLUGIN_HANDLED;
    
    
points[player] = str_to_num(arg2)
    
    
get_user_name(playername31)
    
client_print(idprint_console,"Successfully set %s skillpoints to %s!"namearg2)
    
ColorChat(player,GREY,"Admin deu skillpoints a ^x04%s"arg2)
    
    return 
PLUGIN_HANDLED;
}
public 
cmd_vote_points(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED;
    
    new 
arg1[32], arg2[132], arg3[17]
    
    
read_argv(1arg131)
    
read_argv(2arg2131)
    
read_argv(3arg316)
    
    if(!
equal(arg3"give") && !equal(arg3"remove"))
    {
        
client_print(idprint_chat"invalid mode. Valid modes are: give, remove.")
        return 
PLUGIN_HANDLED;
    }
    
    new 
player cmd_target(idarg12)    
    
display_menu(playerarg2arg3)
    
    return 
PLUGIN_HANDLED;
}
public 
save_points(id)
{
    new 
valut nvault_open("points")
    
    if(
valut == INVALID_HANDLE)
        
set_fail_state("nValut returned invalid handle")
    
    new 
key[62], value[10], ip[33]
    
    
//get_user_ip(id, ip, 32, 1);
    
get_user_authid(idip32);
    
    
format(key61,"%s-points"ip)
    
format(value9,"%d"points[id])
    
    
nvault_set(valutkeyvalue)
    
nvault_close(valut)    
    
    return 
PLUGIN_CONTINUE;
}
public 
load_points(id)
{
    new 
valut nvault_open("points")
    
    if(
valut == INVALID_HANDLE)
        
set_fail_state("nValut returned invalid handle")
    
    new 
key[100], ip[33]
    
    
//get_user_ip(id, ip, 32, 1);
    
get_user_authid(idip32);
    
    
formatex(key99,"%s-points"ip)
    
    
points[id] = nvault_get(valutkey)    
    
nvault_close(valut)
    
    return 
PLUGIN_CONTINUE;
}
public 
show_points(id)
{
    
ColorChat(idGREEN"[ iCoin-CM.com ] Tu tens ^x03%d ^x01skillpoints!"points[id])
}
public 
give_time_points(id)
{
    if(
cs_get_user_team(id) != CS_TEAM_SPECTATOR)
    {
        
points[id] += get_pcvar_num(time_points)
        
ColorChat(idGREEN"[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints por estares 1h no servidor.",get_pcvar_num(time_points))
    }
}
public 
client_putinserver(id)
{
    
set_task(3600.0"give_time_points"id,_,_,"b")
    
set_task(20.0"advertise"id)
    
load_points(id)
}
public 
client_disconnect(id)
{
    
save_points(id)
}
public 
client_death(killervictimweaponhitplaceTK)
{
    if(
TK)
    {
        
points[killer] -= get_pcvar_num(tk_points)
        
ColorChat(killerGREEN"[ iCoin-CM.com ] Perdeste ^x03%d ^x01skillpoints!"get_pcvar_num(tk_points))
        
        return 
PLUGIN_CONTINUE
    
}
    
    
points[killer] += get_pcvar_num(kill_points)
    
points[victim] -= get_pcvar_num(death_points)
    
ColorChat(killerGREEN"[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints!"get_pcvar_num(kill_points))
    
ColorChat(victimGREEN"[ iCoin-CM.com ] Perdeste ^x03%d ^x01skillpoints!"get_pcvar_num(death_points))
    
    if(
hitplace == HIT_HEAD)
    {
        
points[killer] += get_pcvar_num(head_points)
        
ColorChat(killerGREEN"[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints!"get_pcvar_num(head_points))
    }
    
    if(
weapon == CSW_KNIFE)
    {
        
points[killer] += get_pcvar_num(knife_points)
        
ColorChat(killerGREEN "[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints!"get_pcvar_num(knife_points))
    }
    
    if(
weapon == CSW_HEGRENADE)
    {
        
points[killer] += get_pcvar_num(nade_points)
        
ColorChat(killerGREEN"[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints!"get_pcvar_num(nade_points))
    }
    
    if(
weapon == CSW_KNIFE && hitplace == HIT_HEAD)
    {
        
points[killer] += get_pcvar_num(skill_points)
        
ColorChat(killerGREEN"[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints!"get_pcvar_num(skill_points))
    }
    
    return 
PLUGIN_CONTINUE;
}
public 
bomb_explode(planter)
{
    
points[planter] += get_pcvar_num(boom_points)
    
ColorChat(planterGREEN"[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints!"get_pcvar_num(boom_points))
}
public 
bomb_defused(defuser)
{
    
points[defuser] += get_pcvar_num(def_points)
    
ColorChat(defuserGREEN"[ iCoin-CM.com ] Ganhaste ^x03%d ^x01skillpoints!"get_pcvar_num(def_points))
}
public 
show_top15(id)
{
    new 
icount;
    static 
sort[33][2], maxPlayers;
    
    if(!
maxPlayersmaxPlayers get_maxplayers();
    
    for(
i=1;i<=maxPlayers;i++)
    {
        
sort[count][0] = i;
        
sort[count][1] = points[i];
        
count++;
    }
    
    
SortCustom2D(sort,count,"stats_custom_compare");
    
    new 
motd[1024], len    
    
    len 
format(motd1023,"<body bgcolor=#000000><font color=#FFB000><pre>")
    
len += format(motd[len], 1023-len,"%2s %-22.22s %6s^n""#""Nick""SkillPoints")
    
    static 
name[32]    
    for(new 
015a++)
    {
        
get_user_name(sort[a][0], name31)        
        
len += format(motd[len], 1023-len,"%2d %-22.22s %6d^n"1namesort[a][1])
    }
    
    
len += format(motd[len], 1023-len,"</body></font></pre>")
    
show_motd(idmotd"iCoin-CM.com - SkillPoints")
    
    return 
PLUGIN_CONTINUE;
}
public 
stats_custom_compare(elem1[],elem2[])
{
    if(
elem1[1] > elem2[1]) return -1;
    else if(
elem1[1] < elem2[1]) return 1;
        
    return 
0;
}
public 
display_menu(idreason[], mode[])
{
    new 
temp[56], name[32]
    
    
get_user_name(idname31)
    
    if(
equal(mode"give"))
        
format(temp55"\rGive %s a point because %s?"namereason)
    else if(
equal(mode"remove"))
        
format(temp55"\rRemove a point from %s because %s?"namereason)
    
    new 
menu menu_create(temp"menu_handler")
    
    
menu_additem(menu"\wSim""1"0)
    
menu_additem(menu"\wNao""2"0)
    
    for(new 
1get_playersnum(); i++)
        
menu_display(imenu0)
    
    
set_task(30.0"finish_vote"idmode16)
}
public 
finish_vote(idmode[])
{
    
client_print(0print_chat"Voting over...")
    
    if(
vote_choices[1] > vote_choices[2])
    {
        if(
equal(mode"give"))
        {            
            
points[id]++
            
            
client_print(0print_chat"Choise ^"yes^" has won the vote!")
            
client_print(idprint_chat"You have been given a point")
        }
        else if(
equal(mode"remove"))
        {
            
points[id]--
            
            
client_print(0print_chat"Choise ^"yes^" has won the vote!")
            
client_print(idprint_chat"You have lost a point")
        }
    }
    
    else if(
vote_choices[1] < vote_choices[2])
    {
        if(
equal(mode"give"))
        {        
            
client_print(0print_chat"Choise ^"no^" has won the vote!")
            
client_print(idprint_chat"Sorry, no point for you! =)")
        }
        else if(
equal(mode"remove"))
        {        
            
client_print(0print_chat"Choise ^"no^" has won the vote!")
            
client_print(idprint_chat"You where lucky and didn't lose any points")
        }
    }
    
    for(new 
1get_playersnum(); i++)
        
menu_cancel(i)
    
    return 
PLUGIN_CONTINUE;
}
public 
menu_handler(idmenuitem)
{
    if (
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[6], name[32]
    new 
accesscallback
    
    menu_item_getinfo
(menuitemaccessdata5__callback)
    
    new 
key str_to_num(data)
    
get_user_name(idname31)
    
    
vote_choices[key]++
    
client_print(0print_chat,"%s voted on %s"namevote_choices[key] == "yes":"no")
    
    
menu_cancel(id)
    
    return 
PLUGIN_HANDLED;
}
public 
advertise(id)
{
    
set_hudmessage(0,25500.300.8516.06.0);
    
show_hudmessage(id,"Bem vindo ao servidor da Insert Coin! Escreve .skill .top15.^nTu tens: %d skillpoints!",points[id])
}
stock ColorChat(idColor:type, const msg[], any:...)
{
    static 
message[256];
    switch(
type)
    {    
        case 
YELLOW:
        {
            
message[0] = 0x01;
        }
        case 
GREEN:
        {
            
message[0] = 0x04;
        }
        default: {
            
message[0] = 0x03;
        }
    }
    
vformat(message[1], 251msg4);
    
message[192] = '^0';
    new 
teamColorChangeindexMSG_Type;
    if(!
id)
    {
        
index FindPlayer();
        
MSG_Type MSG_ALL;
        } else {
        
MSG_Type MSG_ONE;
        
index id;
    }
    
team get_user_team(index); 
    
ColorChange ColorSelection(indexMSG_Typetype);
    
ShowColorMessage(indexMSG_Typemessage);
    if(
ColorChange)
    {
        
Team_Info(indexMSG_TypeTeamName[team]);
    }
}
stock ShowColorMessage(idtypemessage[])
{
    
message_begin(typeSayText_id);
    
write_byte(id)  
    
write_string(message);
    
message_end(); 
}
stock Team_Info(idtypeteam[])
{
    
message_begin(typeTeamInfo_id);
    
write_byte(id);
    
write_string(team);
    
message_end();
    return 
1;
}
stock ColorSelection(indextypeColor:Type)
{
    switch(
Type)
    {
        case 
RED:
        {
            return 
Team_Info(indextypeTeamName[1]);
        }
        case 
BLUE:
        {
            return 
Team_Info(indextypeTeamName[2]);
        }
        case 
GREY:
        {
            return 
Team_Info(indextypeTeamName[0]);
        }
    }
    return 
0;
}
stock FindPlayer()
{
    new 
= -1;
    while(
<= MaxSlots)
    {
        if(
IsConnected[++i])
        {
            return 
i;
        }
    }
    return -
1;



Napoleon_be 11-12-2011 11:21

Re: [REQ] Skill Points Need Help
 
why would you get his username if you just wanna know his points? instead of using points[player] you should try points[id] as your decimal or integer.

belmiro2 11-12-2011 11:38

Re: [REQ] Skill Points Need Help
 
Only have to change points[player] -> points[id] ?

Napoleon_be 11-12-2011 11:45

Re: [REQ] Skill Points Need Help
 
ye and delete the part with get_user_name(player, ...)

belmiro2 11-12-2011 11:50

Re: [REQ] Skill Points Need Help
 
You can tell what is the part of code to delete, I can do mess up xD



Srry the bad english

proface 02-10-2012 20:24

Re: [REQ] Skill Points Need Help
 
Which part should I delete and change?
I didn't understand :\


All times are GMT -4. The time now is 08:25.

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