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

help I need a menu


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
OneeL
Junior Member
Join Date: Apr 2018
Old 06-18-2018 , 18:19   help I need a menu
Reply With Quote #1

hello I need help with this plugin what is from a system of skins but the skins are changed automatically and I do not want that I want to be changed by a menu or something like writing / skins to choose the weapon

sorry if you do not understand esque use a translator xD
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>

#define SAVETIME_MIN 0.5
#define SAVETIME_MAX 3.0
#define LOADTIME 2.5

#define MAXWEAPONS 30
#define SKINSPERWEAPONS 10
#define POINTSLEN 6

#define PORT 1

#pragma semicolon 1

new const PLUGIN[] = "Skin System";
new const 
VERSION[] = "2.33";
new const 
AUTHOR[] = "DeRoiD";

new 
KillPoints[31][33], Skin[31][SKINSPERWEAPONS],
vSkinMdl[31][SKINSPERWEAPONS][64], pSkinMdl[31][SKINSPERWEAPONS][64],
SkinName[31][SKINSPERWEAPONS][32], Already[31], Cvar_SavepSave[3][32][33];
new 
PointsFile[64], SkinsFile[64];

new const 
WeaponNames[][] =
{
    
"""P228""""Scout""He Grenade""XM1014""""MAC10""AUG",
    
"""Elite""FiveSeven""UMP45""SG550""Galil""FAMAS",
    
"USP""Glock18""AWP""MP5""M249""M3""M4A1""TMP""G3SG1",
    
"""Deagle""SG552""AK47""Knife""P90"
};
new const 
WeaponEntNames[][] =
{
    
"weapon_p228""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_mac10",
    
"weapon_aug""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
    
"weapon_galil""weapon_famas""weapon_usp""weapon_glock18""weapon_awp",
    
"weapon_mp5navy""weapon_m249""weapon_m3""weapon_m4a1""weapon_tmp",
    
"weapon_g3sg1""weapon_deagle""weapon_sg552""weapon_ak47""weapon_knife""weapon_p90"
};

public 
plugin_init()
{    
    
register_plugin(PLUGINVERSIONAUTHOR);
    
register_cvar(PLUGINAUTHORFCVAR_SERVER);
    
    
Cvar_Save register_cvar("skin_s_savemod""0");
    
    
register_clcmd("say""Say");
    
register_clcmd("say_team""Say");
    
    for(new 
NumNum sizeof WeaponEntNamesNum++)
    {
        
RegisterHam(Ham_Item_DeployWeaponEntNames[Num], "WeaponModel"1);
    }
    
    
register_forward(FM_ClientUserInfoChanged"NameChange");
    
register_dictionary("skinsystem.txt");
    
    
LoadSkins();
}
public 
plugin_precache() {
    static 
ConfigsDir[64]; 
    
get_localinfo("amxx_configsdir"ConfigsDir63);
    
formatex(PointsFile63"%s/skinsystem/save.ini"ConfigsDir);
    
formatex(SkinsFile63"%s/skinsystem/skins.cfg"ConfigsDir);
    
    new 
LenLine[256], Data[3][48], FileLine;
    
FileLine file_size(SkinsFile1);
    for(new 
Num 0Num FileLineNum++)
    {
        
read_file(SkinsFileNumLine255Len);
        
parse(LineData[0], 31Data[1], 47Data[2], 47);
        
        if(
Line[0] == ';' || strlen(Line) < 5)
            continue;

        
remove_quotes(Data[1]);
        
remove_quotes(Data[2]);
        
        if(
containi(Data[1], ".mdl") != -1)
        {
            
precache_model(Data[1]);
        }
                    
        if(
containi(Data[2], ".mdl") != -1)
        {
            
precache_model(Data[2]);
        }
    }
}
public 
NameChange(Player
{
    if(!
is_user_connected(Player) || get_pcvar_num(Cvar_Save) != 0)
        return 
FMRES_IGNORED;

    new 
OldName[32], NewName[32], Name[32];
    
get_user_name(PlayerName31);
    
pev(Playerpev_netnameOldNamecharsmax(OldName));
    if(
OldName[0])
    {
        
get_user_info(Player"name"NewNamecharsmax(NewName));
        if(!
equal(OldNameNewName))
        {
            
remove_task(Player);
            
            
LoadPlayer(Player);
            
LoadPoints(Player);
        }
    }
    return 
FMRES_IGNORED;
}
public 
WeaponModel(Weapon) {
    new 
Player get_pdata_cbase(Weapon414);
    new 
WeaponID cs_get_weapon_id(Weapon);
    
    if(
Player 32 || Player 1
    
|| WeaponID || WeaponID 30)
    {
        return 
HAM_SUPERCEDE;
    }
    
    for(new 
Num 1Num MAXWEAPONSNum++)
    {
        if(
Num == WeaponID)
        {
            for(new 
xAlready[WeaponID]; x++)
            {
                if(
KillPoints[WeaponID][Player] >= Skin[WeaponID][x])
                {
                    if(
containi(vSkinMdl[WeaponID][x], ".mdl") != -1)
                    {
                        
set_pev(Playerpev_viewmodel2vSkinMdl[WeaponID][x]);
                    }
                    if(
containi(pSkinMdl[WeaponID][x], ".mdl") != -1)
                    {
                        
set_pev(Playerpev_weaponmodel2pSkinMdl[WeaponID][x]);
                    }
                }
            }
        }
    }
    return 
HAM_IGNORED;
}
public 
LoadSkins() {
    new 
File;
    
File fopen(SkinsFile"rt");
    
    if(
File)
    {
        new 
Line[256], Type[32], Data[5][64];
        while(!
feof(File))
        {
            
fgets(FileLine255);
            
            if(
Line[0] == ';' || strlen(Line) < 5)
                continue;
                
            
parse(LineType31);
            
            for(new 
Num 1Num MAXWEAPONS+1Num++)
            {
                if(
Already[Num] >= SKINSPERWEAPONS)
                    continue;
                
                if(
equali(TypeWeaponNames[Num]))
                {
                    
parse(LineData[0], 63Data[1], 63Data[2], 63Data[3], 63Data[4], 63);
                    
copy(vSkinMdl[Num][Already[Num]], 63Data[1]);
                    
copy(pSkinMdl[Num][Already[Num]], 63Data[2]);
                    
copy(SkinName[Num][Already[Num]], 31Data[4]);
                    
Skin[Num][Already[Num]] = str_to_num(Data[3]);
                    
Already[Num]++;
                }
            }
        }
        
fclose(File);
    }
}
public 
client_death(KillerVictimWeapon)
{
    if(
Killer == Victim
    
|| Killer 32 || Killer 1
    
|| Weapon == 25 || Weapon == 9
    
|| Weapon || Weapon 30)
    {
        return 
PLUGIN_HANDLED;
    }
    
    
set_task(random_float(SAVETIME_MINSAVETIME_MAX), "SavePoints"Killer);
    
KillPoints[Weapon][Killer]++;
    
    return 
PLUGIN_CONTINUE;
}
public 
ShowSkins(Playeri)
{
    new 
MotdTitle[64];
    
formatex(MotdTitle63"%L"LANG_SERVER"MOTD1");
    
    new 
Motd[1024], Line[256];
    
formatex(Line255"<body bgcolor=^"black^">^n<font color=^"red^">^n");
    
add(Motd1023Line255);
    
formatex(Line255"<p align=^"center^">%s %s by: %s</p></font>^n<font color=^"greenyellow^">^n"PLUGINVERSIONAUTHOR);
    
add(Motd1023Line255);
    
formatex(Line255"<p align=^"center^">%L:</p></font>^n"LANG_SERVER"SKINS"WeaponNames[i]);
    
add(Motd1023Line255);
    
formatex(Line255"<h5>^n<font color=^"white^">^n");
    
add(Motd1023Line255);
    
    for(new 
NumNum MAXWEAPONSNum++)
    {
        if(
Num != i)
        continue;
        
formatex(Line255"<p>");
        
add(Motd1023Line255);
        for(new 
xSKINSPERWEAPONSx++)
        {
            if(
strlen(SkinName[Num][x]) < 2)
                continue;
            
            
formatex(Line255"<br>%s: (%L)"SkinName[Num][x], LANG_SERVER"KILLS"Skin[Num][x]);
            
add(Motd1023Line255);
        }
        
formatex(Line255"</p>");
        
add(Motd1023Line255);
    }
    
    
formatex(Line255"^n</h5>^n</font>^n</body>");
    
add(Motd1023Line255);
    
show_motd(PlayerMotdMotdTitle);
}
public 
ShowPoints(PlayerTarget)
{
    new 
Name[32], MotdTitle[64];
    
get_user_name(TargetName31);
    
    
formatex(MotdTitle63"%L"LANG_SERVER"PKILLS"Name);
    
    new 
Motd[1024], Line[256];
    
formatex(Line255"<body bgcolor=^"black^">^n<font color=^"red^">^n");
    
add(Motd1023Line255);
    
formatex(Line255"<p align=^"center^">%s %s by: %s</p></font>^n<font color=^"white^">^n"PLUGINVERSIONAUTHOR);
    
add(Motd1023Line255);
    
formatex(Line255"<p align=^"center^">%L:</p></font>^n"LANG_SERVER"PKILLS"Name);
    
add(Motd1023Line255);
    
formatex(Line255"<font color=^"cyan^">^n");
    
add(Motd1023Line255);
    
formatex(Line255"<h5>^n");
    
add(Motd1023Line255);
 
    if(
Target 0)
    {
        
formatex(Line255"<p align=^"center^">");
        
add(Motd1023Line255);
        new 
Len;
        for(new 
Num 1Num MAXWEAPONS+1Num++)
        {
            if(
Num == || Num == || Num == || Num == 25)
            {
                continue;
            }
            
            
Len++;
            
            if(
Len POINTSLEN)
            {
                
formatex(Line255" %s: %d |"WeaponNames[Num], KillPoints[Num][Target]);
                
add(Motd1023Line255);
            }
            else
            {
                
Len 0;
                
formatex(Line255" %s: %d</p>^n<p align=^"center^">"WeaponNames[Num], KillPoints[Num][Target]);
                
add(Motd1023Line255);
            }
        }
        
formatex(Line255"</p>");
        
add(Motd1023Line255);
    }
    
    
formatex(Line255"^n</h5>^n</font>^n</body>");
    
add(Motd1023Line255);
    
show_motd(PlayerMotdMotdTitle);
}
public 
Say(Player)
{
    new 
Message[32];
    
read_args(Message31);
    
remove_quotes(Message);
    
    if(
equali(Message"/mykills"))
    {
        
ShowPoints(PlayerPlayer);
    }
    else if(
containi(Message"/skins") != -1)
    {
        for(new 
NumNum MAXWEAPONS+1Num++)
        {
            if(
containi(MessageWeaponNames[Num]) != -1)
            {
                
ShowSkins(PlayerNum);
                return 
PLUGIN_HANDLED;
            }
        }
    }
    else
    {
        new 
TargetName[32], Name[32], Command[32];
        
parse(MessageCommand31TargetName31);
        if(
equali(Command"/kill"))
        {
            for(new 
TargetTarget 32Target++)
            {
                if(
Target == Player || !is_user_connected(Target))
                {
                    continue;
                }
                
                
get_user_name(TargetName31);
                
                if((
containi(NameTargetName) != -1))
                {
                    if(
equali(NameTargetName))
                    
ShowPoints(PlayerTarget);
                    else if(
strlen(TargetName) > 3)
                    
ShowPoints(PlayerTarget);
                    return 
PLUGIN_HANDLED;
                }
            }
        }
    }
    return 
PLUGIN_CONTINUE;
}
public 
client_putinserver(Player)
{
    
remove_task(Player);
    
set_task(LOADTIME"LoadPoints"Player);
}
public 
client_connect(Player)
{
    
LoadPlayer(Player);
}
public 
LoadPoints(Player)
{
    if(!
is_user_connected(Player))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
File;
    
File fopen(PointsFile"rt");
    
    if(
File)
    {
        new 
Line[256];
        new 
LineName[32], Data[31][8];
        
        while(!
feof(File))
        {
            
fgets(FileLine255);
            
            if(
Line[0] == ';' || strlen(Line) < 2)
                continue;
                
            
parse(LineLineName31);
            
            if(
equal(LineNamepSave[get_pcvar_num(Cvar_Save)][Player]))
            {
                
parse(LineData[0], 7Data[1], 7Data[2], 7Data[3], 7Data[4], 7Data[5], 7,
                
Data[6], 7Data[7], 7Data[8], 7Data[9], 7Data[10], 7Data[11], 7Data[12], 7,
                
Data[13], 7Data[14], 7Data[15], 7Data[16], 7Data[17], 7Data[18], 7Data[19], 7,
                
Data[20], 7Data[21], 7Data[22], 7Data[23], 7Data[24], 7Data[25], 7Data[26], 7,
                
Data[27], 7Data[28], 7Data[29], 7Data[30], 7);
                
                for(new 
Num 1Num MAXWEAPONS+1Num++)
                {
                    
KillPoints[Num][Player] = str_to_num(Data[Num]);
                }
                return 
PLUGIN_HANDLED;
            }
        }
        
fclose(File);
    }
    return 
PLUGIN_CONTINUE;
}
public 
SavePoints(Player)
{
    if(!
is_user_connected(Player))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
File;
    
File fopen(PointsFile"rt");
    
    if(
File)
    {
        new 
Line[192], LineNum;
        
        new 
LineName[32], bool:Found;
        
        while(!
feof(File))
        {
            
fgets(FileLine191);
            
            if(
Line[0] == ';' || strlen(Line) < 2)
                continue;
                
            
parse(LineLineName31);
            
            if(
equal(LineNamepSave[get_pcvar_num(Cvar_Save)][Player]) && !Found)
            {
                new 
SaveLine[256], PlayerPoints[256], String[8];
                
                for(new 
Num 1Num MAXWEAPONS+1Num++)
                {
                    
format(String7"^"%i^" "KillPoints[Num][Player]);
                    
add(PlayerPoints255String);
                }
                
                
formatex(SaveLine255"^"%s^" %s"pSave[get_pcvar_num(Cvar_Save)][Player], PlayerPoints);
                
write_file(PointsFileSaveLineLineNum);
                
Found true;
                return 
PLUGIN_HANDLED;
            }
            
            
LineNum++;
        }
        
        if(!
Found)
        {
            new 
SaveLine[256], PlayerPoints[256], String[8];
                
            for(new 
NumNum MAXWEAPONSNum++)
            {
                
format(String7"^"%i^" "KillPoints[Num][Player]);
                
add(PlayerPoints255String);
            }
            
            
formatex(SaveLine255"^"%s^" %s"pSave[get_pcvar_num(Cvar_Save)][Player], PlayerPoints);
            
write_file(PointsFileSaveLine);
            return 
PLUGIN_HANDLED;
        }
        
fclose(File);
    }
    return 
PLUGIN_CONTINUE;
}
stock LoadPlayer(Player)
{
    new 
Num;
    for(
Num 1Num MAXWEAPONS+1Num++)
    {
        
KillPoints[Num][Player] = 0;
    }
    
    for(
Num 0Num 2Num++)
    {
        
pSave[0][Player] = "";
    }
    
get_user_name(PlayerpSave[0][Player], 31);
    
get_user_ip(PlayerpSave[1][Player], 31PORT);
    
get_user_authid(PlayerpSave[2][Player], 31);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang21514\\ f0\\ fs16 \n\\ par }
*/ 
OneeL is offline
maqi
Senior Member
Join Date: Apr 2017
Location: Serbia
Old 06-18-2018 , 18:21   Re: help I need a menu
Reply With Quote #2

What kind of help ?
__________________
stuff
maqi is offline
OneeL
Junior Member
Join Date: Apr 2018
Old 06-18-2018 , 20:13   Re: help I need a menu
Reply With Quote #3

Quote:
Originally Posted by maqi View Post
What kind of help ?
They could help me do it, do it for me or send me a tutorial on how to do it so as not to be so much trouble
OneeL is offline
maqi
Senior Member
Join Date: Apr 2017
Location: Serbia
Old 06-18-2018 , 20:15   Re: help I need a menu
Reply With Quote #4

No one can really help you , if we don't understand what you are saying ...
__________________
stuff
maqi is offline
OneeL
Junior Member
Join Date: Apr 2018
Old 06-19-2018 , 15:11   Re: help I need a menu
Reply With Quote #5

I want a menu to choose the skin that I want but I do not know how to do it
OneeL is offline
Fuck For Fun
Veteran Member
Join Date: Nov 2013
Old 06-19-2018 , 15:49   Re: help I need a menu
Reply With Quote #6

Quote:
Originally Posted by OneeL View Post
I want a menu to choose the skin that I want but I do not know how to do it
skin menu work? please use translate to explain more
Fuck For Fun is offline
Send a message via Skype™ to Fuck For Fun
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 02:49.


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