EItems
eItems is an API designed to provide extended information and functionality to the CSGO Item Economy.
Install / Use
/learn @ESK0/EItemsREADME
eItems
eItems is an API designed to provide extended information and functionality to the CSGO Item Economy.
I modified the original plugin to have some extra features, such as getting the avaliable skins for a weapon/glove.
Dependencies:
- REST in Pawn - HTTP client for JSON REST APIs - ver. 1.3.0+
Instalation:
- Upload configs and eitems.smx to your server.
- Change language in eItems.json if needed.
- Upload selected language data file to your server. (Only if UseLocal is set to true in config)
- Restart your server or load plugin manually.
- Upload Graffiti files to server + fastdl. (Only if DownloadSprays is set to true in config, skip otherwise)
Troubleshooting:
[SM] Exception reported: Invalid JSON in line
- This happens mostly only for Windows users. Windows have an issue with HTTP/2 requests. Set
UseLocalto true and upload selected language file (items_XX.json) to data folder.
Native "HTTPRequest.HTTPRequest" was not found
- Update Rest In Pawn to version 1.3.0 or newer.
eItems.smx (eItems): unexpected error 23 in AskPluginLoad callback
- Make sure you do not have multiple copies of eitems.smx in plugins folder.
Natives:
enum WearRemap
{
Min,
Max
};
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 int eItems_GetAgentsCount();
native int eItems_GetPatchesCount();
native int eItems_GetCratesCount();
native int eItems_GetSpraysCount();
native int eItems_GetSpraysSetsCount();
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 int eItems_GetInSlotWeaponNum(int client, int iSlot);
native int eItems_GetInSlotWeaponDefIndex(int client, int iSlot);
native int eItems_GetInSlotWeapon(int client, int iSlot);
native int eItems_GetInSlotWeaponClassName(int client, int iSlot, 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
