Zephy's Shop
| |
iEx
|
Дата: Среда, 06.05.2015, 16:05:07 | Сообщение # 1 |
|
Сообщений: 304
Репутация: 23 [ +/- ]
|
|
Я второй день сижу и не могу сделать модуль,даже тестовый... Может кто работал уже с его системой? Пытаюсь создать свой подраздел с включением только одного из,1 раз получилось потом переделал более корректно,все слетело,никаких инструкций и тд нет >:||
Inc: Код #if defined _store_included #endinput #endif #define _store_included
new g_cvarChatTag = -1; #define CHAT_TAG g_eCvars[g_cvarChatTag][sCache]
#define ITEM_NAME_LENGTH 64 #define STORE_MAX_ITEMS 1024 #define STORE_MAX_HANDLERS 32 #define STORE_MAX_PLANS 8 #define STORE_MAX_SLOTS 4
enum Item_Plan { String:szName[ITEM_NAME_LENGTH], iPrice, iTime }
enum Store_Item { String:szName[ITEM_NAME_LENGTH], String:szUniqueId[PLATFORM_MAX_PATH], String:szShortcut[64], iId, iPrice, iParent, iHandler, iFlagBits, iData, iPlans, bool:bBuyable, bool:bIgnoreVIP, Handle:hAttributes }
enum Type_Handler { String:szType[64], String:szUniqueKey[32], bool:bEquipable, bool:bRaw, Handle:hPlugin, Function:fnMapStart, Function:fnReset, Function:fnConfig, Function:fnUse, Function:fnRemove }
enum Client_Item { iId, iUniqueId, bool:bSynced, bool:bDeleted, iDateOfPurchase, iDateOfExpiration, iPriceOfPurchase, }
native Store_RegisterHandler(String:type[], String:uniquekey[], Function:mapstart, Function:reset, Function:config, Function:use, Function:remove, bool:equipable = true, bool:raw = false); native Store_RegisterMenuHandler(String:identifier[], Function:menu, Function:handler); native Store_SetDataIndex(itemid, index); native Store_GetDataIndex(itemid); native Store_GetEquippedItem(client, String:type[], slot=0); native Store_IsClientLoaded(client); native Store_DisplayPreviousMenu(client); native Store_SetClientMenu(client, num); native Store_GetClientCredits(client); native Store_SetClientCredits(client, credits); native Store_IsClientVIP(client); native Store_IsItemInBoughtPackage(client, itemid, uid=-1); native Store_ShouldConfirm(); native Store_DisplayConfirmMenu(client, String:title[], Function:callback, data); native Store_GetItem(itemid, output[Store_Item]); native Store_GetHandler(index, output[Type_Handler]); native Store_GiveItem(client, itemid, purchase=0, expiration=0, price=0); native Store_RemoveItem(client, itemid); native Store_GetClientItem(client, itemid, output[Client_Item]); native Store_GetClientTarget(client); native Store_GiveClientItem(client, recipient, itemid); native Store_HasClientItem(client, itemid); native Store_IterateEquippedItems(client, &start, bool:attributes=false);
forward Store_OnClientModelChanged(client, String:model[]);
public Extension:__ext_store_sm = { name = "Store - The Resurrection", file = "store_sm.ext", #if defined AUTOLOAD_EXTENSIONS autoload = 1, #else autoload = 0, #endif required = 0, };
|
|
| |
iEx
|
Дата: Среда, 06.05.2015, 16:08:14 | Сообщение # 2 |
|
Сообщений: 304
Репутация: 23 [ +/- ]
|
|
Пример хоть какой,незнаю..
|
|
| |
_R1KO_
|
Дата: Среда, 06.05.2015, 19:09:19 | Сообщение # 3 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Ну по сути не сложно: Код #include <sourcemod> #include <sdktools>
#include <store> #include <zephstocks>
new g_iGravity[STORE_MAX_ITEMS]; new g_iGravityIdx = 0;
new Float:g_fGravityTime[STORE_MAX_ITEMS];
new Handle:g_hGravity = INVALID_HANDLE;
public OnPluginStart() { Store_RegisterHandler("gravity", "", Gravity_OnMapStart, Gravity_Reset, Gravity_Config, Gravity_Equip, Gravity_Remove, false);
g_hGravity = FindConVar("sv_gravity"); }
public Gravity_OnMapStart() { }
public Gravity_Reset() { g_iGravityIdx = 0; }
public Gravity_Config(&Handle:kv, itemid) { Store_SetDataIndex(itemid, g_iGravityIdx); g_iGravity[g_iGravityIdx] = KvGetNum(kv, "gravity"); g_fGravityTime[g_iGravityIdx] = KvGetFloat(kv, "duration");
++g_iGravityIdx; return true; }
public Gravity_Equip(client, id) { new m_iData = Store_GetDataIndex(id); if(GetConVarInt(g_hGravity)==0) SetEntityGravity(client, 0.0); else SetEntityGravity(client, float(g_iGravity[m_iData])/GetConVarInt(g_hGravity)); if(g_fGravityTime[m_iData] != 0.0) CreateTimer(g_fGravityTime[m_iData], Timer_RemoveGravity, GetClientUserId(client)); return 0; }
public Gravity_Remove(client) { return 0; }
public Action:Timer_RemoveGravity(Handle:timer, any:userid) { new client = GetClientOfUserId(userid); if(!client || !IsClientInGame(client)) return Plugin_Stop;
SetEntityGravity(client, 1.0);
return Plugin_Stop; }
|
|
| |
iEx
|
Дата: Среда, 06.05.2015, 19:57:53 | Сообщение # 4 |
|
Сообщений: 304
Репутация: 23 [ +/- ]
|
|
Ну ондофункциональный во вкладке прочее я сделал тож, но вот задачка в том,что надо добавить категорию(ну 1 из заказов - крылья и рюкзаки на спину) в которой можно выбирать только 1 из объектов... Я както 1 раз сделал,а сейчас меню вообще не возникает,А ошибок нет,вот это бесит)
|
|
| |
_R1KO_
|
Дата: Среда, 06.05.2015, 20:07:56 | Сообщение # 5 |
|
Сообщений: 200
Репутация: 30 [ +/- ]
|
|
Код #include <sourcemod> #include <sdktools>
#include <store> #include <zephstocks>
new g_eWeaponColors[STORE_MAX_ITEMS][4];
new g_iWeaponColors = 0;
new bool:g_bColored[2048];
public OnPluginStart() { Store_RegisterHandler("weaponcolor", "color", WeaponColors_OnMapStart, WeaponColors_Reset, WeaponColors_Config, WeaponColors_Equip, WeaponColors_Remove, true); }
public OnClientPutInServer(client) { SDKHook(client, SDKHook_WeaponCanUse, WeaponColors_WeaponCanUse); }
public WeaponColors_OnMapStart() { }
public WeaponColors_Reset() { g_iWeaponColors = 0; }
public WeaponColors_Config(&Handle:kv, itemid) { Store_SetDataIndex(itemid, g_iWeaponColors); KvGetColor(kv, "color", g_eWeaponColors[g_iWeaponColors][0], g_eWeaponColors[g_iWeaponColors][1], g_eWeaponColors[g_iWeaponColors][2], g_eWeaponColors[g_iWeaponColors][3]); ++g_iWeaponColors; return true; }
public WeaponColors_Equip(client, id) { if(!IsValidEdict(client)) return 0; for(new i=0;i<48;++i) { new m_iEntity = GetEntPropEnt(client, Prop_Send, "m_hMyWeapons", i); if(m_iEntity == -1) continue; g_bColored[m_iEntity] = false; } return 0; }
public WeaponColors_Remove(client) { for(new i=0;i<48;++i) { new m_iEntity = GetEntPropEnt(client, Prop_Send, "m_hMyWeapons", i); if(m_iEntity == -1) continue; CS_OnCSWeaponDrop(client, m_iEntity); } return 0; }
public Action:CS_OnCSWeaponDrop(client, weaponIndex) { if(g_iWeaponColors==0) return Plugin_Continue;
SetEntityRenderColor(weaponIndex, 255, 255, 255, 255); g_bColored[weaponIndex] = false; return Plugin_Continue; }
public Action:WeaponColors_WeaponCanUse(client, weapon) { if(g_iWeaponColors==0) return Plugin_Continue; if(g_bColored[weapon]) return Plugin_Continue; new Handle:data = CreateDataPack(); WritePackCell(data, GetClientUserId(client)); WritePackCell(data, weapon); ResetPack(data); CreateTimer(0.0, Timer_ColorWeapon, data); return Plugin_Continue; }
public Action:Timer_ColorWeapon(Handle:timer, any:data) { new userid = ReadPackCell(data); new weapon = ReadPackCell(data); CloseHandle(data);
new client = GetClientOfUserId(userid); if(!client || !IsValidEdict(weapon)) return Plugin_Stop; new m_iEquipped = Store_GetEquippedItem(client, "weaponcolor", 0); if(m_iEquipped<0) return Plugin_Stop; new m_iData = Store_GetDataIndex(m_iEquipped);
SetEntityRenderMode(weapon, RENDER_TRANSCOLOR); SetEntityRenderColor(weapon, g_eWeaponColors[m_iData][0], g_eWeaponColors[m_iData][1], g_eWeaponColors[m_iData][2], g_eWeaponColors[m_iData][3]); g_bColored[weapon]=true;
return Plugin_Stop; }
|
|
| |
iEx
|
Дата: Среда, 06.05.2015, 21:11:32 | Сообщение # 6 |
|
Сообщений: 304
Репутация: 23 [ +/- ]
|
|
Да,вот это уже то что над,большое спасибо)
|
|
| |
Джускаси
|
Дата: Суббота, 09.05.2015, 13:25:05 | Сообщение # 7 |
|
Сообщений: 8
Репутация: 0 [ +/- ]
|
|
iEx А какие модули хочешь сделать ? просто есть у меня магазин от zephyrus 3 месяца назад покупал
|
|
| |
iEx
|
Дата: Вторник, 12.05.2015, 01:03:24 | Сообщение # 8 |
|
Сообщений: 304
Репутация: 23 [ +/- ]
|
|
|
|
| |
Джускаси
|
Дата: Среда, 13.05.2015, 13:07:18 | Сообщение # 9 |
|
Сообщений: 8
Репутация: 0 [ +/- ]
|
|
iEx Скайп можешь дать у меня тоже последняя версия
|
|
| |
iEx
|
Дата: Среда, 13.05.2015, 17:37:34 | Сообщение # 10 |
|
Сообщений: 304
Репутация: 23 [ +/- ]
|
|
Я продам только в том случае,если шоп куплен именно от зефируса.
|
|
| |
SourceSamil
|
Дата: Среда, 13.05.2015, 18:20:53 | Сообщение # 11 |
|
Сообщений: 237
Репутация: [ +/- ]
|
|
Зефируса?Лол Зефис... (Судя по названию темы)
Сообщение отредактировал SourceSamil - Среда, 13.05.2015, 18:22:43 |
|
| |
inkognito
|
Дата: Среда, 13.05.2015, 18:48:55 | Сообщение # 12 |
|
Сообщений: 42
Репутация: 0 [ +/- ]
|
|
Джускаси последняя версия - ту что ты выложил на хлмод ? Если да ,то судя по отзывам плагин кривой...
|
|
| |
Sallcom
|
Дата: Среда, 13.05.2015, 20:05:50 | Сообщение # 13 |
|
Сообщений: 205
Репутация: 31 [ +/- ]
|
|
А какие есть модули?
Сообщение отредактировал Sallcom - Среда, 13.05.2015, 20:07:42 |
|
| |
Джускаси
|
Дата: Четверг, 14.05.2015, 06:11:49 | Сообщение # 14 |
|
Сообщений: 8
Репутация: 0 [ +/- ]
|
|
inkognito, эта старая версия там багов куча не советую ставить
|
|
| |
inkognito
|
Дата: Четверг, 14.05.2015, 06:19:54 | Сообщение # 15 |
|
Сообщений: 42
Репутация: 0 [ +/- ]
|
|
Sallcom выше пост глянь iEx ведь выложил ссылку на Ютуб
Сообщение отредактировал inkognito - Четверг, 14.05.2015, 08:35:46 |
|
| |
|