.sma bb_gamepoint
/* Plugin generated by AMXX-Studio */
#include
#include
#include
#include
#define PLUGIN "BB game_point"
#define VERSION "1.0"
#define AUTHOR "G[o]Q"
new mKup_przedmiot // Menu
new mcbKup_przedmiot // Menu Callback
const GP_HANDLED=120
new game_pointy[33]
new liczba_itemow
new pack_bonus,pack_bonus2,vault
new Array:nazwy_itemow
new Array:teamy_itemow
new Array:koszta_itemow
new kup_item
new g_vault
new nazwa_gracza[33][64]
public plugin_init() {
register_clcmd("say /buy","pokaz_menu")
register_concmd("give_gp","cmd_daj_gp",ADMIN_IMMUNITY," ")
register_clcmd("","use_command_4_item")
register_clcmd("say","use_command_4_item")
nazwy_itemow=ArrayCreate(64,1);
teamy_itemow=ArrayCreate(1,1);
koszta_itemow=ArrayCreate(1,1);
cache_comands_first()
//cache_comands_second()
set_task(1.0,"cache_comands_second")
register_event("DeathMsg", "DeathMsg", "a")
register_event("Damage", "Damage", "b", "2!=0")
RegisterHam(Ham_Spawn,"player","spwn")
pack_bonus=register_cvar("BB_game_per_kill","1") // ile game_pointow za kill
pack_bonus2=register_cvar("BB_game_per_dmg","2000") // za ile dmg jeden gamepoint
vault=register_cvar("BB_save_gp","1") //1 zapis wlaczony , 0 zapis wylaczony
if(get_pcvar_num(vault))
g_vault=nvault_open("Base_Builder")
kup_item = CreateMultiForward("wybrano_item", ET_CONTINUE, FP_CELL, FP_CELL) //wybrano_item(id,item_id)
}
public cache_comands_first(){
new linijka=0,text[128],chars
static configdir[64],plik[128]
get_configsdir(configdir,63)
formatex(plik,127,"%s/bb-commands.ini",configdir)
do{
linijka = read_file(plik,linijka,text,127,chars)
if((text[0]==';') || !chars) continue
register_clcmd(text,"pokaz_menu")
}
while(linijka!=0)
}
public cache_comands_second(){
new name_item[33]
new komenda[33]
new size=ArraySize(teamy_itemow)
for(new i=0;i=get_pcvar_num(game_bonus2)){
damage-=get_pcvar_num(game_bonus2)
game_pointy[kid]+=1
}
return PLUGIN_CONTINUE
}
public pokaz_pointy(id){
id-=241
new text[128]
format(text,127,"Game Point'y: %d",game_pointy[id])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
public spwn(id){
if(task_exists(id+241)) remove_task(id+241)
set_task(0.6,"pokaz_packi",id+241,_,_,"b")
}
public dodaj_item(const nazwa[],koszt,team){ //team 1 - TT 2 - CT
param_convert(1)
ArrayPushString(nazwy_itemow, nazwa);
ArrayPushCell(teamy_itemow, team);
ArrayPushCell(koszta_itemow,koszt);
liczba_itemow++
return liczba_itemow-1
}
public pokaz_menu(id){
if(!is_user_alive(id)){
client_print(id,print_chat,"Musisz byc zywy aby korzystac ze sklepu")
return PLUGIN_HANDLED
}
mKup_przedmiot = menu_create("Kup_przedmiot", "mh_Kup_przedmiot")
mcbKup_przedmiot = menu_makecallback("mcb_Kup_przedmiot")
new size=ArraySize(koszta_itemow)
for(new i=0;i-1){
ExecuteForward(kup_item, result, id, item);
if(result>=GP_HANDLED){
menu_destroy(menu)
return PLUGIN_HANDLED
}
new koszt =ArrayGetCell(koszta_itemow,item)
kup(id,koszt)
menu_destroy(menu)
}
return PLUGIN_CONTINUE
}
public ma_Kup_prezdmiot(id){}
public mcb_Kup_przedmiot(id, menu, item) {
new team=ArrayGetCell(teamy_itemow,item)
if(game_pointy[id]0)) return ITEM_DISABLED
return ITEM_ENABLED
}
public plugin_natives(){
register_native("dodaj_extra_item", "dodaj_item", 1)
register_native("BB_get_user_gp", "get_gp",1)
register_native("BB_set_user_gp", "set_gp",1)
}
public get_gp(id){
return game_pointy[id]
}
public set_gp(id,gameunt){
game_pointy[id]=gameunt
}
public zapisz_dane(id){
new vaultkey[64],vaultdata[64]
format(vaultkey,63,"%s-bb",nazwa_gracza[id])
format(vaultdata,63,"%d",game_pointy[id])
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public wczytaj_dane(id){
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-bb",nazwa_gracza[id])
format(vaultdata,255,"%d",ammo_packi[id])
nvault_get(g_vault,vaultkey,vaultdata,255) // pobieramy dane
game_pointy[id]=str_to_num(vaultdata)
return PLUGIN_CONTINUE
}
public cmd_daj_gp(id,level,cid){
if(is_user_connected(id)){
new name[32], count[32]
read_argv(1, name, 31)
read_argv(2, count, 31)
new ilosc=str_to_num(count)
new player = cmd_target(id, name, CMDTARGET_ALLOW_SELF)
game_pointy[player]+=ilosc
}
return PLUGIN_HANDLED
}
.sma bb_gp_plus
/* Plugin generated by AMXX-Studio */
#include
#include
#include
#include
#define PLUGIN "Item_nr2"
#define VERSION "1.0"
#define AUTHOR "G[o]Q"
new item
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
item=dodaj_extra_item("+AP",5,2)
}
public wybrano_item(id,item_id){
if(item_id==item){
set_user_armor(id,500)
}
}
.sma bb_grav_plus
/* Plugin generated by AMXX-Studio */
#include
#include
#include
#include
#define PLUGIN "Item_nr3"
#define VERSION "1.0"
#define AUTHOR "G[o]Q"
new item
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
item=dodaj_extra_item("+Gravity",13,0)
}
public wybrano_item(id,item_id){
if(item_id==item){
set_user_gravity(id,0.2)
}
}
.sma bb_hp_plus
/* Plugin generated by AMXX-Studio */
#include
#include
#include
#include
#define PLUGIN "Item_nr1"
#define VERSION "1.0"
#define AUTHOR "G[o]Q"
new item
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
item=dodaj_extra_item("+HP",10,1)
}
public wybrano_item(id,item_id){
if(item_id==item){
set_user_health(id,200)
}
}
Biblioteka gamepoint.inc
#if defined _gamepoint_included #endinput #endif #define _gamepoint_included #define GP_HANDLED 120 /** * Dodaje item do managera game pointow w base builder * * @param nazwa Nazwa wyswietlana w menu * @param koszt Koszt zakupu itemu * @param team Team ktory moze kupic dany item * @return ID extra itemu -1. */ native dodaj_extra_item(const nazwa[],koszt,team) /** * Zwraca liczbe game pointow gracza * * @param index id gracza * * @return liczba game pointow */ native BB_get_user_gp(index) /** * Ustawia graczowi dana liczbe gamepointow * * @param index id gracza * @param gameunt Ilosc gamepointow * */ native BB_set_user_gp(index,gameunt) /** * Forward wywolywany gdy ktos kupi cos ze sklepiku * * Uwaga: Mozesz zwrocic wartosc GP_HANDLED zeby anulowac odjecie gamepointow po zakupiee * np if(get_user_flags(id)&ADMIN_BAN) return GP_HANDLED * * @param id Id gracza kupujacego item * @param itemid Globalne id itemu zwracane przez funkcje dodaj_extra_item */ forward wybrano_item(id, item_id)
I błąd , który wyskakuje :
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team bb_gamepoint.sma(6) : fatal error 100: cannot read from file: "nVault" Compilation aborted. 1 Error.
Dziękuje za pomoc o ile w ogóle ktoś pomoże , chętnie się naucze pisać takie pluginy lub prostrze


Dodatki SourceMod













