Raised This Month: $51 Target: $400
 12% 

problem


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
lexzor
Veteran Member
Join Date: Nov 2020
Old 12-11-2020 , 09:08   problem
Reply With Quote #1

hi guys. i have this plugin. sometimes, when i scan a player and he leave, he get banned. but after this, when a player leave server, he get banned too.

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <ColorChat>
#include <nvault>
#include <hamsandwich>

#define PLUGIN "WarGods"
#define VERSION "3.0"
#define AUTHOR "lexzor"
#define ADMIN_FLAG ADMIN_LEVEL_D

new const tag[] = "JoiNET"
new const reason[] = "Leaving while was under a WarGods request"
new bool:Scanning[32]
new 
scanned[10]
new 
iTeam[32]

new 
SyncHudMessage;
new 
message[256]

new 
vaultdata[256]    

new const 
nVaultName[] = "wargods"
new nVault

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("amx_scan""scan")
    
    
register_clcmd("amx_clean""clean")
    
    
register_clcmd("amx_info""infowargods")
    
    
register_clcmd("amx_resetscans""resetscans")
    
    
register_clcmd("amx_getscans""getscans")
    
    
SyncHudMessage CreateHudSyncObj( );
    
    
nVault nvault_open(nVaultName)
    
    if ( 
nVault == INVALID_HANDLE )
        
set_fail_state("[WARGODS] NVault file can't be opened!")
    
}


public 
scan(id){
    
    if(
get_user_flags(id) & ADMIN_FLAG){
        
        new 
arg[32]
        
        
read_argv(1argcharsmax(arg))
        
        new 
player cmd_target(idarg2)
        
        if (
player){
            
            new 
aName[32]
            
            new 
pName[32]
            
            
get_user_name(idaNamecharsmax(aName))
            
            
get_user_name(playerpNamecharsmax(pName))
            
            
Scanning[player] = true
            
            ColorChat
(0GREEN"^x04[%s]^x01 Admin^x04 %s^x01 is requesting an WarGods from^x04 %s^x01!"tagaNamepName)
            
            
set_task1.0"hudmsg"player__"b"); 
            
            
iTeam[player] = get_user_team(player)
            
            if(
is_user_alive(player))            
                
user_kill(player)
            
            
cs_set_user_team(playerCS_TEAM_SPECTATOR)
            
            
            } else if (!
player){
            
            
ColorChat(idGREEN"^x04[%s]^x01 Player is not online!"tag)
            
        }
        
    }
}

public 
clean(id){
    
    if(
get_user_flags(id) & ADMIN_FLAG){
        
        new 
arg[32]
        
        
read_argv(1argcharsmax(arg))
        
        new 
player cmd_target(idarg2)
        
        if(
player && Scanning[player]){
            
            new 
AuthID[MAX_PLAYERS 1][34]
            
            new 
aName[32], pName[32], szScanned[10], day[10], month[10], year[10], hour[10], minute[10], seconds[10]
            
            
get_time("%d"daycharsmax(day))
            
            
get_time("%m"monthcharsmax(month))
            
            
get_time("%Y"yearcharsmax(year))
            
            
get_time("%H"hourcharsmax(hour))
            
            
get_time("%M"minutecharsmax(minute))
            
            
get_time("%S"secondscharsmax(seconds))
            
            
Scanning[player] = false
            
            
switch(iTeam[player]){
                
                case 
1cs_set_user_team(playerCS_TEAM_T)
                    
                case 
2cs_set_user_team(playerCS_TEAM_CT)
                    
            }
            
            
remove_task(player)
            
            
get_user_name(playerpNamecharsmax(pName))
            
            
get_user_name(idaNamecharsmax(aName))
            
            
get_user_authid(playerAuthID[player], charsmax(AuthID[]))
            
            
nvault_get(nVaultAuthID[player], vaultdatacharsmax(vaultdata))
            
            
replace_all(vaultdatacharsmax(vaultdata), "#"" ")
            
            
parse(vaultdataszScannedcharsmax(szScanned))
            
            if(
containi(aName" "))
                
replace_all(aNamecharsmax(aName), " ""@")
            
            
scanned[player] = str_to_num(szScanned)
            
            
scanned[player]++    
            
            
formatex(vaultdatacharsmax(vaultdata), "%i#%s#%s#%s#%s#%s#%s#%s"scanned[player], daymonthyearhourminutesecondsaName)
            
            
nvault_set(nVaultAuthID[player], vaultdata)
            
            
ColorChat(0GREEN"^x04[%s]^x01 Player^x04 %s^x01 is clean and he has been scanned^x04 %i times^x01!"tagpNamescanned[player])
            
            } else if (
player && !Scanning[player]){
            
            new 
nonscanned[32]
            
            
get_user_name(playernonscannedcharsmax(nonscanned))
            
            
ColorChat(idGREEN"^x04[%s]^x01 Player^x04 %s^x01 was not asked for a WarGods!"tagnonscanned)
            
            
            } else if (!
player){
            
            
ColorChat(idGREEN"^x04[%s]^x01 Player is not online!"tag)
            
        }
        
    }
    
}



