Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Zephy's Shop (Создание и подключение модулей.)
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 [ +/- ]
[Beta]
уже там больше и лучш.
http://www.youtube.com/watch?v=sLNJQHtazGM
 
Джускаси Дата: Среда, 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
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Zephy's Shop (Создание и подключение модулей.)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: