Dėl sportas plugino

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
likux35
Ar jis surinks 50 žinučių?
Posts: 41
Joined: 2015 May 29 22:41
Skype: likux35
Contact:

Dėl sportas plugino

Post by likux35 »

Sveiki. Gal galite pasakyti kame beda ? Stai prisegu sma failą nuo plugino. Radau pluginą kuris darant pritupimus didina greitį . Aš jį paredagavau kad visą statistiką saugotų į mysql . Kompiliavimo klaidų kompiliatorius nerodo , tačiau nuo jo lūžta serveris.

Version 0.9.531 Linux
[DPROTO]: Done.

AMX Mod X version 1.8.3-dev Copyright (c) 2004-2006 AMX Mod X Development Team
AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl'.
This is free software and you are welcome to redistribute it under
certain conditions; type 'amxx gpl' for details.

stray key in process_key: item_getiteminfo 61
[LocalizeBug Fix] Successful Patching.
[CF.Fix]: Successfully loaded.
POD-Bot mm: plugin attaching
L 01/07/2016 - 15:11:37: -------- Mapchange to de_dust --------
Uploading dump (in-process) [proxy '']
/tmp/dumps/crash_20160107151137_1.dmp
success = yes
response: Discarded=1
Segmentation fault (core dumped)
Add "-debug" to the ./hlds_run command line to generate a debug.log to help with solving this problem
Thu Jan 7 15:11:38 EET 2016: Server restart in 10 seconds

Prisegu sma kodą , gal žinot kame bėda ?

Code: Select all

#include <amxmodx>#include <hamsandwich>#include <engine>#include <fun>#include <fakemeta>#include <sqlx> #define PLUGIN "Jail Break: sportas"#define VERSION "2.0"#define AUTHOR "saimon" new ducks[33] new Handle:g_hDbTuple;new p_DbHost, p_DbUser, p_DbPass, p_DbName; public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)            register_forward(FM_PlayerPreThink, "PlayerPreThink", 0)        RegisterHam(Ham_Spawn, "player", "spawnas", 1)        p_DbHost = register_cvar( "amx_sport_dbhost", "xxxx" );    p_DbUser = register_cvar( "amx_sport_dbuser", "xxxx" );    p_DbPass = register_cvar( "amx_sport_dbpass", "xxxx" );    p_DbName = register_cvar( "amx_sport_dbname", "xxxx" );     SQL_CreateDbTuple( );} public plugin_end(){    SQL_SaveAllDbTuple();     if (g_hDbTuple)    {        SQL_FreeHandle(g_hDbTuple);    }} stock print_colorchat(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 txt    replace_all(msg,190,"!y","^1");// orange txt    replace_all(msg,190,"!t","^3");// team txt    replace_all(msg,190,"!w","^0");// team txt    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();        }} public spawnas(id){    sportas(id)        duckai(id)}        public sportas(id){    if(get_user_team(id) == 2)    {        client_print(id, print_chat, "[SPORTAS] Jus nesate kalinys !")            }    else    {                duckai(id)                          print_colorchat(id, "!g[!gSportas] !yJusu statistika:")            print_colorchat(id, "!g[!gSportas] !y Pritupimai: !g%d ]", ducks[id])    }}      public client_disconnect(id){        ducks[id] = 0    SQL_SaveDbTuple(id);} public client_putinserver(id){    SQL_LoadDbTuple(id);} SQL_CreateDbTuple(){    new szDBHost[ 64 ], szDBUser[ 32 ], szDBPass[ 32 ], szDBName[ 32 ], szQuery[ 256 ];    get_pcvar_string( p_DbHost, szDBHost, charsmax( szDBHost ) );    get_pcvar_string( p_DbUser, szDBUser, charsmax( szDBUser ) );    get_pcvar_string( p_DbPass, szDBPass, charsmax( szDBPass ) );    get_pcvar_string( p_DbName, szDBName, charsmax( szDBName ) );     g_hDbTuple = SQL_MakeDbTuple( szDBHost, szDBUser, szDBPass, szDBName, 0 );     format( szQuery, charsmax( szQuery ), "CREATE TABLE IF NOT EXISTS sportas (zaidejo_ip varchar(32) NOT NULL default '', pritupimai int(16) DEFAULT NULL) TYPE=MyISAM;" );    SQL_ThreadQuery( g_hDbTuple, "QueryHandler", szQuery );} SQL_SaveAllDbTuple( ){    new players[ 32 ], pnum, i;    get_players( players, pnum );     for ( i = 0; i < pnum; i++ )    {        SQL_SaveDbTuple( players[ i ] );    }} SQL_LoadDbTuple( id ){    new user_ip[ 32 ], szQuery[ 256 ], data[ 1 ];    get_user_ip( id, user_ip, charsmax( user_ip ), 1 );     data[ 0 ] = id;     format( szQuery, charsmax( szQuery ), "SELECT zaidejo_ip, pritupimai FROM sportas WHERE zaidejo_ip = '%s';", user_ip );    SQL_ThreadQuery( g_hDbTuple, "QuerySelect", szQuery, data, 1 );} public QuerySelect( failstate, Handle:query, error[ ], errnum, data[ ], size, Float:queuetime ){        if ( ( failstate == TQUERY_QUERY_FAILED ) || ( failstate == TQUERY_CONNECT_FAILED ) )    {        server_print( "* MySQL failstate: %s [%d]", error, errnum );        return;    }     new user_ip[ 32 ]    new id = data[0]    get_user_ip( id, user_ip, charsmax( user_ip ), 1 );     if ( !SQL_NumResults( query ) )    {        new szQuery[ 256 ];        format( szQuery, charsmax( szQuery ), "INSERT INTO sportas (zaidejo_ip, pritupimai) VALUES ('%s', '0');", user_ip );        SQL_ThreadQuery( g_hDbTuple, "QueryHandler", szQuery );             ducks[ id ] = 0            }            else            {        ducks[ id ] = SQL_ReadResult( query, 1 );            } } public QueryHandler( failstate, Handle:query, error[ ], errnum, data[ ], size, Float:queuetime ){    if ( ( failstate == TQUERY_QUERY_FAILED ) || ( failstate == TQUERY_CONNECT_FAILED ) )    {        server_print( "* MySQL failstate: %s [%d]", error, errnum );    }} SQL_SaveDbTuple( id ){    if ( ducks[id] > 0 )    {        new user_ip[ 32 ], szQuery[ 256 ];        get_user_ip( id, user_ip, charsmax( user_ip ), 1 );         format( szQuery, charsmax( szQuery ), "UPDATE sportas SET pritupimai = '%d' WHERE zaidejo_ip = '%s';", ducks[id], user_ip );        SQL_ThreadQuery( g_hDbTuple, "QueryHandler", szQuery );    }} public PlayerPreThink(id){    if(!is_user_alive(id))        return FMRES_IGNORED        if(pev(id, pev_oldbuttons) & IN_DUCK && !(pev(id, pev_button) & IN_DUCK) && get_user_team(id) == 1)    {        static s_iFlags        s_iFlags = pev(id, pev_flags)        if(/*!*/(s_iFlags & FL_DUCKING)/* && pev(id, pev_bInDuck)*/)        {            ducks[id] ++                    }    }        return FMRES_IGNORED;} public duckai(id){                   switch(ducks[id])    {                       case 300 .. 700: set_user_maxspeed(id, get_user_maxspeed(id) + 5)           case 701 .. 1500: set_user_maxspeed(id, get_user_maxspeed(id) + 10)        case 1501 .. 2000: set_user_maxspeed(id, get_user_maxspeed(id) + 25)        case 2001 .. 3000: set_user_maxspeed(id, get_user_maxspeed(id) + 50)        case 3001 .. 5000: set_user_maxspeed(id, get_user_maxspeed(id) + 100)        case 5001 .. 7000: set_user_maxspeed(id, get_user_maxspeed(id) + 125)        case 7001 .. 9000: set_user_maxspeed(id, get_user_maxspeed(id) + 150)        case 9001 .. 10000: set_user_maxspeed(id, get_user_maxspeed(id) + 200)        case 10001 .. 12000: set_user_maxspeed(id, get_user_maxspeed(id) + 225)        case 12001 .. 15000: set_user_maxspeed(id, get_user_maxspeed(id) + 250)    }   }

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests