Raised This Month: $ Target: $400
 0% 

Plugin Crooshair


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
AlinT
Member
Join Date: Jun 2020
Location: Romania
Old 06-28-2020 , 10:58   Plugin Crooshair
Reply With Quote #1

Greetings to the young people

Which of you is better at fixing this bug, when I choose another target from the menu in the plugin below, my bullets from the lower right loader disappear ... on the normal target it looks ok .. on the rest of the targets they don't appear how many more bullets do I have in the magazine, respectively how many bullets does the magazine have.

Thank you very much

PHP Code:
include <amxmodx>
#include <engine>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

new const SilahBilgi[27][3] = {
    {
0,0,0},
    {
12,1,4},
    {
9,52,1},
    {
5,32,5},
    {
14,1,6},
    {
6,100,7},
    {
4,90,8},
    {
13,1,9},
    {
10,120,10},
    {
7,100,11},
    {
6,100,12},
    {
4,90,14},
    {
4,90,15},
    {
6,100,16},
    {
10,120,17},
    {
10,120,19},
    {
3,200,20},
    {
5,32,21},
    {
4,90,22},
    {
10,120,23},
    {
11,2,25},
    {
8,35,26},
    {
4,90,27},
    {
2,90,28},
    {
7,100,30},
    {
0,0,29},
    {
0,0,0}
}
new 
scope[33];
new const 
sprites[6][4][64] = {
    {
"Cross Adi","Txt Yolu","Sprite Yolu","Txt Adi"},
    {
"Tinta CS:GO","sprites/tinta1.txt","sprites/tinta1.spr","tinta1"},
    {
"Tinta Fixa","sprites/tinta2.txt","sprites/tinta2.spr","tinta2"},
    {
"Tinta flusha \y(\rFnatic\y)","sprites/tinta3.txt","sprites/tinta3.spr","tinta3"},
    {
"Tinta TaZ \y(\rVirtus.Pro\y)","sprites/tinta4.txt","sprites/tinta4.spr","tinta4"},
    {
"Tinta Trainer","sprites/tinta5.txt","sprites/tinta5.spr","tinta5"}
}

new 
weapon_weapon[][] =
{
    
"weapon_aug",
    
"weapon_sg552"
}

new 
cross[33];
public 
plugin_init()
{
    
register_plugin("CS:GO Crosshair","1.1","KriTo");
    
register_event("CurWeapon","Event_CurWeapon","be","1=1");
    
register_clcmd("buyammo1","guncelle1");
    
register_clcmd("buyammo2","guncelle1");
    
register_clcmd("tinta1","FakeSwitch");
    
register_clcmd("say /tinta","crossmenu");
    
register_clcmd("say .tinta","crossmenu");

    for(new 
0sizeof weapon_weaponi++)
        
RegisterHam(Ham_Weapon_Reloadweapon_weapon[i], "fw_Weapon_Reload_Post"1)
}

public 
fw_Weapon_Reload_Post(ent)
{
    static 
id;
    
id pev(entpev_owner);
    
    if(
get_user_weapon(id) == CSW_AUG || get_user_weapon(id) == CSW_SG552)
        if(
scope[id]==1)
            
scope[id]=0;
        
    return 
HAM_HANDLED
}

/*public client_disconnected(id){
    cross[id] = 1;
}*/
public client_putinserver(id){
    
client_cmd(id"crosshair 1")
    
cross[id] = 5;
}
public 
client_PreThink(id)
{
    new 
button pev(idpev_oldbuttons);
    new 
oldbutton pev(idpev_button);
    if(
oldbutton IN_ATTACK2)
    {
        if(
button IN_ATTACK2)
            return 
PLUGIN_CONTINUE;

        new 
weapon get_user_weapon(id);
        if(
weapon == CSW_AUG || weapon == CSW_SG552)
        {
            if(
scope[id]==0)
                
scope[id]=1;
            else
                
scope[id]=0;
            
Guncelle(id);
        } else if(
weapon != CSW_AUG || weapon != CSW_SG552)
        {
            
scope[id]=0;
        }
    }
    
    return 
PLUGIN_CONTINUE;
}
public 
crossmenu(id)
{
    new 
Menu menu_create("\yCSGO.NUMESERVER.RO -> \w[\rCS:GO\w]^n\wAlegeti Tinta:","crossdevam");
    
menu_additem(Menu,"Tinta Normala","1");
    for(new 
i=1;i<sizeof(sprites);i++)
    {
        new 
Item[128],text[12];
        
formatex(Item,127,"%s",sprites[i][0]);
        
num_to_str(i+1,text,11);
        
menu_additem(Menu,Item,text);
    }
    
menu_setprop(MenuMPROP_EXITMEXIT_ALL);
    
menu_display(id,Menu,0);
}
public 
crossdevam(idmenuitem)
{

    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }

    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    new 
key str_to_num(data);
    
cross[id] = key-1;
    if(
cross[id] == 0)
    {
        
message_begin(MSG_ONEget_user_msgid("HideWeapon"),  .player=id);
        
write_byte(1<<7);
        
message_end();
    }
    
Guncelle(id);
    
client_cmd(id"lastinv;wait;wait;wait;wait;wait;wait;lastinv")

    return 
PLUGIN_HANDLED;
}
public 
guncelle1(id)
{
    
set_task(0.1,"Guncelle",id);
    return 
PLUGIN_CONTINUE;
}
public 
Guncelle(id)
{
    if(!
is_user_alive(id) || cross[id] == 0)
        return 
PLUGIN_HANDLED;
    new 
weapon get_user_weapon(id);
    if( 
weapon == CSW_AWP || weapon == CSW_SCOUT || weapon == CSW_SG550 || weapon == CSW_G3SG1 || weapon == CSW_KNIFE)
        return 
PLUGIN_CONTINUE

    
if(weapon != CSW_SG552 && weapon != CSW_AUG)
        
scope[id]=0

    
new i;
    for(
i=0;i<sizeof(SilahBilgi);i++)
    {
        new 
yeniweap SilahBilgi[i][2];
        if(
weapon == yeniweap)
        {
            break;
        } else if(
i==sizeof(SilahBilgi)-1)
        {
            return 
PLUGIN_CONTINUE;
        }
    }
    
message_begin(MSG_ONEget_user_msgid("HideWeapon"),  .player=id);
    
write_byte(1<<6);
    
message_end();

    
message_begin(MSG_ONE,get_user_msgid("WeaponList"),   .player=id);
    
write_string(sprites[cross[id]][3]);
    
write_byte(SilahBilgi[i-1][0]);
    
write_byte(SilahBilgi[i-1][1]);
    
write_byte(-1);
    
write_byte(-1);
    
write_byte(6);
    
write_byte(0);
    
write_byte(2);
    
write_byte(0);
    
message_end();

    
message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
    if(
scope[id] == 1)
        
write_byte(55);
    else
        
write_byte(89);
    
message_end();

    new 
ammo,bpammo;
    
get_user_ammo(id,weapon,ammo,bpammo);

    
message_begin(MSG_ONE,get_user_msgid("CurWeapon"),    .player=id);
    
write_byte(1);
    
write_byte(2);
    
write_byte(ammo);
    
message_end();
    if(
weapon != CSW_KNIFE) {
        
message_begin(MSG_ONE,get_user_msgid("AmmoX"),      .player=id);
        
write_byte(SilahBilgi[i-1][0]);
        
write_byte(bpammo);
        
message_end();
    }
    if(
scope[id] == 0) {
        
message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        
write_byte(90);
        
message_end();
    }

    return 
PLUGIN_HANDLED;
}
public 
FakeSwitch(const client)engclient_cmd(client,"weapon_shield");
public 
plugin_precache()
{
    for(new 
i=1;i<sizeof(sprites);i++)
    {
        
precache_generic(sprites[i][1]);
        
precache_generic(sprites[i][2]);
    }
}

public 
Event_CurWeapon(id)
{
    if(!
is_user_alive(id) || cross[id] == 0)
        return 
PLUGIN_HANDLED;
    new 
weapon read_data(2);
    if( 
weapon == CSW_AWP || weapon == CSW_SCOUT || weapon == CSW_SG550 || weapon == CSW_G3SG1)
        return 
PLUGIN_CONTINUE
    
new i;
    for(
i=0;i<sizeof(SilahBilgi);i++)
    {
        new 
yeniweap SilahBilgi[i][2];
        if(
weapon == yeniweap)
        {
            break;
        }
    }

    if(
weapon == CSW_KNIFE)
    {
        
message_begin(MSG_ONE,get_user_msgid("WeaponList"),   .player=id);
        
write_string(sprites[cross[id]][3]);
        
write_byte(-1);
        
write_byte(-1);
        
write_byte(-1);
        
write_byte(-1);
        
write_byte(0);
        
write_byte(11);
        
write_byte(2);
        
write_byte(0);
        
message_end();

        
message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        
write_byte(89);
        
message_end();

        
message_begin(MSG_ONE,get_user_msgid("CurWeapon"),    .player=id);
        
write_byte(1);
        
write_byte(2);
        
write_byte(-1);
        
message_end();

        
message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        
write_byte(90);
        
message_end();

        return 
PLUGIN_CONTINUE
    
}

    
message_begin(MSG_ONEget_user_msgid("HideWeapon"),  .player=id);
    
write_byte(1<<6);
    
message_end();

    
message_begin(MSG_ONE,get_user_msgid("WeaponList"),   .player=id);
    
write_string(sprites[cross[id]][3]);
    
write_byte(SilahBilgi[i-1][0]);
    
write_byte(SilahBilgi[i-1][1]);
    
write_byte(-1);
    
write_byte(-1);
    
write_byte(6);
    
write_byte(0);
    
write_byte(2);
    
write_byte(0);
    
message_end();

    if(
weapon != CSW_SG552 && weapon != CSW_AUG)
        
scope[id]=0

    message_begin
(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
    if(
scope[id] == 1)
        
write_byte(55);
    else
        
write_byte(89);
    
message_end();

    new 
ammo,bpammo;
    
get_user_ammo(id,weapon,ammo,bpammo);

    
message_begin(MSG_ONE,get_user_msgid("CurWeapon"),    .player=id);
    
write_byte(1);
    
write_byte(2);
    
write_byte(ammo);
    
message_end();

    if(
weapon != CSW_KNIFE) {
        
message_begin(MSG_ONE,get_user_msgid("AmmoX"),      .player=id);
        
write_byte(SilahBilgi[i-1][0]);
        
write_byte(bpammo);
        
message_end();
    }
    if(
scope[id] == 0) {
        
message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        
write_byte(90);
        
message_end();
    }


    return 
PLUGIN_HANDLED;

AlinT is offline
Send a message via AIM to AlinT
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 06-28-2020 , 12:50   Re: Plugin Crooshair
Reply With Quote #2

Do you have this problem on the online server?
alferd is offline
AlinT
Member
Join Date: Jun 2020
Location: Romania
Old 06-28-2020 , 13:00   Re: Plugin Crooshair
Reply With Quote #3

yes, it is an online server
AlinT is offline
Send a message via AIM to AlinT
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 06-28-2020 , 13:27   Re: Plugin Crooshair
Reply With Quote #4

It is because of the way the WeaponList message is sent.
__________________
HamletEagle is offline
alferd
Veteran Member
Join Date: Dec 2019
Location: Iran is Always Eternal
Old 06-28-2020 , 14:37   Re: Plugin Crooshair
Reply With Quote #5

Quote:
Originally Posted by HamletEagle View Post
It is because of the way the WeaponList message is sent.
PHP Code:
message_begin(MSG_ONE,get_user_msgid("WeaponList"),   .player=id); 
Remove Weapon List Code?
alferd is offline
marcola
Junior Member
Join Date: Oct 2023
Old 10-30-2023 , 16:08   Re: Plugin Crooshair
Reply With Quote #6

I have translated code from turkye language and fixed by:

- Removing -1 in array position after finding weapon information by id
- in WeaponList slot parameter, I changed to 0 from 6

I've testing and its working by now
Attached Files
File Type: sma Get Plugin or Get Source (crosshair.sma - 58 views - 8.8 KB)
marcola is offline
marcola
Junior Member
Join Date: Oct 2023
Old 10-30-2023 , 16:09   Re: Plugin Crooshair
Reply With Quote #7

Quote:
Originally Posted by HamletEagle View Post
It is because of the way the WeaponList message is sent.
Thanks for this comment, cleared my mind
marcola 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 21:31.


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