public 
infowargods(id){
    
    if(
get_user_flags(id) & ADMIN_FLAG){
        
        new 
arg[32]
        
        
read_argv(1argcharsmax(arg))
        
        new 
player cmd_target(idarg2)
        
        if (
player){
            
            new 
AuthID[MAX_PLAYERS 1][34]
            
            
get_user_authid(playerAuthID[player], charsmax(AuthID[]))
            
            new 
pName[32], szScanned[32], adminname[10], day[10], month[10], year[10], hour[10], minute[10], seconds[10]
            
            
nvault_get(nVaultAuthID[player], vaultdatacharsmax(vaultdata))            
            
            
replace_all(vaultdatacharsmax(vaultdata), "#"" ")
            
            
parse(vaultdataszScannedcharsmax(szScanned), daycharsmax(day), monthcharsmax(month), yearcharsmax(year), hourcharsmax(hour), minutecharsmax(minute), secondscharsmax(seconds), adminnamecharsmax(adminname))
            
            if(
containi(adminname"@"))
                
replace_all(adminnamecharsmax(adminname), "@"" ")
            
            
szScanned[player] = str_to_num(vaultdata)
            
            
get_user_name(playerpNamecharsmax(pName))
            
            if (
szScanned[player] > 0){
                
                
ColorChat(idGREEN"^x04[%s]^x01 Player^x04 %s^x01 has been scanned^x04 %i times^x01!"tagpNameszScanned[player])
                
                
ColorChat(idGREEN"^x04[%s]^x01 Last scan has been made by admin:^x04 %s^x01.",tagadminname)
                
                
ColorChat(idGREEN"^x04[%s]^x01 Last scan data:^x04 %s^x01.^x04%s^x01.^x04%s^x01 at^x04 %s^x01:^x04%s^x01:%^x04%s^x01."tagdaymonthyearhourminuteseconds)
                
                } else if (
szScanned[player] == ){
                
                
ColorChat(idGREEN"^x04[%s]^x01 Player^x04 %s^x01 has not been scanned!"tagpName)
                
            }
            
            } else if ( !
player ){
            
            
ColorChat(idGREEN"^x04[%s]^x01 Player is not online!"tag)
            
        }
        
    }
    
}

public 
hudmsg(id){
    
    if (
Scanning[id] == true){
        
        new 
name2[32]
        
        
get_user_name(idname2charsmax(name2))
        
        
formatex(messagecharsmax(message), "Good luck, %s!^nYou have to do an WarGods and show it to our admin.^nIf you leave you will be permanently banned."name2)
        
        
set_hudmessage25500, -1.0 , -1.000.01.00.10.1, -);
        
        
ShowSyncHudMsgidSyncHudMessagemessage );
        
    }
    
}

