Raised This Month: $ Target: $400
 0% 

Save this by Mysql


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
MrMaCEEE
Senior Member
Join Date: Apr 2010
Location: PortugaL
Old 08-16-2010 , 20:23   Save this by Mysql
Reply With Quote #1

Hi, this plugin save the points by nVault but i want this saving by MySQL someone can help me? i dont know how i can put this by mysql, i try 100x but i fail pls help,,, thanks a lot

PHP Code:
#include <amxmodx> 
#include <amxmisc> 
#include <csx> 
#include <nvault> 
#include <cstrike> 
#include <fun> 
#include <fakemeta>
#include <regex>
#define Plugin "Points" 
#define Version "1.0" 
#define Author "MACE"
#define MAX_BUFFER_LENGTH       2047
#define MAX_NAME_LENGTH         31
 
// User stats parms id
#define STATS_KILLS             0
#define STATS_DEATHS            1
#define STATS_HS                2
#define STATS_TKS               3
#define STATS_SHOTS             4
#define STATS_HITS              5
#define STATS_DAMAGE            6
#define PATTERN   "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // \b
#define REASON   "Publicidade"
#define CVAR_BANMINUTES  "ip_banminutes"
#define CVAR_BANVIOLATORS "ip_banviolators"
new Regex:g_result
new g_returnvalue
new g_error[64]
new 
g_allArgs[1024]
#define MAXSLOTS 32 
enum Color 
    
YELLOW 1
    
GREEN
    
TEAM_COLOR
    
GREY
    
RED
    
BLUE 

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

new 
amx_arenag;
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];
new const 
HOSTNAME_TAG[ ] = "[ServersPT.com] ";
 
public 
plugin_modules() {
 
require_module("regex")
}
public 
hook_say(idlevelcid) {
 
read_args(g_allArgs1023)
 
g_result regex_match(g_allArgsPATTERNg_returnvalueg_error63)
 switch (
g_result) {
  case 
REGEX_MATCH_FAIL: {
   
log_amx("REGEX_MATCH_FAIL! %s"g_error)
   return 
PLUGIN_CONTINUE
  
}
  case 
REGEX_PATTERN_FAIL: {
   
log_amx("REGEX_PATTERN_FAIL! %s"g_error)
   return 
PLUGIN_CONTINUE
  
}
  case 
REGEX_NO_MATCH: {
   return 
PLUGIN_CONTINUE
  
}
  default: {
   if (
get_cvar_num(CVAR_BANVIOLATORS)) {
    new 
userid get_user_userid(id)
    new 
minutesString[10]
    
get_cvar_string(CVAR_BANMINUTESminutesString9)
    new 
temp[64], banned[16], minutes get_cvar_num(CVAR_BANMINUTES)
 
    if (
minutes)
     
format(temp63"%L"id"FOR_MIN"minutesString)
    else
     
format(temp63"%L"id"PERM")
 
    
format(banned15"%L"id"BANNED")
 
    new 
authid[32]
    
get_user_authid(idauthid31)
 
    new 
name[32]
    
get_user_name(idname31)
    
log_amx("%s (%s), %s %s because of advertising an IP address. This was written: ^"%s^""nameauthidbannedtempg_allArgs)
 
    
server_cmd("kick #%d ^"%(%%s)^";wait;banid ^"%d^" ^"%s^";wait;writeid"useridREASONbannedtempminutesauthid)    
   }
   else {
    
client_cmd(id"say ^"Publicacao de outros IPs nao permitido!^"")
   }
   
regex_free(g_result)
   return 
PLUGIN_HANDLED // block msg
  
}
 }
 
 return 
PLUGIN_CONTINUE
}
 
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 /skill""show_points")
    
register_clcmd("say .sp""show_points")
    
register_clcmd("say /sp""show_points")
    
register_clcmd("say .skillpoints""show_points")
    
register_clcmd("say /skillpoints""show_points")
    
register_clcmd("say .pontos""show_points")
    
register_clcmd("say /pontos""show_points")
    
register_clcmd("say .points""show_points")
    
register_clcmd("say /points""show_points")
    
register_clcmd("say .top15""show_top15"); 
    
register_clcmd("say /top15""show_top15"); 
    
register_clcmd("say .topskill""show_top15"); 
    
register_clcmd("say /topskill""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!"); 
 
    
register_dictionary("statsx.txt")
    
register_clcmd("say .hp""show_points"0"- display current round stats (chat)")
    
register_clcmd("say_team .hp""show_points"0"- display current round stats (chat)")
    
amx_arenag register_cvar"amx_arenag""theARENA .EU" ); 
    
register_forwardFM_GetGameDescription"GameDesc" ); 
 
    
TeamInfo get_user_msgid("TeamInfo"); 
    
SayText get_user_msgid("SayText"); 
    
MaxSlots get_maxplayers();
 
    
register_clcmd("say""hook_say")
    
register_cvar(CVAR_BANVIOLATORS"0")
    
register_cvar(CVAR_BANMINUTES"30")
 
    
register_dictionary("admincmd.txt")
    new 
pCvar_HostName get_cvar_pointer"hostname" );
 
    new 
szHostName64 ];
    
get_pcvar_stringpCvar_HostNameszHostNamecharsmaxszHostName ) );
 
    if( 
containszHostNameHOSTNAME_TAG ) != )
    {
        
formatszHostNamecharsmaxszHostName ), "%s %s"HOSTNAME_TAGszHostName );
        
set_pcvar_stringpCvar_HostNameszHostName );
    }
}
 
public 
GameDesc( ) { 
 static 
gamename[32]; 
 
get_pcvar_stringamx_arenaggamename31 ); 
 
forward_returnFMV_STRINGgamename ); 
 return 
FMRES_SUPERCEDE

 
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"[ARENA] ^x01Tu 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
    } 

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
 
        return 
PLUGIN_CONTINUE 
    

 
    
points[killer] += get_pcvar_num(kill_points
    if(
points[victim] >= 100)
    {
    
points[victim] -= get_pcvar_num(death_points
    }
 
    if(
hitplace == HIT_HEAD 
    { 
        
points[killer] += get_pcvar_num(head_points
 
    } 
 
    if(
weapon == CSW_KNIFE 
    { 
        
points[killer] += get_pcvar_num(knife_points
 
    } 
 
    if(
weapon == CSW_HEGRENADE 
    { 
        
points[killer] += get_pcvar_num(nade_points
 
    } 
 
    if(
weapon == CSW_KNIFE && hitplace == HIT_HEAD 
    { 
        
points[killer] += get_pcvar_num(skill_points
 
    } 
 
    return 
PLUGIN_CONTINUE

public 
bomb_explode(planter

    
points[planter] += get_pcvar_num(boom_points)

public 
bomb_defused(defuser

    
points[defuser] += 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"SkillTOPs:"
 
    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
{
 
client_print(id,print_chat,"[ARENA] Comandos: .skill .top15 .topskill .hp .add .remove .stop .demo")
}
 
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

__________________

#include ++ by MACE
MrMaCEEE is offline
Send a message via MSN to MrMaCEEE
Reply



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


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