PDA

View Full Version : [AMXX] WarGods Shop System



Tiger
29-07-2017, 08:58 PM
Descriere:
SHOP API ce va facilita crearea de subpluginuri (iteme) pentru shop, mai usor si mai eficient, pentru meniul shop. Acest plugin este destinat modurilor fun (precum furien, deathrun) ce folosesc shop menu.

Nume plugin: WarGods Shop System
Autor: Tiger
Versiune: 1.00
Credite: MeRcyLeZZ


Download: Click aici! (<b>You have to register to ba able to see this link</b>)

Guest Download Link: bit.ly/wargods-ro-shop-system

Instalare:
1. Dupa ce ati descarcat arhiva cu continutul fisierelor, dezarhivati arhiva.
2. Uploadati fisierele dezarhivate in continutul directorului cstrike.

Dependinte (se gasesc in arhiva, atat ca plugin compilat cat si ca surse):

amx_settings_api


Comenzi (consola + chat) implicite (ele pot fi modificate din wargods_shop_system.ini) ce va deschide meniul de shop/vipshop:



buy
shop
meniushop
meniu
item
shopvip
vipshop
meniuvip
vipshop
vipitem



Cu ajutorul acestui plugin (de baza) puteti crea subpluginuri ce vor actiona ca iteme in meniul shop.

wargods_shop_system.inc


/**
* Inregistreaza un item in meniul de shop.
*
* @param name Numele item-ului in meniul shop.
* @param description Descrierea sumara a item-ului ce va fi afisata in meniul shop.
* @param T_Money Costul itemului pentru echipa T.
* @param CT_Money Costul itemului pentru echipa CT.
* @param VIP_T_Money Costul itemului pentru jucatorii VIP din echipa T.
* @param VIP_CT_Money Costul itemului pentru jucatorii VIP din echipa CT.
* @return ID item sau SHOP_INVALID_ITEM in caz de esec.
*/
native register_shop_item(const name[], const description[], const T_Money, const CT_Money, const VIP_T_Money, const VIP_CT_Money);

/**
* Apelat la deschiderea meniului sau dupa selectia unui item cu scopul de a verifica daca itemul este disponibil pentru jucatorul respectiv.
*
* Valoriile de returnare posibile sunt:
* - SHOP_ITEM_AVAILABLE (va aparea in meniu si va putea fi selectat)
* - SHOP_ITEM_NOT_AVAILABLE (va aparea in meniu si nu va putea fi selectat)
* - SHOP_ITEM_ALREADY_HAVE (va aparea in meniu si nu va putea fi selectat)
* - SHOP_ITEM_VIP_ONLY (va aparea in meniu, doar pentru cei cu VIP, si va putea fi selectat doar de cei cu VIP)
* - SHOP_ITEM_ALIVE_ONLY (va aparea in meniu, doar pentru cei ce sunt in viata, si va putea fi selectat doar de cei ce sunt in viata)
* - SHOP_ITEM_DEAD_ONLY (va aparea in meniu, doar pentru cei ce nu sunt in viata, si va putea fi selectat doar de cei ce nu sunt in viata)
* - SHOP_ITEM_DONT_SHOW (nu va aparea in meniu si nici nu va putea fi selectat)
*
* @param id ID jucator.
* @param item_index Id item.
* @param is_player_alive TRUE daca jucatorul este in viata.
* @param is_player_vip TRUE daca jucatorul este VIP.
* @param team Echipa jucatorului.
* @param cost Costul itemul-ui.
*/
forward shop_fw_item_select_pre(id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)


/**
* Apelat dupa ce jucatorul a facut selectia unui item din meniu.
*
* @param id ID jucator.
* @param item_index Id item.
* @param is_player_alive TRUE daca jucatorul este in viata.
* @param is_player_vip TRUE daca jucatorul este VIP.
* @param team Echipa jucatorului.
* @param cost Costul itemul-ui.
*/
forward shop_fw_item_select_post(id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)



Changelog:


Versiunea 1.0: Prima lansare;


Observatii:
1. NU ofer sursa!
2. Licenta acestui plugin este valida DOAR serverelor din Comunitatea WarGods!
3. Arhiva contine doar cateva sample-uri ca si cod sursa si contine doar strictul necesar rularii corecte. Pentru restul itemelor de shop prezente pe serverele oficiale va rog sa ma contactati.

Pentru orice fel de problema in legatura cu acest plugin, scrieti aici!

amxx, plugin, licenced plugin, shop menu, hp shop, ap shop, meniu shop, meniu cumparaturi, meniu furien, meniu deathrun, meniu tero, meniu ct, shop api, api meniu

Tiger
29-07-2017, 09:03 PM
(WarGods Shop Item): HE Grenade - cu explicatiile de rigoare.

#include <amxmodx>
#include <cstrike>
#include <fun>

#include <wargods_shop_system>

#define PLUGIN "(WarGods Shop Item): HE Grenade"
#define VERSION "1.0"
#define AUTHOR "Tiger"

// Nume item in meniul shop
#define ItemMenuName "HE Grenade"
// Descriere item in meniul shop
#define ItemDescription "Gives you a HE grenade"

// Cost T
#define Cost_T 5000
// Cost VIP T
#define CostVIP_T 2500
// Cost CT
#define Cost_CT 5000
// Cost VIP CT
#define CostVIP_CT 2500

new plugin_id;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

// inregistram item-ul in meniul shop
plugin_id = register_shop_item( ItemMenuName, ItemDescription, Cost_T, Cost_CT, CostVIP_T, CostVIP_CT);
}

// Apelat atunci cand se enumera item-ele din meniu si atunci cand jucatorul selecteaza item-ul pentru a se determina starea item-ului pentru jucatorul ce a chemat meniul
public shop_fw_item_select_pre( id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)
{
// Ignoram cereriile care nu sunt ale noastre
if (plugin_id != item_index)
return SHOP_ITEM_CONTINUE;

// Verificam ca jucatorul sa fie in echipa T/CT
if (team != CS_TEAM_T && team != CS_TEAM_CT)
return SHOP_ITEM_DONT_SHOW;

// Verificam ca jucatorul sa fie in viata
if (is_player_alive == false)
return SHOP_ITEM_ALIVE_ONLY;

// Verificam daca jucatorul sa nu aiba deja he
new clip, ammo;
get_user_ammo(id, CSW_HEGRENADE, clip, ammo);
if (ammo ==1)
return SHOP_ITEM_ALREADY_HAVE;

// Afisam item-ul in meniu, deoarece verificariile au trecut cu succes
return SHOP_ITEM_AVAILABLE;
}

// Apelat atunci cand jucatorul a selectat un item
public shop_fw_item_select_post(id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)
{
// Ignoram cereriile care nu sunt ale noastre
if (plugin_id != item_index)
return SHOP_ITEM_CONTINUE;

// Acordam jucatorului he-ul
give_item(id, "weapon_hegrenade");

return SHOP_ITEM_AVAILABLE;
}

Tiger
29-07-2017, 09:10 PM
(WarGods Shop Item): M4A1 - cu explicatiile de rigoare.

#include <amxmodx>
#include <cstrike>
#include <fun>

#include <wargods_shop_system>

#define PLUGIN "(WarGods Shop Item): M4A1"
#define VERSION "1.0"
#define AUTHOR "Tiger"

// Nume item in meniul shop
#define ItemMenuName "M4A1"
// Descriere item in meniul shop
#define ItemDescription "Gives you M4A1"

// Cost T
// Deoarece costul este -2, item-ul nu va aparea in meniul T (costul de -2 este rezolvat de wargods_shop_ini_interpretor)
#define Cost_T -2
// Cost VIP T
// Deoarece costul este -2, item-ul nu va aparea in meniul VIP T (costul de -2 este rezolvat de wargods_shop_ini_interpretor)
#define CostVIP_T -2
// Cost CT
// Deoarece costul este -1, item-ul nu va fi disponibil decat pentru VIP CT (costul de -1 este rezolvat de wargods_shop_ini_interpretor)
#define Cost_CT -1
// Cost VIP CT
// Deoarece costul este 0, item-ul este gratuit (costul de 0 este rezolvat de wargods_shop_money)
#define CostVIP_CT 0

new plugin_id;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

// inregistram item-ul in meniul shop
plugin_id = register_shop_item( ItemMenuName, ItemDescription, Cost_T, Cost_CT, CostVIP_T, CostVIP_CT);
}

// Apelat atunci cand se enumera item-ele din meniu si atunci cand jucatorul selecteaza item-ul pentru a se determina starea item-ului pentru jucatorul ce a chemat meniul
public shop_fw_item_select_pre(id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)
{
// Ignoram cereriile care nu sunt ale noastre
if (plugin_id != item_index)
return SHOP_ITEM_CONTINUE;

// Verificam ca jucatorul sa fie in echipa CT
if (team != CS_TEAM_CT)
return SHOP_ITEM_DONT_SHOW;

// Verificam ca jucatorul sa fie VIP
if (is_player_vip == false)
return SHOP_ITEM_VIP_ONLY;

// Verificam ca jucatorul sa fie in viata
if (is_player_alive == false)
return SHOP_ITEM_ALIVE_ONLY;

// Verificam ca jucatorul sa nu aiba deja M4A1
if (user_has_weapon(id, CSW_M4A1))
return SHOP_ITEM_ALREADY_HAVE;

// Afisam item-ul in meniu, deoarece verificariile au trecut cu succes
return SHOP_ITEM_AVAILABLE;
}

public shop_fw_item_select_post(id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)
{
// Ignoram cereriile care nu sunt ale noastre
if (plugin_id != item_index)
return SHOP_ITEM_CONTINUE;

// Acordam jucatorului M4A1
give_item(id, "weapon_m4a1");
cs_set_user_bpammo(id, CSW_M4A1, 90);

return SHOP_ITEM_AVAILABLE;
}

Tiger
29-07-2017, 09:14 PM
Descriere parametrii din cadrul wargods_shop_system.ini:



[SHOP SETTINGS] -> Setari generale
ERROR_SOUND = sound/WarGodsShop/Error2.mp3 -> Sunetul pe care-l va auzi jucatorul in caz de eroare (de exemplu: nu a putut cumpara item-ul)
BUY_SOUND = WarGodsShop/buy.wav -> Sunetul pe care-l va auzi jucatorul in caz de cumparare a unui item cu succes
ALREADY_HAVE_SOUND = sound/WarGodsShop/Error.mp3 -> Sunetul pe care-l va auzi jucatorul in cazul in care are deja item-ul selectat
VIP_ONLY_SOUND = sound/WarGodsShop/Error.mp3 -> Sunetul pe care-l va auzi jucatorul in cazul in care selecteaza un item de VIP, iar el nu are VIP
SHOW_VIP_ITEMS_TO_NONVIP = 1 -> Daca este setat pe 1 atunci se vor afisa itemele de VIP pentru jucatorii NonVIP
SHOW_VIP_ITEMS_PRICE_TO_NONVIP = 1 -> Daca este setat pe 1 atunci se vor afisa preturile itemelor VIP pentru jucatorii NonVIP
SHOP COMMANDS = buy , shop , meniushop , meniu , item -> Comenzi ce vor fi inregistrare, in chat si in consola, pentru meniul normal
SHOP VIP COMMANDS = shopvip , vipshop , meniuvip , vipshop , vipitem -> Comenzi ce vor fi inregistrare, in chat si in consola, pentru meniul VIP

Tiger
01-12-2017, 03:08 PM
Bug fix in fisierul "wargods_shop_system_const.inc":

#define is_player_vip(id) ((get_user_flags(id) & ADMIN_VIP) == ADMIN_VIP)
->
#define is_player_vip(%0) ((get_user_flags(%0) & ADMIN_VIP) == ADMIN_VIP)

TheLyon
03-05-2018, 10:53 AM
#include <amxmodx>
#include <cstrike>
#include <fun>

#include <wargods_shop_system>

#define PLUGIN "(WarGods Shop Item): AK-47"
#define VERSION "1.0"
#define AUTHOR "TheLyon"

// Nume item in meniul shop
#define ItemMenuName "AK47"
// Descriere item in meniul shop
#define ItemDescription "Gives you AK47"

// Cost T
// Deoarece costul este -1, item-ul nu va fi disponibil decat pentru VIP T (costul de -1 este rezolvat de wargods_shop_ini_interpretor)
#define Cost_T -1
// Cost VIP T
// Deoarece costul este 0, item-ul este gratuit (costul de 0 este rezolvat de wargods_shop_ini_interpretor)
#define CostVIP_T 0
// Cost CT
// Deoarece costul este -2, item-ul nu va aparea in meniul CT (costul de -2 este rezolvat de wargods_shop_ini_interpretor)
#define Cost_CT -2
// Cost VIP CT
// Deoarece costul este -2, item-ul nu va aparea in meniul VIP CT (costul de -2 este rezolvat de wargods_shop_money)
#define CostVIP_CT -2

new plugin_id;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

// inregistram item-ul in meniul shop
plugin_id = register_shop_item( ItemMenuName, ItemDescription, Cost_T, Cost_CT, CostVIP_T, CostVIP_CT);
}

// Apelat atunci cand se enumera item-ele din meniu si atunci cand jucatorul selecteaza item-ul pentru a se determina starea item-ului pentru jucatorul ce a chemat meniul
public shop_fw_item_select_pre(id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)
{
// Ignoram cereriile care nu sunt ale noastre
if (plugin_id != item_index)
return SHOP_ITEM_CONTINUE;

// Verificam ca jucatorul sa fie in echipa T
if (team != CS_TEAM_T)
return SHOP_ITEM_DONT_SHOW;

// Verificam ca jucatorul sa fie VIP
if (is_player_vip == false)
return SHOP_ITEM_VIP_ONLY;

// Verificam ca jucatorul sa fie in viata
if (is_player_alive == false)
return SHOP_ITEM_ALIVE_ONLY;

// Verificam ca jucatorul sa nu aiba deja AK47
if (user_has_weapon(id, CSW_AK47))
return SHOP_ITEM_ALREADY_HAVE;

// Afisam item-ul in meniu, deoarece verificariile au trecut cu succes
return SHOP_ITEM_AVAILABLE;
}

public shop_fw_item_select_post(id, item_index, bool:is_player_alive, bool:is_player_vip, CsTeams:team, cost)
{
// Ignoram cereriile care nu sunt ale noastre
if (plugin_id != item_index)
return SHOP_ITEM_CONTINUE;

// Acordam jucatorului AK47
give_item(id, "weapon_ak47");
cs_set_user_bpammo(id, CSW_AK47, 90);

return SHOP_ITEM_AVAILABLE;
}

Pentru orice bug/problema lasati aici un replay

DON KHAN
27-05-2019, 09:28 PM
i tried vip shop, i am alive but it says u are not alive please fix it.

i need it for my sv

Tiger
23-06-2019, 01:46 AM
i tried vip shop, i am alive but it says u are not alive please fix it.

i need it for my sv

Why didn't you ping me? If you are still around here, can you be more specific what did you tried to do? What item did you choose?

Also, do you know this plugin will work only on WarGods servers - right? Maybe you chose the wrong plugin / thread to post.