public 
client_disconnected(id){
    
    if (
Scanning[id] == true){
        
        new 
name[32]
        
        new 
AuthID[MAX_PLAYERS 1][34]
        
        
get_user_authid(idAuthID[id], charsmax(AuthID[]))
        
        
get_user_name(idnamecharsmax(name))
        
        
remove_task(id)
        
        
ColorChat(0GREEN"^x03[%s]^x01 Player^x03 %s^x01 disconnected during a^x03 WarGods request^x01 and^x03 he was banned^x01 for^x03 2 days^x01!"tagname)
        
        
ColorChat(0GREEN"^x03[%s]^x01 SteamID:^x03 %s^x01."tagAuthID[id])
        
        
server_cmd("amx_addban ^"%s^" ^"%s^" 2880 ^"%s^""name[id], AuthID[id], reason)
        
    } 
    
}

public 
resetscans(id){
    
    if( 
get_user_flags(id) & ADMIN_IMMUNITY ){
        
        new 
arg[32]
        
        
read_argv(1argcharsmax(arg))
        
        new 
player cmd_target(idarg2)
        
        if(
player){
            
            new 
name[32]
            
            new 
AuthID[MAX_PLAYERS 1][34]
            
            
get_user_authid(playerAuthID[id], charsmax(AuthID[]))
            
            
get_user_name(playernamecharsmax(name))
            
            
nvault_remove(nVaultAuthID[id])
            
            
ColorChat(idGREEN"^x04[%s]^x01 Data of player^x04 %s^x01 has been reseted!"tagname)
            
            } else if (!
player){
            
            
ColorChat(idGREEN"^x04[%s]^x01 Player is not online!"tag)
            
        }
        
    } 
    
}

public 
getscans(id){
    
    if(
get_user_flags(id) & ADMIN_FLAG){
        
        new 
arg[32]
        
        
read_argv(1argcharsmax(arg))
        
        new 
szScannedadminname[10], day[10], month[10], year[10], hour[10], minute[10], seconds[10]
        
        
nvault_get(nVaultargvaultdatacharsmax(vaultdata))            
        
        
replace_all(vaultdatacharsmax(vaultdata), "#"" ")
        
        
parse(vaultdataszScannedcharsmax(szScanned), daycharsmax(day), monthcharsmax(month), yearcharsmax(year), hourcharsmax(hour), minutecharsmax(minute), secondscharsmax(seconds), adminnamecharsmax(adminname))
        
        if(
containi(adminname"@"))
            
replace_all(adminnamecharsmax(adminname), "@"" ")
        
        
szScanned str_to_num(vaultdata)

        
        if (
szScanned 0){
            
            
ColorChat(idGREEN"^x04[%s]^x01 SteamID^x04 %s^x01 has been scanned^x04 %i times^x01!"tagargszScanned)
            
            
ColorChat(idGREEN"^x04[%s]^x01 Last scan has been made by admin:^x04 %s^x01.",tagadminname)
            
            
ColorChat(idGREEN"^x04[%s]^x01 Last scan data:^x04 %s^x01.^x04%s^x01.^x04%s^x01 at^x04 %s^x01:^x04%s^x01:%^x04%s^x01."tagdaymonthyearhourminuteseconds)
            
            } else if (
szScanned == ){
            
            
ColorChat(idGREEN"^x04[%s]^x01 SteamID^x04 %s^x01 has not been scanned!"tagarg)
            
        }
        
    }
    

also, can u guys give me some advice about how can i improve and optimize the code above and my scripting skiils?
lexzor is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 12-11-2020 , 18:37   Re: problem
Reply With Quote #2

bro, you are litteraly banning the player when you're scanning him... If you scan & then player leaves, he gets banned. what do you think this means?

PHP Code:
public client_disconnected(id){
    
    if (
Scanning[id] == true){
        
        new 
name[32]
        
        new 
AuthID[MAX_PLAYERS 1][34]
        
        
get_user_authid(idAuthID[id], charsmax(AuthID[]))
        
        
get_user_name(idnamecharsmax(name))
        
        
remove_task(id)
        
        
ColorChat(0GREEN"^x03[%s]^x01 Player^x03 %s^x01 disconnected during a^x03 WarGods request^x01 and^x03 he was banned^x01 for^x03 2 days^x01!"tagname)
        
        
ColorChat(0GREEN"^x03[%s]^x01 SteamID:^x03 %s^x01."tagAuthID[id])
        
        
server_cmd("amx_addban ^"%s^" ^"%s^" 2880 ^"%s^""name[id], AuthID[id], reason)
        
    } 
    

__________________

Last edited by Napoleon_be; 12-11-2020 at 18:37.
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
Natsheh
Veteran Member
Join Date: Sep 2012
Old 12-11-2020 , 19:58   Re: problem
Reply With Quote #3

you have to use the command amx_clean on the player before he leaves otherwise he get banned.
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !

Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
lexzor
Veteran Member
Join Date: Nov 2020
Old 12-12-2020 , 06:34   Re: problem
Reply With Quote #4

Yea, i understand what i did there. I want that the plugin ban players who leaves under amx_scan command, but sometimes, when this happens. other players get banned when they leave. a person from another scripting forum told me that all i did there is wrong and this is the correct version of plugin.

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>

    #if AMXX_VERSION_NUM < 183
        #include <ColorChat>
        #if !defined MAX_PLAYERS
            #define MAX_PLAYERS 32
        #endif
    #endif

#pragma tabsize 0

//#define BRUTE

static const    tag[] = "JoiNET",
        
reason[] = "Leaving while was under a WarGods request",
        
nVaultName[] = "wargods",
        
        
WGC_PID 666,
        
        
TARGET_ARG CMDTARGET_NO_BOTS,
        
ADMIN_FLAG ADMIN_LEVEL_D,
        
MINUTE_TO_DAYS 2,
        
BAN_TIME 2880,
        
        
PLUGIN[] = "WarGods",
        
VERSION[] = "3.0",
        
AUTHOR[] = "lexzor"
        
new bool:Scanning[MAX_PLAYERS+1],scanned[MAX_PLAYERS+1],CsTeams:iTeam[MAX_PLAYERS+1],SyncHudMessage,vaultdata[256],nVault,g_Nick[MAX_PLAYERS+1][33],g_AuthID[MAX_PLAYERS+1][35]

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
nVault nvault_open(nVaultName)
    if ( 
nVault == INVALID_HANDLE )    set_fail_state("[WARGODS] NVault file can't be opened!")
    
    
register_clcmd("amx_scan""scan"ADMIN_FLAG)
    
register_clcmd("amx_clean""clean",ADMIN_FLAG)
    
register_clcmd("amx_info""infowargods",ADMIN_FLAG)
    
register_clcmd("amx_resetscans""resetscans",ADMIN_FLAG)
    
    
SyncHudMessage CreateHudSyncObj( );
}

public 
plugin_end()    if ( nVault != INVALID_HANDLE )    nvault_close(nVault)

public 
client_authorized(id){
    
get_user_name(id,g_Nick[id],charsmax(g_Nick[]))
    
get_user_authid(id,g_AuthID[id],charsmax(g_AuthID[]))
}

public 
client_putinserver(id){
    if(
is_user_bot(id)||is_user_hltv(id)||!is_user_connected(id))    return
    
    
Scanning[id]=false
    scanned
[id]=0
    iTeam
[id]=CS_TEAM_UNASSIGNED
}

#if AMXX_VERSION_NUM < 183
public client_disconnect(id){
#else
public client_disconnected(id){
#endif
    
if (Scanning[id]){
        
client_print_color(0,id"^3[%s]^3 %s^1 disconnected during a^4 WarGods request^1 and^4 he was banned^1 for^4 %d day%s^1!"tagg_Nick[id],MINUTE_TO_DAYS,MINUTE_TO_DAYS==1?"":"s")
        
client_print_color(0,id"^3[%s]^1 SteamID:^3 %s^1."tagg_AuthID[id])
        
server_cmd("amx_addban ^"%s^" ^"%s^" %d ^"%s^""g_Nick[id], g_AuthID[id], BAN_TIMEreason)
    }
    
    if(
task_exists(id+WGC_PID))    remove_task(id+WGC_PID)
    
Scanning[id]=false
    scanned
[id]=0
    iTeam
[id]=CS_TEAM_UNASSIGNED
}

public 
scan(id,level,cid){
    if(!
cmd_access(id,level,cid,1))    return 1
    
static arg[35];read_argv(1argcharsmax(arg))
    static 
playerplayer cmd_target(idargTARGET_ARG)
    if (
player&&is_user_connected(player)){
        
Scanning[player] = true
        
        client_print_color
(0,id"^4[%s]^3 %s^1 is requesting an WarGods from^4 %s^1!"tagg_Nick[id], g_Nick[player])
        
        
iTeam[player] = cs_get_user_team(player)
        
        if(
is_user_alive(player))    user_silentkill(player)
        
        
cs_set_user_team(playerCS_TEAM_SPECTATOR)
        
        
set_task1.0"hudmsg"player+WGC_PID, .flags"b" ); 
    } else    
client_print_color(id,print_team_default"^4[%s]^1 Player is not online!"tag)
    
    return 
1
}
public 
hudmsg(id){
    
id-=WGC_PID
    
if(!Scanning[id]||!is_user_connected(id)){
        
remove_task(id)
        return
    }
    static 
message[250]
    
formatex(messagecharsmax(message), "Good luck, %s!^nYou have to do an WarGods and show it to our admin.^nIf you leave you will be banned 2 days."g_Nick[id])
    
set_hudmessage25500, -1.0 , -1.000.01.00.10.1, -);
    
ShowSyncHudMsgidSyncHudMessagemessage );
}

public 
clean(id,level,cid){
    if(!
cmd_access(id,level,cid,1))    return 1
    
static arg[33];read_argv(1argcharsmax(arg))
    static 
playerplayer cmd_target(idargTARGET_ARG)
    if (!
player||!is_user_connected(player)){
        
client_print_color(id,print_team_default"^4[%s]^1 Player is not online!"tag)
        return 
1
    
}
    if (!
Scanning[player]){
        
client_print_color(id,player"^4[%s]^3 %s^1 was not asked for a WarGods!"tagg_Nick[player])
        return 
1
    
}
    
    static 
hr,mine,se,yr,mo,dyszScanned[10]
    
time(hr,mine,se)
    
date(yr,mo,dy)
    
    
Scanning[player] = false
    
    
switch(iTeam[player]){
        case 
CS_TEAM_Tcs_set_user_team(playerCS_TEAM_T)
        case 
CS_TEAM_CTcs_set_user_team(playerCS_TEAM_CT)
    }
    
    if(
task_exists(player+WGC_PID))    remove_task(player+WGC_PID)
    
    static 
iTS
    
if(nvault_lookup(nVaultg_Nick[player], vaultdatacharsmax(vaultdata),iTS)){
        
parse(vaultdataszScannedcharsmax(szScanned))
        
scanned[player] = str_to_num(szScanned)
        
scanned[player]++
    }    else    
scanned[player]=0
    
    formatex
(vaultdatacharsmax(vaultdata), "^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%s^""scanned[player], dymoyrhrmineseg_Nick[id])
    
nvault_set(nVaultg_Nick[player], vaultdata)
    
    
client_print_color(0,player"^4[%s]^3 %s^1 is clean and he has been scanned^4 %d time%s^1!"tagg_Nick[player], scanned[player],scanned[player]==1?"":"s")
    
    return 
1
}

public 
infowargods(id,level,cid){
    if(!
cmd_access(id,level,cid,1))    return 1
    
static arg[35]
    
read_argv(1argcharsmax(arg))
    static 
playerplayer cmd_target(idargTARGET_ARG)
    if ( !
player ){
        
client_print_color(id,print_team_default"^4[%s]^1 Player is not online!"tag)
        return 
1
    
}
    
    static 
szScanned[10], adminname[33], day[10], month[10], year[10], hour[10], minute[10], seconds[10],iTS,
                
lAN[33], lDYlMOlYRlHRlMNlSE
    
if(nvault_lookup(nVaultg_Nick[player], vaultdatacharsmax(vaultdata),iTS)){
        
parse(vaultdataszScannedcharsmax(szScanned), daycharsmax(day), monthcharsmax(month), yearcharsmax(year), hourcharsmax(hour), minutecharsmax(minute), secondscharsmax(seconds), adminnamecharsmax(adminname))
        
scanned[player] = str_to_num(szScanned)
        
lDY=str_to_num(day)
        
lMO=str_to_num(month)
        
lYR=str_to_num(year)
        
lHR=str_to_num(hour)
        
lMN=str_to_num(minute)
        
lSE=str_to_num(seconds)
        
copy(lAN,charsmax(lAN),adminname)
    } else{
        
client_print_color(id,print_team_default"^4[%s]^1 Player is not nvault!"tag)
        return 
1
    
}
    
    if (
scanned[player] > 0){
        
client_print_color(id,player"^4[%s]^3 %s^1 has been scanned^4 %d time%s^1!"tagg_Nick[player], scanned[player],scanned[player]==1?"":"s")
        
client_print_color(id,print_team_default"^4[%s]^1 Last scan has been made by admin:^4 %s^1.",taglAN)
        
client_print_color(id,print_team_default"^4[%s]^1 Last scan data:^4 %d^1.^4%d^1.^4%d^1 at^4 %d^1:^4%d^1:%^4%d^1."taglDYlMOlYRlHRlMNlSE)
    } else    
client_print_color(id,player"^4[%s]^3 %s^1 has not been scanned!"tagg_Nick[player])
    
    return 
1
}

public 
resetscans(id,level,cid){
    if(!
cmd_access(id,level,cid,1))    return 1
    
static arg[35];read_argv(1argcharsmax(arg))
    static 
playerplayer cmd_target(idargTARGET_ARG)
    if (!
player){
        
client_print_color(id,print_team_default"^4[%s]^1 Player is not online!"tag)
        return 
1
    
}
    
    
#if defined BRUTE
        
if(!nvault_get(nVault,g_Nick[player])){
            
client_print_color(id,print_team_default"^4[%s]^1 Player is not in nvault!"taag)
            return 
1
        
}
    
#endif
    
    
nvault_remove(nVaultg_Nick[player])
    
client_print_color(id,player"^4[%s]^1 Data of^3 %s^1 has been reseted!"tagg_Nick[player])
    
    return 
1

is there a big difference between that 2 codes ?

Last edited by lexzor; 12-12-2020 at 06:36.
lexzor is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 12-12-2020 , 18:02   Re: problem
Reply With Quote #5

It looks like an entire re-write of the plugin. I don't see anything malicious in it though. It's got some poor formatting and other minor things but these won't affect the functionality.
__________________
fysiks is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 12-12-2020 , 18:55   Re: problem
Reply With Quote #6

you might wanna try reseting variables upon disconnect etc...
__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
lexzor
Veteran Member
Join Date: Nov 2020
Old 12-12-2020 , 18:56   Re: problem
Reply With Quote #7

yes, i know that code is better than mine, but i really don' understand why he used just static, why he used WCD_PID and why used client_authorized for name and authid, client_putinserver to give default definitions of variables (srry for bad eng)
lexzor is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 12-13-2020 , 03:39   Re: problem
Reply With Quote #8

Quote:
Originally Posted by lexzor View Post
yes, i know that code is better than mine, but i really don' understand why he used just static, why he used WCD_PID and why used client_authorized for name and authid, client_putinserver to give default definitions of variables (srry for bad eng)
  • static doesn't mean anything for global variables, it's the same as new. The difference comes in when static is used in a function.
  • WGC_PID is used to make that particular set task unique so that you can have multiple set tasks per player so that remove_task() will only remove a specific task and not all tasks for that player. If you only have one set_task() for each player, it's not required.
  • client_authorized() is when a player gets their SteamID set. If you need a player's SteamID when they connect, you must use this because they might not have a valid SteamID in client_connect() or client_putinserver().
  • For resetting a player's variables, I don't think it matters if it's in client_connect() or client_putinserver(). I'm not sure why the if statement is in client_putinserver(), seems unnecessary.
__________________

Last edited by fysiks; 12-13-2020 at 03:39.
fysiks is offline
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 07:50.


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