Raised This Month: $248 Target: $400
 62% 

[CS:GO] eItems API (CSGOItems replacement) | Ver: 0.10


Post New Thread Reply   
 
Thread Tools Display Modes
Author
ESK0
Veteran Member
Join Date: May 2014
Location: Czech Republic
Plugin ID:
7047
Plugin Version:
Plugin Category:
General Purpose
Plugin Game:
Any
Plugin Dependencies:
    Servers with this Plugin:
     
    Plugin Description:
    Unapprover:
    Reason for Unapproving:
    No source code / plugin, GitHub links are broken, fix it and use the Report Post button for a new review.
    Old 04-18-2020 , 15:21   [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.10
    Reply With Quote #1


    This plugins is replacement for CSGOItems (by SM9)


    Basic info:
    • eItems is an API designed to provide extended information and functionality to the CSGO Item Economy.
    • Unlike CSGO_Items, there is no need to change the SlowScriptTimeout setting to higher number.
    • Several functions are taken from original CSGOItems (Much thanks to SM9)
    • eItems should be working the same as CSGOItems, but Items are pre-parsed by Node.JS.
    • Language of texts can be changed in config file.

    Required:
    REST in Pawn - HTTP client for JSON REST APIs

    Supported:
    • Weapons
    • Gloves
    • Skins
    • Coins
    • Music Kits
    • Pins
    • Stickers

    Todo:
    • Add Crates support
    • Add Patches support
    • Add Sprayes support

    Supported languages: ISO 639-1 Code
    • en
    • cs
    • bg
    • da
    • nl
    • fi
    • fr
    • de
    • el
    • hu
    • it
    • ja
    • ko
    • es
    • no
    • pl
    • pt
    • ro
    • ru
    • zh_hant
    • zh_hans
    • es
    • sv
    • th
    • tr
    • uk
    • vi

    Change log:
    Code:
    Version 0.10:
     - Added eItems_HasRareInspectByDefIndex native
     - Added eItems_HasRareDrawByDefIndex native
     - Added eItems_GetRareInspectSequenceByDefIndex native
     - Added eItems_GetRareDrawSequenceByDefIndex native
    
    Version 0.9:
     - Added language selection in config file
     - Equip animation can be re-enabled in GiveWeapon and RespawnWeapon functions
     - Added eItems_IsNativeSkinByDefIndex native
    
    Version 0.8:
     - Added support for Coins
     - Added support for Stickers
     - Minor issues fixed
    
    Version 0.7:
     - Added support for Music Kits
     - Added support for Pins
    
    
    Version 0.6:
     - First release
    Natives:
    Code:
    native int      eItems_GetWeaponCount();
    native int      eItems_GetPaintsCount();
    native int      eItems_GetGlovesCount();
    native int      eItems_GetMusicKitsCount();
    native int      eItems_GetPinsCount();
    native int      eItems_GetCoinsCount();
    native int      eItems_GetCoinsSetsCount();
    native int      eItems_GetStickersCount();
    native int      eItems_GetStickersSetsCount();
    
    
    
    native bool     eItems_AreItemsSynced();
    native bool     eItems_AreItemsSyncing();
    native bool     eItems_ReSync();
    
    forward void    eItems_OnItemsSynced();
    forward void    eItems_OnWeaponGiven(const int client, const int iWeapon, const char[] szClassName, const int iWeaponDefIndex, const int iSlot, const bool Skinnable, const bool Knife);
    
    /*              Weapons             */
    
        /*     Generic     */
    
    native int      eItems_GetWeaponNumByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponNumByClassName(const char[] szClassName);
    native int      eItems_GetWeaponNumByWeapon(int iWeapon);
    native int      eItems_GetWeaponDefIndexByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponDefIndexByClassName(const char[] szClassName); 
    native int      eItems_GetWeaponDefIndexByWeapon(int iWeapon); 
    native bool     eItems_IsDefIndexKnife(int iDefIndex);
    native int      eItems_GetActiveWeaponNum(int client);
    native int      eItems_GetActiveWeaponDefIndex(int client);
    native int      eItems_GetActiveWeapon(int client);
    native int      eItems_GetActiveWeaponClassName(int client, char[] szBuffer, int iLength);
    native bool     eItems_IsSkinnableDefIndex(int iDefIndex);
    native int      eItems_FindWeaponByWeaponNum(int client, int iWeaponNum);
    native int      eItems_FindWeaponByDefIndex(int client, int iDefIndex);
    native int      eItems_FindWeaponByClassName(int client, const char[] szClassName);
    native bool     eItems_RefillClipAmmo(int iWeapon);
    native bool     eItems_RefillReserveAmmo(int iWeapon);
    native bool     eItems_IsValidWeapon(int iWeapon);
    native int      eItems_GiveWeapon(int client, const char[] szClassName, int iReserveAmmo = -1, int iClipAmmo = -1, int iSwitchTo = -1, bool bSwitchAnimation = true);
    native bool     eItems_RemoveKnife(int client);
    native bool     eItems_RemoveWeapon(int client, int iWeapon);
    native int      eItems_RespawnWeapon(int client, int iWeapon, bool bSwitchAnimation = true);
    native int      eItems_RespawnWeaponBySlot(int client, int iWeaponSlot);
    native int      eItems_RemoveAllWeapons(int client, int iSkipSlot = -1);
    native bool     eItems_SetWeaponAmmo(int iWeapon, int iReserveAmmo = -1, int iClipAmmo = -1);
    native bool     eItems_SetAllWeaponsAmmoByClassName(const char[] szClassName, int iReserveAmmo = -1, int iClipAmmo = -1);
    native bool     eItems_SetAllWeaponsAmmo(int iReserveAmmo = -1, int iClipAmmo = -1);
    native bool     eItems_SetActiveWeapon(int client, int iWeapon);
    native bool     eItems_DropWeapon(int client, int iWeapon);
    native bool     eItems_HasRareInspectByDefIndex(int iWeaponDefIndex);
    native bool     eItems_HasRareDrawByDefIndex(int iWeaponDefIndex);
    native int      eItems_GetRareInspectSequenceByDefIndex(int iWeaponDefIndex);
    native int      eItems_GetRareDrawSequenceByDefIndex(int iWeaponDefIndex);
    
        /*  ClassNames  */
    
    native bool     eItems_GetWeaponClassNameByWeaponNum(int iWeaponNum, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponClassNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponClassNameByWeapon(int iWeapon, char[] szBuffer, int iLength);
    
        /*  DisplayNames    */
    
    native bool     eItems_GetWeaponDisplayNameByWeaponNum(int iWeaponNum, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponDisplayNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponDisplayNameByWeapon(int iWeapon, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponDisplayNameByClassName(const char[] szClassName, char[] szBuffer, int iLength);
    
        /*    ViewModel     */
    
    native bool     eItems_GetWeaponViewModelByWeaponNum(int iWeaponNum, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponViewModelByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponViewModelByWeapon(int iWeapon, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponViewModelByClassName(const char[] szClassName, char[] szBuffer, int iLength);
    
        /*    WorldModel     */
    
    native bool     eItems_GetWeaponWorldModelByWeaponNum(int iWeaponNum, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponWorldModelByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponWorldModelByWeapon(int iWeapon, char[] szBuffer, int iLength);
    native bool     eItems_GetWeaponWorldModelByClassName(const char[] szClassName, char[] szBuffer, int iLength);
    
        /*     Slot     */
    
    native int      eItems_GetWeaponSlotByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponSlotByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponSlotByWeapon(int iWeapon);
    native int      eItems_GetWeaponSlotByClassName(const char[] szClassName);
    
        /*     Team     */
    
    native int      eItems_GetWeaponTeamByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponTeamByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponTeamByWeapon(int iWeapon);
    native int      eItems_GetWeaponTeamByClassName(const char[] szClassName);
    
        /*     Clip Ammo     */
    
    native int      eItems_GetWeaponClipAmmoByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponClipAmmoByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponClipAmmoByWeapon(int iWeapon);
    native int      eItems_GetWeaponClipAmmoByClassName(const char[] szClassName);
    
        /*     Reserve Ammo     */
    
    native int      eItems_GetWeaponReserveAmmoByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponReserveAmmoByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponReserveAmmoByWeapon(int iWeapon);
    native int      eItems_GetWeaponReserveAmmoByClassName(const char[] szClassName);
    
        /*     Price     */
    
    native int      eItems_GetWeaponPriceByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponPriceByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponPriceByWeapon(int iWeapon);
    native int      eItems_GetWeaponPriceByClassName(const char[] szClassName);
    
        /*     Max Player Speed     */
    
    native int      eItems_GetWeaponMaxPlayerSpeedByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponMaxPlayerSpeedByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponMaxPlayerSpeedByWeapon(int iWeapon);
    native int      eItems_GetWeaponMaxPlayerSpeedByClassName(const char[] szClassName);
    
        /*     Damage     */
    
    native int      eItems_GetWeaponDamageByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponDamageByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponDamageByWeapon(int iWeapon);
    native int      eItems_GetWeaponDamageByClassName(const char[] szClassName);
    
        /*     Full Auto     */
    
    native bool     eItems_IsWeaponFullAutoByWeaponNum(int iWeaponNum);
    native bool     eItems_IsWeaponFullAutoByDefIndex(int iDefIndex);
    native bool     eItems_IsWeaponFullAutoByWeapon(int iWeapon);
    native bool     eItems_IsWeaponFullAutoByClassName(const char[] szClassName);
    
        /*     Spread     */
    
    native float    eItems_GetWeaponSpreadByWeaponNum(int iWeaponNum);
    native float    eItems_GetWeaponSpreadByDefIndex(int iDefIndex);
    native float    eItems_GetWeaponSpreadByWeapon(int iWeapon);
    native float    eItems_GetWeaponSpreadByClassName(const char[] szClassName);
    
        /*     Cycle Time     */
    
    native float    eItems_GetWeaponCycleTimeByWeaponNum(int iWeaponNum);
    native float    eItems_GetWeaponCycleTimeByDefIndex(int iDefIndex);
    native float    eItems_GetWeaponCycleTimeByWeapon(int iWeapon);
    native float    eItems_GetWeaponCycleTimeByClassName(const char[] szClassName);
    
        /*     Stickers Slots     */
    
    native int      eItems_GetWeaponStickersSlotsByWeaponNum(int iWeaponNum);
    native int      eItems_GetWeaponStickersSlotsByDefIndex(int iDefIndex);
    native int      eItems_GetWeaponStickersSlotsByWeapon(int iWeapon);
    
    /*              Skins             */
    
    native bool     eItems_IsSkinNumGloveApplicable(int iSkinNum);
    native int      eItems_GetSkinNumByDefIndex(int iDefIndex);
    native int      eItems_GetSkinDefIndexBySkinNum(int iSkinNum);
    native bool     eItems_GetSkinDisplayNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetSkinDisplayNameBySkinNum(int iSkinNum, char[] szBuffer, int iLength);
    native bool     eItems_IsNativeSkin(int iSkinNum, int iItemNum, int iItemType);
    native bool     eItems_IsNativeSkinByDefIndex(int iSkinDefIndex, int iItemDefIndex, int iItemType);
    
    /*              Gloves             */
    
    native int      eItems_GetGlovesNumByDefIndex(int iDefIndex);
    native int      eItems_GetGlovesDefIndexByGlovesNum(int iGlovesNum);
    native bool     eItems_GetGlovesDisplayNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetGlovesDisplayNameByGlovesNum(int iGlovesNum, char[] szBuffer, int iLength);
    
    native bool     eItems_GetGlovesViewModelByGlovesNum(int iGlovesNum, char[] szBuffer, int iLength);
    native bool     eItems_GetGlovesViewModelByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetGlovesWorldModelByGlovesNum(int iGlovesNum, char[] szBuffer, int iLength);
    native bool     eItems_GetGlovesWorldModelByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native int      eItems_GetGlovesNumBySkinNum(int iSkinNum);
    
    
    /*              MusicKits             */
    
    native int      eItems_GetMusicKitNumByDefIndex(int iDefIndex);
    native int      eItems_GetMusicKitDefIndexByMusicKitNum(int iMusicKitNum);
    native bool     eItems_GetMusicKitDisplayNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetMusicKitDisplayNameByMusicKitNum(int iMusicKitNum, char[] szBuffer, int iLength);
    
    /*              Pins             */
    
    native int      eItems_GetPinNumByDefIndex(int iDefIndex);
    native int      eItems_GetPinDefIndexByPinNum(int iPinNum);
    native bool     eItems_GetPinDisplayNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    native bool     eItems_GetPinDisplayNameByPinNum(int iPinNum, char[] szBuffer, int iLength);
    
    /*              Coins             */
    
    native int      eItems_GetCoinSetIdByCoinSetNum(int iCoinSetNum);
    native int      eItems_GetCoinSetNumByCoinSetId(int iCoinSetId);
    native bool     eItems_GetCoinSetDisplayNameByCoinSetId(int iCoinSetId, char[] szBuffer, int iLength);
    native bool     eItems_GetCoinSetDisplayNameByCoinSetNum(int iCoinSetNum, char[] szBuffer, int iLength);
    
    native int      eItems_GetCoinDefIndexByCoinNum(int iCoinNum);
    native int      eItems_GetCoinNumByDefIndex(int iDefIndex);
    native bool     eItems_GetCoinDisplayNameByCoinNum(int iCoinNum, char[] szBuffer, int iLength);
    native bool     eItems_GetCoinDisplayNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    
    native bool     eItems_IsCoinInSet(int iCoinNum, int iCoinSetId);
    
    /*              Stickers             */
    
    native int      eItems_GetStickerSetIdByStickerSetNum(int iStickerSetNum);
    native int      eItems_GetStickerSetNumByStickerSetId(int iStickerSetId);
    native bool     eItems_GetStickerSetDisplayNameByStickerSetId(int iStickerSetId, char[] szBuffer, int iLength);
    native bool     eItems_GetStickerSetDisplayNameByStickerSetNum(int iStickerSetNum, char[] szBuffer, int iLength);
    
    native int      eItems_GetStickerDefIndexByStickerNum(int iStickerNum);
    native int      eItems_GetStickerNumByDefIndex(int iDefIndex);
    native bool     eItems_GetStickerDisplayNameByStickerNum(int iStickerNum, char[] szBuffer, int iLength);
    native bool     eItems_GetStickerDisplayNameByDefIndex(int iDefIndex, char[] szBuffer, int iLength);
    
    native bool     eItems_IsStickerInSet(int iStickerNum, int iStickerSetId);
    Forwards:
    Code:
    forward void    eItems_OnItemsSynced();
    forward void    eItems_OnWeaponGiven(const int client, const int iWeapon, const char[] szClassName, const int iWeaponDefIndex, const int iSlot, const bool Skinnable, const bool Knife);

    Download
    __________________

    Last edited by ESK0; 08-25-2020 at 15:21.
    ESK0 is offline
    Javierko
    AlliedModders Donor
    Join Date: Sep 2017
    Location: Czech republic
    Old 04-18-2020 , 16:28   Re: [CS:GO] eItems API (CSGOItems replacement)
    Reply With Quote #2

    First, great job .
    __________________
    My Github & Sourcemod work.
    If you like my work and if you want to support me, you can through PayPal.

    Official SourceMod CZ/SK Discord: https://discord.gg/Qvar55a
    Javierko is offline
    Franc1sco
    Veteran Member
    Join Date: Oct 2010
    Location: Spain (Madrid)
    Old 04-18-2020 , 19:01   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #3

    Nice!
    __________________
    Veteran SourceMod Coder -> Activity channel
    Taking some paid jobs and selling some private stuff.
    Contact: Steam, Telegram or discord ( Franc1sco#7876 ).

    You like my work? +Rep in my steam profile comments or donate.

    Franc1sco is offline
    Send a message via MSN to Franc1sco
    Hannibal2210
    New Member
    Join Date: Mar 2020
    Old 04-18-2020 , 21:24   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #4

    Great thanks!
    Hannibal2210 is offline
    Minfas
    Member
    Join Date: Dec 2017
    Old 04-20-2020 , 07:06   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #5

    Nice one.
    Minfas is offline
    Trum
    AlliedModders Donor
    Join Date: Jan 2017
    Location: Sweden
    Old 04-20-2020 , 18:46   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #6

    Can I get this working without the ’REST in Pawn’ extension? My server host doesn’t allow certain extensions
    Trum is offline
    ESK0
    Veteran Member
    Join Date: May 2014
    Location: Czech Republic
    Old 04-20-2020 , 20:39   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #7

    Quote:
    Originally Posted by Trum View Post
    Can I get this working without the ’REST in Pawn’ extension? My server host doesn’t allow certain extensions
    No I, dont see any reason why this extension should not be allowed
    __________________
    ESK0 is offline
    Trum
    AlliedModders Donor
    Join Date: Jan 2017
    Location: Sweden
    Old 04-21-2020 , 02:29   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #8

    Quote:
    Originally Posted by ESK0 View Post
    No I, dont see any reason why this extension should not be allowed
    Some customer at the host I'm also using found a bug which is unsafe according to the owner. I don't know why, people are using the extension and works fine but sadly we cannot use others extensions
    Trum is offline
    ESK0
    Veteran Member
    Join Date: May 2014
    Location: Czech Republic
    Old 04-21-2020 , 03:21   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #9

    Quote:
    Originally Posted by Trum View Post
    Some customer at the host I'm also using found a bug which is unsafe according to the owner. I don't know why, people are using the extension and works fine but sadly we cannot use others extensions
    Change host, lol..
    __________________
    ESK0 is offline
    DJ Tsunami
    DJ Post Spammer
    Join Date: Feb 2008
    Old 04-21-2020 , 04:05   Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
    Reply With Quote #10

    Quote:
    Originally Posted by Trum View Post
    Some customer at the host I'm also using found a bug which is unsafe according to the owner.
    REST in Pawn used to cause random crashes, but I fixed those in August 2018. Then I rewrote a large part of the extension in December 2019, so I doubt whatever issue they're talking about still exists. If it does, tell them to report it at https://github.com/ErikMinekus/sm-ripext/issues.
    __________________
    DJ Tsunami is online now
    Reply


    Thread Tools
    Display Modes

    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 15:45.


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