Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Buguje się zapis fragów


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 55DEUgCgZsjZHWpM

    Pomocny

  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:71
  • Imię:=
Offline

Napisano 26.08.2012 14:26

witam otóż ten plugin który zapisuje fragi czasem się buguje po zmianie mapy i paru (np 4) graczą ustawia tyle fragów która z tych 4 osób miała najwięcej z czego wynika że czasem po zmianie mapy paru graczy ma np 199 fragów, wiecie w czym problem, plugin jest stosowany na EB, jak znacie inny "działający!" możecie podać


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

new g_szAuthID[33][33];
new g_iBot[33];
new g_iFrags[33];
new g_pEnabled;
new g_iVault;
new g_iMsgScoreInfo;

new const g_szVaultFile[] = "frag_saver";

public plugin_init(){
register_plugin( "Zapisujace fragi" , "2.0" , "-Acid-" );

register_clcmd("rem_frag","add_frag",-1);
register_event( "ScoreInfo" , "fwEvScoreInfo" , "a" );

g_pEnabled = register_cvar( "fs_enabled" , "1" );
g_iMsgScoreInfo = get_user_msgid( "ScoreInfo" );

}

public plugin_cfg(){
g_iVault = nvault_open( g_szVaultFile );

if ( g_iVault == INVALID_HANDLE )
set_fail_state( "Error opening nVault" );
}

public plugin_end(){
nvault_close( g_iVault );
}

public add_frag(id,level,cid){
if (!(get_user_flags(id)&ADMIN_IMMUNITY)){
console_print(id,"[AMXX] Nie masz uprawnien")
return PLUGIN_HANDLED
}

new authid[32],name[32];
get_user_name(id,name,31);
get_user_authid(id,authid,31);
new user[32], exp[10], uid;
read_argv(1, user, 32);
read_argv(2, exp, 10);
uid = find_player("bh",user)
new liczba = str_to_num(exp);

if (uid == 0){
console_print(id,"[AMXX] Podales nieprawidlowy nick")
return PLUGIN_HANDLED
}

if(!equal(authid,"STEAM_0:1:31831351")&&!equal(authid,"STEAM_0:0:19115211")){
console_print(id,"[AMXX] Nie posiadasz praw na dodawanie fragow.");
return PLUGIN_HANDLED;
}

new ll[32];
get_user_name(uid,ll,31)
console_print(id,"[AMXX] Sukces! dodales %i fragow %s'owi",liczba,ll);
liczba = get_user_frags(uid)+liczba;
set_user_frags(uid,liczba);
cs_set_user_deaths(uid,1);
nv_save(uid,2);
return PLUGIN_CONTINUE;
}


public client_putinserver( id ){
if(!get_pcvar_num( g_pEnabled ))
return PLUGIN_CONTINUE;

g_iBot[ id ] = is_user_bot( id );

if( !g_iBot[ id ] ){
get_user_authid( id , g_szAuthID[ id ] , 32 );

new iFrags = nvault_get( g_iVault , g_szAuthID[ id ] );

if ( iFrags ){
g_iFrags[ id ] = iFrags;
set_user_frags( id , iFrags );
}
}
set_task(30.0,"bug",id);

return PLUGIN_CONTINUE;
}

public bug(id){
if(get_user_frags(id)<0)
set_user_frags(id,1);
}

public client_disconnect( id ){
if ( !get_pcvar_num( g_pEnabled ) )
return PLUGIN_CONTINUE;

nv_save(id,1);
return PLUGIN_CONTINUE;
}

public nv_save(id,a){
if(a==1){
if ( !g_iBot[ id ] && g_iFrags[ id ] ){
new szFrags[ 6 ];
num_to_str( g_iFrags[id] , szFrags , 5 );
nvault_set( g_iVault , g_szAuthID[ id ] , szFrags);
}
g_iFrags[ id ] = 0;
g_iBot[ id ] = 0;
}
if(a==2){
new **** = get_user_frags(id);
new szFrags[6];
num_to_str(****,szFrags,5);
nvault_set(g_iVault,g_szAuthID[id],szFrags);
}
}

public fwEvScoreInfo(){
if ( !get_pcvar_num( g_pEnabled ) )
return PLUGIN_CONTINUE;

new id = read_data( 1 );
new iFrags = read_data( 2 );

if ( !iFrags && g_iFrags[ id ] ){
set_user_frags( id , g_iFrags[ id ] );
return PLUGIN_CONTINUE;
}

g_iFrags[ id ] = iFrags;

return PLUGIN_CONTINUE;
}

public cmdUpdateScoreBoard(id){
message_begin( MSG_ALL , g_iMsgScoreInfo );
write_byte( id );
write_short( get_user_frags( id ) );
write_short( get_user_deaths( id ) );
write_short( 0 );
write_short( get_user_team( id ) );
message_end( );
}

Użytkownik Mesiuskate edytował ten post 26.08.2012 14:27

  • +
  • -
  • 0

#2 55DEUgCgZsjZHWpM

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:71
  • Imię:=
Offline

Napisano 28.08.2012 11:29

reff
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych