AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Unapproved Plugins (https://forums.alliedmods.net/forumdisplay.php?f=109)
-   -   [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.10 (https://forums.alliedmods.net/showthread.php?t=323399)

ESK0 04-18-2020 15:21

[CS:GO] eItems API (CSGOItems replacement) | Ver: 0.10
 
https://i.imgur.com/6mnl3me.png
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

Javierko 04-18-2020 16:28

Re: [CS:GO] eItems API (CSGOItems replacement)
 
First, great job :P.

Franc1sco 04-18-2020 19:01

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Nice!

Hannibal2210 04-18-2020 21:24

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Great thanks!

Minfas 04-20-2020 07:06

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Nice one.

Trum 04-20-2020 18:46

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Can I get this working without the ’REST in Pawn’ extension? My server host doesn’t allow certain extensions

ESK0 04-20-2020 20:39

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Quote:

Originally Posted by Trum (Post 2694938)
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

Trum 04-21-2020 02:29

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Quote:

Originally Posted by ESK0 (Post 2694960)
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 :cry:

ESK0 04-21-2020 03:21

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Quote:

Originally Posted by Trum (Post 2694988)
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 :cry:

Change host, lol..

DJ Tsunami 04-21-2020 04:05

Re: [CS:GO] eItems API (CSGOItems replacement) | Ver: 0.6
 
Quote:

Originally Posted by Trum (Post 2694988)
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.


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

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