AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Code Snippets/Tutorials (https://forums.alliedmods.net/forumdisplay.php?f=83)
-   -   [INC] Message Stocks (https://forums.alliedmods.net/showthread.php?t=310276)

Celena Luna 07-03-2020 03:16

Re: [INC] Message Stocks
 
Quote:

Originally Posted by condoriano90 (Post 2707818)
What about other glow fx like glowshell for example?

impossible with original client

cpt.nemo 08-06-2020 13:21

Re: [INC] Message Stocks
 
Quote:

Originally Posted by OciXCrom (Post 2612496)
Sure.

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <fakemeta>
#include <fun>
#include <msgstocks>

#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif

#define rnd random(256)
#pragma unused lightning

new pos1[3] = {3582048, -53}, ent1
new pos2[3] = {3902527, -82}, ent2
new beamrecmenupageunusedexplosionsmoke 
new lightningballflameglowbubbles

public plugin_precache()
{
    
beam precache_model("sprites/laserbeam.spr")
    
explosion precache_model("sprites/zerogxplode.spr")
    
smoke precache_model("sprites/steam1.spr")
    
lightning precache_model("sprites/lgtning.spr")
    
ball precache_model("models/xtcs/ball.mdl")
    
flame precache_model("sprites/flame.spr")
    
glow precache_model("sprites/glow01.spr")
    
bubbles precache_model("sprites/bubble.spr")
}

public 
act(id)
{
    
menu_display(idmenuclamp(page, .max menu_pages(menu) - 1))
    return 
PLUGIN_HANDLED
}

public 
plugin_init()
{
    
register_plugin("TE_TESTING""1.0""OciXCrom")
    
register_concmd("act""act")
    
register_concmd("set""set")
    
register_clcmd("set1""set1")
    
register_clcmd("set2""set2")
    
register_clcmd("switch""switchit")

    
menu menu_create("Temporary entity effects list""menuhandler")
    
menu_additem(menu"te_create_beam_between_points")
    
menu_additem(menu"te_create_beam_from_entity")
    
menu_additem(menu"te_create_gunshot")
    
menu_additem(menu"te_create_explosion")
    
menu_additem(menu"te_create_tar_explosion")
    
menu_additem(menu"te_create_smoke")
    
menu_additem(menu"te_create_tracer")
    
menu_additem(menu"te_create_beam_between_entities")
    
menu_additem(menu"te_create_sparks")
    
menu_additem(menu"te_create_lava_splash")
    
menu_additem(menu"te_create_teleport_splash")
    
menu_additem(menu"te_create_colored_explosion")
    
menu_additem(menu"te_place_decal_from_bsp_file")
    
menu_additem(menu"te_create_implosion")
    
menu_additem(menu"te_create_model_trail")
    
menu_additem(menu"te_display_additive_sprite")
    
menu_additem(menu"te_create_beam_sprite")
    
menu_additem(menu"te_create_beam_ring")
    
menu_additem(menu"te_create_beam_disk")
    
menu_additem(menu"te_create_beam_cylinder")
    
menu_additem(menu"te_create_following_beam")
    
menu_additem(menu"te_display_glow_sprite")
    
menu_additem(menu"te_create_beam_ring_between_entities")
    
menu_additem(menu"te_create_tracer_shower")
    
menu_additem(menu"te_create_dynamic_light")
    
menu_additem(menu"te_create_entity_light")
    
menu_additem(menu"te_draw_line")
    
menu_additem(menu"te_create_box")
    
menu_additem(menu"te_remove_all_beams_from_entity")
    
menu_additem(menu"te_create_large_funnel")
    
menu_additem(menu"te_create_bloodstream")
    
menu_additem(menu"te_draw_blood_line")
    
menu_additem(menu"te_spray_blood")
    
menu_additem(menu"te_place_brush_decal")
    
menu_additem(menu"te_create_bouncing_model")
    
menu_additem(menu"te_create_explode_model")
    
menu_additem(menu"te_create_break_model")
    
menu_additem(menu"te_place_gunshot_decal")
    
menu_additem(menu"te_create_sprite_spray")
    
menu_additem(menu"te_create_armor_ricochet")
    
menu_additem(menu"te_place_player_spray")
    
menu_additem(menu"te_create_bubble_box")
    
menu_additem(menu"te_create_bubble_line")
    
menu_additem(menu"te_display_falling_sprite")
    
menu_additem(menu"te_place_world_decal")
    
menu_additem(menu"te_create_projectile")
    
menu_additem(menu"te_create_sprite_shower")
    
menu_additem(menu"te_emit_sprite_from_player")
    
menu_additem(menu"te_create_particle_burst")
    
menu_additem(menu"te_create_fire_field")
    
menu_additem(menu"te_attach_model_to_player")
    
menu_additem(menu"te_remove_all_player_attachments")
    
menu_additem(menu"te_create_multi_gunshot")
    
menu_additem(menu"te_create_user_tracer")
    
menu_additem(menu"draw_ammo_pickup_icon")
    
menu_additem(menu"draw_weapon_pickup_icon")
    
menu_additem(menu"draw_status_icon")
    
menu_additem(menu"draw_train_controls")
    
menu_additem(menu"send_geiger_signal")
    
menu_additem(menu"hide_hud_elements")
    
menu_additem(menu"fade_user_screen")
    
menu_additem(menu"shake_user_screen")
    
menu_additem(menu"set_user_fov")
    
menu_additem(menu"cs_draw_progress_bar")
    
menu_additem(menu"cs_play_reload_sound")
    
menu_additem(menu"cs_set_hud_icon")
    
menu_additem(menu"cs_set_user_shadow")
}

public 
menuhandler(idmenuitem)
{
    if(!
is_user_connected(id))
        return

    new 
upos[3], vpos[3]
    
get_user_origin(idupos)
    
get_user_origin(idvpos3)
    
player_menu_info(idunusedunusedpage)

    switch(
item)
    {
        case 
0te_create_beam_between_points(pos1pos2beam, .rnd, .rnd, .rnd)
        case 
1te_create_beam_from_entity(ent1vposbeam, .rnd, .rnd, .rnd)
        case 
2te_create_gunshot(vpos)
        case 
3te_create_explosion(vposexplosion)
        case 
4te_create_tar_explosion(vpos)
        case 
5te_create_smoke(vpossmoke)
        case 
6te_create_tracer(uposvpos)
        case 
7te_create_beam_between_entities(ent1ent2beam, .rnd, .rnd, .rnd)
        case 
8te_create_sparks(vpos)
        case 
9te_create_lava_splash(vpos)
        case 
10te_create_teleport_splash(vpos)
        case 
11te_create_colored_explosion(vpos00)
        case 
12te_place_decal_from_bsp_file(vposrec)
        case 
13te_create_implosion(vpos)
        case 
14te_create_model_trail(uposvposball)
        case 
15te_display_additive_sprite(vposflame)
        case 
16te_create_beam_sprite(uposvposbeamflame)
        case 
17te_create_beam_ring(vposbeam, .rnd, .rnd, .rnd)
        case 
18te_create_beam_disk(vposbeam, .rnd, .rnd, .rnd)
        case 
19te_create_beam_cylinder(vposbeam, .rnd, .rnd, .rnd)
        case 
20te_create_following_beam(idbeam, .rnd, .rnd, .rnd)
        case 
21te_display_glow_sprite(vposglow)
        case 
22te_create_beam_ring_between_entities(ent1ent2beam, .rnd, .rnd, .rnd)
        case 
23te_create_tracer_shower(vpos_rnd16)
        case 
24te_create_dynamic_light(vpos, .rnd, .rnd, .rnd)
        case 
25te_create_entity_light(ent1, .rnd, .rnd, .rnd)
        case 
26te_draw_line(uposvpos, .rnd, .rnd, .rnd)
        case 
27te_create_box(uposvpos, .rnd, .rnd, .rnd)
        case 
28te_remove_all_beams_from_entity(id)
        case 
29te_create_large_funnel(vposglow)
        case 
30te_create_bloodstream(vpos, .color rnd)
        case 
31te_draw_blood_line(uposvpos)
        case 
32te_spray_blood(vpos)
        case 
33te_place_brush_decal(vposent1rec)
        case 
34te_create_bouncing_model(vposball, .bouncesound BounceSound_ShotShell)
        case 
35te_create_explode_model(vposball)
        case 
36te_create_break_model(vposball, .flags BreakModel_Flesh)
        case 
37te_place_gunshot_decal(vpos)
        case 
38te_create_sprite_spray(vposbeam)
        case 
39te_create_armor_ricochet(vpos)
        case 
40te_place_player_spray(vposid)
        case 
41te_create_bubble_box(vposvposbubbles)
        case 
42te_create_bubble_line(pos1pos2bubbles)
        case 
43te_display_falling_sprite(vposballballrndrec)
        case 
44te_place_world_decal(vposrec)
        case 
45te_create_projectile(vpos, {50,50,50}, ball)
        case 
46te_create_sprite_shower(vposflame)
        case 
47te_emit_sprite_from_player(ent1ball)
        case 
48te_create_particle_burst(vpos)
        case 
49te_create_fire_field(vposflame, .flags TEFIRE_FLAG_ALPHA)
        case 
50te_attach_model_to_player(ent1ball)
        case 
51te_remove_all_player_attachments(ent1)
        case 
52te_create_multi_gunshot(uposvpos)
        case 
53te_create_user_tracer(uposvpos2025)
        case 
54draw_ammo_pickup_icon(idrec69)
        case 
55draw_weapon_pickup_icon(idrec)
        case 
56draw_status_icon(id"d_ump45"StatusIcon_Showrndrndrnd)
        case 
57draw_train_controls(idTrainControls_Medium)
        case 
58send_geiger_signal(idrec)
        case 
59hide_hud_elements(recHideElement_Moneytrue)
        case 
60fade_user_screen(id, .rnd, .rnd, .rnd)
        case 
61shake_user_screen(id)
        case 
62set_user_fov(idrec)
        case 
63cs_draw_progress_bar(idrec)
        case 
64cs_play_reload_sound(id)
        case 
65cs_set_hud_icon(id1"d_ump45"rec42)
        case 
66cs_set_user_shadow(idrec)
    }

    new 
iname[64], unusedszunused[2]
    
menu_item_getinfo(menuitemunusedszunusedunusedinamecharsmax(iname), unused)

    
set_dhudmessage(rndrndrnd, -1.00.8500.21.00.10.1)
    
show_dhudmessage(idiname)

    if(
item != MENU_EXIT)
        
act(id)
}

public 
set(id)
{
    new 
szPlayer[32]
    
read_argv(1szPlayercharsmax(szPlayer))
    
rec str_to_num(szPlayer)
    
CromChat(id"Receiver set to &x04%i"rec)
    return 
PLUGIN_HANDLED
}

public 
set1(id)
{
    
get_user_aiming(ident1unused)

    if(
pev_valid(ent1))
        
CromChat(id"&x06Primary entity set to &x04%i"ent1)
    else
    {
        
get_user_origin(idpos13)
        
CromChat(id"&x06Primary position set at &x04%i %i %i"pos1[0], pos1[1], pos1[2])
    }

    return 
PLUGIN_HANDLED
}

public 
set2(id)
{
    
get_user_aiming(ident2unused)

    if(
pev_valid(ent2))
        
CromChat(id"&x07Secondary entity set to &x04%i"ent2)
    else
    {
        
get_user_origin(idpos23)
        
CromChat(id"&x07Secondary position set at &x04%i %i %i"pos2[0], pos2[1], pos2[2])
    }

    return 
PLUGIN_HANDLED
}

public 
switchit(id)
{
    new 
oldbeam beam
    
new oldball ball

    beam 
oldball
    ball 
oldbeam

    CromChat
(id"Switch successfull!")
    return 
PLUGIN_HANDLED


Code:

Ignore the bad coding style. The command that opens the menu is "act". Use "set1" and "set2" to change the position/entity.

Code:

// C:\Users\USER\Desktop\ReHLDS Clear Server\cstrike\addons\amxmodx\scripting\beam.sma(151) : error 017: undefined symbol "te_create_beam_ring_between_entities"
// C:\Users\USER\Desktop\ReHLDS Clear Server\cstrike\addons\amxmodx\scripting\beam.sma(151) : warning 215: expression has no effect
// C:\Users\USER\Desktop\ReHLDS Clear Server\cstrike\addons\amxmodx\scripting\beam.sma(151) : error 029: invalid expression, assumed zero
// C:\Users\USER\Desktop\ReHLDS Clear Server\cstrike\addons\amxmodx\scripting\beam.sma(151) : error 017: undefined symbol "g"
// C:\Users\USER\Desktop\ReHLDS Clear Server\cstrike\addons\amxmodx\scripting\beam.sma(151) : fatal error 107: too many error messages on one line
//

amxmodx 1.9.0

OciXCrom 08-06-2020 16:17

Re: [INC] Message Stocks
 
Some of the function names have been changed in order to be shorter.

Code:

#include <amxmodx>
#include <amxmisc>
#include <cromchat>
#include <fakemeta>
#include <fun>
#include <msgstocks>

#if AMXX_VERSION_NUM < 183
    #include <dhudmessage>
#endif

#define rnd random(256)
#pragma unused lightning

new pos1[3] = {358, 2048, -53}, ent1
new pos2[3] = {390, 2527, -82}, ent2
new beam, rec, menu, page, unused, explosion, smoke
new lightning, ball, flame, glow, bubbles

public plugin_precache()
{
    beam = precache_model("sprites/laserbeam.spr")
    explosion = precache_model("sprites/zerogxplode.spr")
    smoke = precache_model("sprites/steam1.spr")
    lightning = precache_model("sprites/lgtning.spr")
    ball = precache_model("models/xtcs/ball.mdl")
    flame = precache_model("sprites/flame.spr")
    glow = precache_model("sprites/glow01.spr")
    bubbles = precache_model("sprites/bubble.spr")
}

public act(id)
{
    menu_display(id, menu, clamp(page, .max = menu_pages(menu) - 1))
    return PLUGIN_HANDLED
}

public plugin_init()
{
    register_plugin("TE_TESTING", "1.0", "OciXCrom")
    register_concmd("act", "act")
    register_concmd("set", "set")
    register_clcmd("set1", "set1")
    register_clcmd("set2", "set2")
    register_clcmd("switch", "switchit")

    menu = menu_create("Temporary entity effects list", "menuhandler")
    menu_additem(menu, "te_create_beam_between_points")
    menu_additem(menu, "te_create_beam_from_entity")
    menu_additem(menu, "te_create_gunshot")
    menu_additem(menu, "te_create_explosion")
    menu_additem(menu, "te_create_tar_explosion")
    menu_additem(menu, "te_create_smoke")
    menu_additem(menu, "te_create_tracer")
    menu_additem(menu, "te_create_beam_between_entities")
    menu_additem(menu, "te_create_sparks")
    menu_additem(menu, "te_create_lava_splash")
    menu_additem(menu, "te_create_teleport_splash")
    menu_additem(menu, "te_create_colored_explosion")
    menu_additem(menu, "te_place_decal_from_bsp_file")
    menu_additem(menu, "te_create_implosion")
    menu_additem(menu, "te_create_model_trail")
    menu_additem(menu, "te_display_additive_sprite")
    menu_additem(menu, "te_create_beam_sprite")
    menu_additem(menu, "te_create_beam_ring")
    menu_additem(menu, "te_create_beam_disk")
    menu_additem(menu, "te_create_beam_cylinder")
    menu_additem(menu, "te_create_following_beam")
    menu_additem(menu, "te_display_glow_sprite")
    menu_additem(menu, "te_create_beam_ring_between_ent")
    menu_additem(menu, "te_create_tracer_shower")
    menu_additem(menu, "te_create_dynamic_light")
    menu_additem(menu, "te_create_entity_light")
    menu_additem(menu, "te_draw_line")
    menu_additem(menu, "te_create_box")
    menu_additem(menu, "te_remove_all_beams_from_entity")
    menu_additem(menu, "te_create_large_funnel")
    menu_additem(menu, "te_create_bloodstream")
    menu_additem(menu, "te_draw_blood_line")
    menu_additem(menu, "te_spray_blood")
    menu_additem(menu, "te_place_brush_decal")
    menu_additem(menu, "te_create_bouncing_model")
    menu_additem(menu, "te_create_explode_model")
    menu_additem(menu, "te_create_break_model")
    menu_additem(menu, "te_place_gunshot_decal")
    menu_additem(menu, "te_create_sprite_spray")
    menu_additem(menu, "te_create_armor_ricochet")
    menu_additem(menu, "te_place_player_spray")
    menu_additem(menu, "te_create_bubble_box")
    menu_additem(menu, "te_create_bubble_line")
    menu_additem(menu, "te_display_falling_sprite")
    menu_additem(menu, "te_place_world_decal")
    menu_additem(menu, "te_create_projectile")
    menu_additem(menu, "te_create_sprite_shower")
    menu_additem(menu, "te_emit_sprite_from_player")
    menu_additem(menu, "te_create_particle_burst")
    menu_additem(menu, "te_create_fire_field")
    menu_additem(menu, "te_attach_model_to_player")
    menu_additem(menu, "te_remove_player_attachments")
    menu_additem(menu, "te_create_multi_gunshot")
    menu_additem(menu, "te_create_user_tracer")
    menu_additem(menu, "draw_ammo_pickup_icon")
    menu_additem(menu, "draw_weapon_pickup_icon")
    menu_additem(menu, "draw_status_icon")
    menu_additem(menu, "draw_train_controls")
    menu_additem(menu, "send_geiger_signal")
    menu_additem(menu, "hide_hud_elements")
    menu_additem(menu, "fade_user_screen")
    menu_additem(menu, "shake_user_screen")
    menu_additem(menu, "set_user_fov")
    menu_additem(menu, "cs_draw_progress_bar")
    menu_additem(menu, "cs_play_reload_sound")
    menu_additem(menu, "cs_set_hud_icon")
    menu_additem(menu, "cs_set_user_shadow")
}

public menuhandler(id, menu, item)
{
    if(!is_user_connected(id))
        return

    new upos[3], vpos[3]
    get_user_origin(id, upos)
    get_user_origin(id, vpos, 3)
    player_menu_info(id, unused, unused, page)

    switch(item)
    {
        case 0: te_create_beam_between_points(pos1, pos2, beam, .r = rnd, .g = rnd, .b = rnd)
        case 1: te_create_beam_from_entity(ent1, vpos, beam, .r = rnd, .g = rnd, .b = rnd)
        case 2: te_create_gunshot(vpos)
        case 3: te_create_explosion(vpos, explosion)
        case 4: te_create_tar_explosion(vpos)
        case 5: te_create_smoke(vpos, smoke)
        case 6: te_create_tracer(upos, vpos)
        case 7: te_create_beam_between_entities(ent1, ent2, beam, .r = rnd, .g = rnd, .b = rnd)
        case 8: te_create_sparks(vpos)
        case 9: te_create_lava_splash(vpos)
        case 10: te_create_teleport_splash(vpos)
        case 11: te_create_colored_explosion(vpos, 0, 0)
        case 12: te_place_decal_from_bsp_file(vpos, rec)
        case 13: te_create_implosion(vpos)
        case 14: te_create_model_trail(upos, vpos, ball)
        case 15: te_display_additive_sprite(vpos, flame)
        case 16: te_create_beam_sprite(upos, vpos, beam, flame)
        case 17: te_create_beam_ring(vpos, beam, .r = rnd, .g = rnd, .b = rnd)
        case 18: te_create_beam_disk(vpos, beam, .r = rnd, .g = rnd, .b = rnd)
        case 19: te_create_beam_cylinder(vpos, beam, .r = rnd, .g = rnd, .b = rnd)
        case 20: te_create_following_beam(id, beam, .r = rnd, .g = rnd, .b = rnd)
        case 21: te_display_glow_sprite(vpos, glow)
        case 22: te_create_beam_ring_between_ent(ent1, ent2, beam, .r = rnd, .g = rnd, .b = rnd)
        case 23: te_create_tracer_shower(vpos, _, rnd, 16)
        case 24: te_create_dynamic_light(vpos, .r = rnd, .g = rnd, .b = rnd)
        case 25: te_create_entity_light(ent1, .r = rnd, .g = rnd, .b = rnd)
        case 26: te_draw_line(upos, vpos, .r = rnd, .g = rnd, .b = rnd)
        case 27: te_create_box(upos, vpos, .r = rnd, .g = rnd, .b = rnd)
        case 28: te_remove_all_beams_from_entity(id)
        case 29: te_create_large_funnel(vpos, glow)
        case 30: te_create_bloodstream(vpos, .color = rnd)
        case 31: te_draw_blood_line(upos, vpos)
        case 32: te_spray_blood(vpos)
        case 33: te_place_brush_decal(vpos, ent1, rec)
        case 34: te_create_bouncing_model(vpos, ball, .bouncesound = BounceSound_ShotShell)
        case 35: te_create_explode_model(vpos, ball)
        case 36: te_create_break_model(vpos, ball, .flags = BreakModel_Flesh)
        case 37: te_place_gunshot_decal(vpos)
        case 38: te_create_sprite_spray(vpos, beam)
        case 39: te_create_armor_ricochet(vpos)
        case 40: te_place_player_spray(vpos, id)
        case 41: te_create_bubble_box(vpos, vpos, bubbles)
        case 42: te_create_bubble_line(pos1, pos2, bubbles)
        case 43: te_display_falling_sprite(vpos, ball, ball, rnd, rec)
        case 44: te_place_world_decal(vpos, rec)
        case 45: te_create_projectile(vpos, {50,50,50}, ball)
        case 46: te_create_sprite_shower(vpos, flame)
        case 47: te_emit_sprite_from_player(ent1, ball)
        case 48: te_create_particle_burst(vpos)
        case 49: te_create_fire_field(vpos, flame, .flags = TEFIRE_FLAG_ALPHA)
        case 50: te_attach_model_to_player(ent1, ball)
        case 51: te_remove_player_attachments(ent1)
        case 52: te_create_multi_gunshot(upos, vpos)
        case 53: te_create_user_tracer(upos, vpos, 20, 2, 5)
        case 54: draw_ammo_pickup_icon(id, rec, 69)
        case 55: draw_weapon_pickup_icon(id, rec)
        case 56: draw_status_icon(id, "d_ump45", StatusIcon_Show, rnd, rnd, rnd)
        case 57: draw_train_controls(id, TrainControls_Medium)
        case 58: send_geiger_signal(id, rec)
        case 59: hide_hud_elements(rec, HideElement_Money, true)
        case 60: fade_user_screen(id, .r = rnd, .g = rnd, .b = rnd)
        case 61: shake_user_screen(id)
        case 62: set_user_fov(id, rec)
        case 63: cs_draw_progress_bar(id, rec)
        case 64: cs_play_reload_sound(id)
        case 65: cs_set_hud_icon(id, 1, "d_ump45", rec, 4, 2)
        case 66: cs_set_user_shadow(id, rec)
    }

    new iname[64], unused, szunused[2]
    menu_item_getinfo(menu, item, unused, szunused, unused, iname, charsmax(iname), unused)

    set_dhudmessage(rnd, rnd, rnd, -1.0, 0.85, 0, 0.2, 1.0, 0.1, 0.1)
    show_dhudmessage(id, iname)

    if(item != MENU_EXIT)
        act(id)
}

public set(id)
{
    new szPlayer[32]
    read_argv(1, szPlayer, charsmax(szPlayer))
    rec = str_to_num(szPlayer)
    CromChat(id, "Receiver set to &x04%i", rec)
    return PLUGIN_HANDLED
}

public set1(id)
{
    get_user_aiming(id, ent1, unused)

    if(pev_valid(ent1))
        CromChat(id, "&x06Primary entity set to &x04%i", ent1)
    else
    {
        get_user_origin(id, pos1, 3)
        CromChat(id, "&x06Primary position set at &x04%i %i %i", pos1[0], pos1[1], pos1[2])
    }

    return PLUGIN_HANDLED
}

public set2(id)
{
    get_user_aiming(id, ent2, unused)

    if(pev_valid(ent2))
        CromChat(id, "&x07Secondary entity set to &x04%i", ent2)
    else
    {
        get_user_origin(id, pos2, 3)
        CromChat(id, "&x07Secondary position set at &x04%i %i %i", pos2[0], pos2[1], pos2[2])
    }

    return PLUGIN_HANDLED
}

public switchit(id)
{
    new oldbeam = beam
    new oldball = ball

    beam = oldball
    ball = oldbeam

    CromChat(id, "Switch successfull!")
    return PLUGIN_HANDLED
}


Supremache 03-28-2022 12:28

Re: [INC] Message Stocks
 
I liked it but my comment is on the long title of stock, try to use one title for everything like set_message( iEnt, msg_type, any:...)

OciXCrom 03-28-2022 13:36

Re: [INC] Message Stocks
 
Sure I can add a shortcut like that, but it feels like overcomplicating things. In my opinion longer titles are better than unclear ones.


All times are GMT -4. The time now is 16:28.

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