Cały kod oprócz tego usuwania flag, wydawał się dobrze napisany, więc jak dla mnie było praktycznie w 100% pewne, że ktoś dostawał wszystkie flagi (oprócz tej co była testowa), po skończeniu testowego vipa.ale nikt kto opisywal błąd nie powiedzial czy dostawalo się flagi po koncu testu czy przy początku
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.
|
Testowy Vip
#41
Napisano 15.04.2012 15:29
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#42
Napisano 15.04.2012 17:15
#43
Napisano 15.04.2012 22:41
G[o]Q ogarnij to bo widze ze nikt tego nie zrobi oprocz ciebie
#44
Napisano 15.04.2012 23:31
ps. speedkill - jak coś to mogę napisać ten plug w jakiś normalny sposób, a nie za przeproszeniem
kod pisany na szybko, bez testowania, bez przeliczeń na godziny i minuty (tylko sekundy) ale powinien działać (nie wiem czy daje flagi itp., ale chodzi mi tutaj o czas, kiedy się kończy itp.), jak chcesz żeby sprawdzało częściej niż co wejście gracza na serwer, zrób sobie jakiś bardzo rzadki task pod funkcję _Check.
/* Plugin generated by AMXX-Studio */
#include < amxmodx >
#include < sqlvault_ex >
#define PLUGIN "Vip for 24 hours"
#define VERSION "0.1a"
#define AUTHOR "emu"
#define MAXPLAYERS 32
#define VIP_FLAG ADMIN_LEVEL_H
enum _:g_Type
{
TIME,
USED
};
new g_iVip[ MAXPLAYERS + 1 ][ g_Type ];
new bool:g_bWasLoad[ MAXPLAYERS + 1 ];
new g_sSQLVaultName[] = "VipTest";
new SQLVault:g_hVault;
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR );
register_clcmd( "say /testuj_vipa", "cmdTestVip" );
g_hVault = sqlv_open_local( g_sSQLVaultName );
sqlv_init_ex( g_hVault );
sqlv_connect( g_hVault );
// Add your code here...
}
public plugin_end()
{
sqlv_disconnect( g_hVault );
}
public client_connect( id )
{
g_bWasLoad[ id ] = false;
g_iVip[ id ][ USED ] = 0;
g_iVip[ id ][ TIME ] = 0;
LoadData( id );
}
public client_putinserver( id )
{
_Check( id );
}
public client_disconnect( id )
{
SaveData( id );
g_bWasLoad[ id ] = false;
g_iVip[ id ][ USED ] = 0;
g_iVip[ id ][ TIME ] = 0;
}
public cmdTestVip( id )
{
_Check( id );
if( g_iVip[ id ][ TIME ] )
{
client_print( id, print_chat, "*** Testujesz aktualnie VIP'a, zostalo Ci %d sekund! ***", g_iVip[ id ][ TIME ] - get_systime() );
}
else
{
if( g_iVip[ id ][ USED ] )
{
client_print( id, print_chat, "*** Testowales juz VIP'a, teraz musisz go kupic! ***" );
}
else
{
g_iVip[ id ][ USED ] = 1;
g_iVip[ id ][ TIME ] = get_systime() + 86400;
client_print( id, print_chat, "*** Testujesz VIP'a przez %d sekund! ***", g_iVip[ id ][ TIME ] - get_systime() );
set_user_flags( id, get_user_flags( id ) | VIP_FLAG );
}
}
}
public _Check( id )
{
if( g_iVip[ id ][ TIME ] )
{
if( get_systime() > g_iVip[ id ][ TIME ] )
{
g_iVip[ id ][ TIME ] = 0;
remove_user_flags( id, VIP_FLAG );
client_print( id, print_chat, "*** Czas twojego testowego vipa sie skonczyl! ***" );
SaveData( id );
}
}
}
public SaveData( id )
{
if( is_user_connected( id ) )
{
if( g_bWasLoad[ id ] )
{
static sSteamID[ 32 ];
get_user_authid( id, sSteamID, sizeof ( sSteamID ) - 1 );
sqlv_set_num_ex( g_hVault, sSteamID, "used", g_iVip[ id ][ USED ] );
sqlv_set_num_ex( g_hVault, sSteamID, "time", g_iVip[ id ][ TIME ] );
}
else
{
LoadData( id );
}
}
}
public LoadData( id )
{
if( is_user_connected( id ) )
{
if( !g_bWasLoad[ id ] )
g_bWasLoad[ id ] = true;
static sSteamID[ 32 ];
get_user_authid( id, sSteamID, sizeof ( sSteamID ) - 1 );
g_iVip[ id ][ USED ] = sqlv_get_num_ex( g_hVault, sSteamID, "used" );
g_iVip[ id ][ TIME ] = sqlv_get_num_ex( g_hVault, sSteamID, "time" );
}
}sqlvault.inc można pobrać tutaj.
Użytkownik maselo edytował ten post 16.04.2012 23:05
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#45
Napisano 16.04.2012 11:18
#46
Napisano 16.04.2012 12:50
g_iVip[ id ][ TIME ] = get_systime() + 86400;i zamieniasz na
g_iVip[ id ][ TIME ] = get_systime() + 2400;
| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |
| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB | PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 | Headphones: HyperX HX Cloud Black | Display: Triple LG 24MP67VQ-P |
TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały
#47
Napisano 16.04.2012 20:23
ten twoj nie dziala, bo jak ktos vipa bierze to mu pokazuje masz vipa jeszcze przez 1888888882 sec tzn bylo inne liczby ale tyle bylo. To chyba za duzo? a ustawilem na 40 min
#48
Napisano 16.04.2012 21:07
client_print( id, print_chat, "*** Testujesz VIP'a przez %d sekund! ***", g_iVip[ id ][ TIME ] );
na
client_print( id, print_chat, "*** Testujesz VIP'a przez %d sekund! ***", g_iVip[ id ][ TIME ] - get_systime());co do błędów to jest jeden wbijasz vip ma sie skonczyc za 1 minute a po minucie masz go do reconnecta dodaj w putinserver warunek
jesli czas vipa mniejszy niz czas rundy to wykonaj taska za czas_vipa sekund dla funkcji check
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#49
Napisano 16.04.2012 23:04
To jest napisane kiedy się kończy w czasie linuxowym, napisałem że zmieniać tego na godziny i takie tam nie chce mi się, jakbym miał publikować, to by się zrobiło@maselo ten twoj nie dziala, bo jak ktos vipa bierze to mu pokazuje masz vipa jeszcze przez 1888888882 sec tzn bylo inne liczby ale tyle bylo. To chyba za duzo? a ustawilem na 40 min
To nie błędy, tak miało raczej być, akurat kod zaczerpnąłem ze swojego pluginu gdzie "coś" się dostawało na tydzień, więc reconnect 1+/- to dla mnie nie ma różnicy.client_print( id, print_chat, "*** Testujesz VIP'a przez %d sekund! ***", g_iVip[ id ][ TIME ] );
naclient_print( id, print_chat, "*** Testujesz VIP'a przez %d sekund! ***", g_iVip[ id ][ TIME ] - get_systime());co do błędów to jest jeden wbijasz vip ma sie skonczyc za 1 minute a po minucie masz go do reconnecta dodaj w putinserver warunek
jesli czas vipa mniejszy niz czas rundy to wykonaj taska za czas_vipa sekund dla funkcji check
Użytkownik maselo edytował ten post 17.04.2012 00:11
jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook
na pewno jakoś C się odwdzięczę!
#50
Napisano 17.04.2012 13:25
Jestem zielony, sooorki
#52
Napisano 29.05.2012 16:45
| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |
| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB | PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 | Headphones: HyperX HX Cloud Black | Display: Triple LG 24MP67VQ-P |
TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały
#53
Napisano 29.05.2012 17:17
If you can dream it, you can do it.
#54
Napisano 29.05.2012 17:59
| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |
| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB | PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 | Headphones: HyperX HX Cloud Black | Display: Triple LG 24MP67VQ-P |
TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały
#55
Napisano 03.07.2012 17:28
L 07/03/2012 - 18:19:38: String formatted incorrectly - parameter 6 (total 5)
L 07/03/2012 - 18:19:38: [AMXX] Displaying debug trace (plugin "Testuj_Vipa.amxx")
L 07/03/2012 - 18:19:38: [AMXX] Run time error 25: parameter error
L 07/03/2012 - 18:19:38: [AMXX] [0] colorchat.inc::ColorChat (line 51)
L 07/03/2012 - 18:19:38: [AMXX] [1] Testuj_Vipa_638690.sma::reklama (line 168)
Linia 51
set_task(1.0,"sprawdz",id,_,_,"b")
Linia 168
ColorChat(id, RED, "%s^x01%s Chcesz miec testowego vipa przez ^x04%s ^x01 godziny ? napisz ^x04/testuj_vipa^x01, i sprawdz co on posiada !",prefix,get_pcvar_num(czas))
może ktoś coś poradzić
Po za tym przy testach zauważyłem że nie zawsze się ładują wszystkim vipy i po wpisaniu na nowo testuj_vipa czas jest zerowany i na nowo na licza czas pozostaly, zapis mam na nick.
#56
Gość_21977_*
Napisano 03.07.2012 17:54
#57
Napisano 29.10.2012 18:57
ColorChat(id, RED, "%s^x01 Chcesz miec testowego vipa przez ^x04%s ^x01 godziny ? napisz ^x04/testuj_vipa^x01, i sprawdz co on posiada !",prefix,get_pcvar_num(czas))
na
ColorChat(id, RED, "%s^x01 Chcesz miec testowego vipa przez ^x04%i ^x01 godziny ? napisz ^x04/testuj_vipa^x01, i sprawdz co on posiada !",prefix,get_pcvar_num(czas))
Bo przy s nie będzie wyświetlać (w informacji) na ile godzin jest VIP.
#58
Napisano 29.08.2013 22:05
#60
Napisano 05.12.2013 14:01
Jeżeli dodam 0.30 bedzię działał półgoddziny ?
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod













