używałem plugin vip_jb.amxx
I chciałem dodać opcje z paczka granatów ale dodałem
i nie da się skompilować pluginu.
Link do pluginu: http://amxx.pl/topic...dy/page__st__20
Errory z kompilowania:
Cytat
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
vip_jb.sma(85) : error 017: undefined symbol "He"
vip_jb.sma(153) : error 017: undefined symbol "He"
vip_jb.sma(155) : warning 217: loose indentation
vip_jb.sma(165) : error 002: only a single statement (or expression) can follow each "case"
vip_jb.sma(165) : error 017: undefined symbol "menu_ct"
vip_jb.sma(190) : error 029: invalid expression, assumed zero
vip_jb.sma(190) : error 017: undefined symbol "Odrodzenie"
vip_jb.sma(216) : error 029: invalid expression, assumed zero
vip_jb.sma(216) : error 017: undefined symbol "CmdStart"
vip_jb.sma(220) : warning 213: tag mismatch
vip_jb.sma(226) : error 017: undefined symbol "uc_handle"
vip_jb.sma(246) : warning 225: unreachable code
vip_jb.sma(246) : error 029: invalid expression, assumed zero
vip_jb.sma(246) : error 017: undefined symbol "print_vips"
vip_jb.sma(262) : error 017: undefined symbol "user"
vip_jb.sma(262) : warning 215: expression has no effect
vip_jb.sma(262) : warning 215: expression has no effect
vip_jb.sma(262) : warning 215: expression has no effect
vip_jb.sma(262) : error 001: expected token: ";", but found ")"
vip_jb.sma(262) : error 029: invalid expression, assumed zero
vip_jb.sma(262) : fatal error 107: too many error messages on one line
Compilation aborted.
15 Errors.
O to kod SMA jaki przerobiłem, jeszcze był bym wdzięczny ze byście dodali opcje ze jak wchodzi vip na serwer
to na środku jest powitanie, np "witamy naszego vipa Nick" Na żółto

Cytat
/*
Changelog:
19.02.2012r. 1.0 beta
13.03.2012r. 1.1 beta - dodanie mo¿liwoœci zapisu wybranej opcji (nvault) i upiêkszenie menu
*/
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <engine>
#include <colorchat>
#include <nvault>
#define PLUGIN "Vip JailBreak"
#define VERSION "1.1"
#define AUTHOR "K!113r"
#define VIPS
#define GRAWITACJA 0.5
#define HP 131
#define FLAGA ADMIN_LEVEL_H
//#define ZAPIS
#if defined VIPS
new maxplayers
#endif
#if defined ZAPIS
new vault
#endif
new wybor_gracza[33]
new skoki2[33]
enum { Brak = 0, Grawitacja, Skoki, Hp, Widocznosc }
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip_menu", "menu_cmd")
#if defined VIPS
maxplayers = get_maxplayers()
register_clcmd("say /vips", "print_vips", 0);
register_clcmd("say /vipy", "print_vips", 0);
register_clcmd("say /vipinfo", "MOTD")
#endif
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1)
register_forward(FM_CmdStart, "CmdStart");
#if defined ZAPIS
vault=nvault_open("Menu")
if (vault == INVALID_HANDLE)
set_fail_state( "Nie moge otworzyc pliku

#endif
}
#if defined ZAPIS
public client_connect(id)
{
load_wybor(id)
}
#endif
public menu_cmd(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
new tytul[128], name[32], wybor[128]
if(wybor_gracza[id] == Brak)
format(wybor, 127, "\ybrak.")
if(wybor_gracza[id] == Grawitacja)
format(wybor, 137, "\ygrawitacja.")
if(wybor_gracza[id] == Skoki)
format(wybor, 147, "\ypodwojny skok.")
if(wybor_gracza[id] == Hp)
format(wybor, 200, "\ydodatkowe hp.")
if(wybor_gracza[id] == Widocznosc)
format(wybor, 157, "\ymniejsza widocznosc.")
if(wybor_gracza[id] == He)
format(wybor, 127, "\ywszystkie granaty.")
get_user_name(id, name, 31)
format(tytul, 127, "\y%s, \rwitaj w menu do zarzadzania Vip'em\d by K!113r^n\wTwoja aktualnie uzyta opcja to: %s", name, wybor)
new menu = menu_create(tytul, "menu_tt")
menu_additem(menu, "Grawitacja") // item = 0
menu_additem(menu, "Podwojny skok") // item = 1
menu_additem(menu, "Dodatkowe hp") // item = 2
menu_additem(menu, "Mniejsza widocznosc") // item = 3
menu_additem(menu, "Wszystkie granaty") // item = 4
#if defined ZAPIS
menu_additem(menu, "\rZapisz swoja wybrana opcje\d(bedzie ona wczytana przy kazdym polaczeniu z serwerem [mozna zmienic])")
#endif
menu_display(id, menu, 0)
}
else if(cs_get_user_team(id) == CS_TEAM_CT)
{
new tytul[128], name[32], wybor[128]
if(wybor_gracza[id] == Brak)
format(wybor, 127, "\ybrak.")
if(wybor_gracza[id] == Grawitacja)
format(wybor, 137, "\ygrawitacja.")
if(wybor_gracza[id] == Skoki)
format(wybor, 147, "\ypodwojny skok.")
if(wybor_gracza[id] == Hp)
format(wybor, 200, "\ydodatkowe hp.")
if(wybor_gracza[id] == Hp)
format(wybor, 127, "\ydodatkowe hp.")
get_user_name(id, name, 31)
format(tytul, 127, "\y%s, \rwitaj w menu do zarzadzania Vip'em\d by K!113r^n\wTwoja aktualnie uzyta opcja to: %s", name, wybor)
new menu = menu_create(tytul, "menu_ct")
menu_additem(menu, "Grawitacja") // item = 0
menu_additem(menu, "Podwojny skok") // item = 1
menu_additem(menu, "Dodatkowe hp") // item = 2
#if defined ZAPIS
menu_additem(menu, "\rZapisz swoja wybrana opcje\d(bedzie ona wczytana przy kazdym polaczeniu z serwerem [mozna zmienic])")
#endif
menu_display(id, menu, 0)
}
}
else
client_print(id, print_chat, "[Vip] Nie masz dostepu do tej uslugi.")
return 0
}
public menu_tt(id, menu, item)
{
switch(item)
{
case 0:{
wybor_gracza[id] = Grawitacja
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04grawitacje^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
}
case 1:{
wybor_gracza[id] = Skoki
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04podwojny skok^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
}
case 2:{
wybor_gracza[id] = Hp
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04 dodatkowe hp^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
}
case 3:{
wybor_gracza[id] = Widocznosc
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04Mniejsza widocznosc^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
}
case 4:{ wybor_gracza[id] = He
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04Wszystkie granaty^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
{
#if defined ZAPIS
case 5:{
save_wybor(id)
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wlasnie zapisano ^x04Twoj ^x03wybor.")
}
#endif
}
}
public menu_ct(id, menu, item)
{
switch(item)
{
case 0:{
wybor_gracza[id] = Grawitacja
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04grawitacje^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
}
case 1:{
wybor_gracza[id] = Skoki
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04podwojny skok^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
}
case 2:{
wybor_gracza[id] = Hp
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wybrales ^x04 dodatkowe hp^x01. Opcja ta bedzie dostepna w ^x03nastepnej rundzie.")
}
#if defined ZAPIS
case 3:{
save_wybor(id)
ColorChat(id, BLUE, "^x04[^x03Vip^x04] ^x01Wlasnie zapisano ^x04Twoj ^x03wybor.")
}
#endif
}
}
public Odrodzenie(id)
{
if(wybor_gracza[id] == Grawitacja && (get_user_flags(id) & ADMIN_LEVEL_H))
set_user_gravity(id, GRAWITACJA)
if(wybor_gracza[id] == Hp && (get_user_flags(id) & ADMIN_LEVEL_H))
set_user_health(id, HP)
if(is_user_alive(id))
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 999)
if(wybor_gracza[id] == Widocznosc && cs_get_user_team(id) == CS_TEAM_T && (get_user_flags(id) & ADMIN_LEVEL_H))
set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, 60)
{
give_item(id, "weapon_smokegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
}
//////////////do skoków
if(wybor_gracza[id] == Skoki && (get_user_flags(id) & ADMIN_LEVEL_H))
skoki2[id] = 1
if(wybor_gracza[id] != Skoki)
skoki2[id] = 0
////////////// i koniec
}
public CmdStart(id, uc_handle)
{
static moze_skoczyc;
if(!is_user_alive(id) || (!get_user_flags(id) & ADMIN_LEVEL_H))
return FMRES_IGNORED;
if(skoki2[id] == 1 && (get_user_flags(id) & ADMIN_LEVEL_H))
{
new button = get_uc(uc_handle, UC_Buttons);
new oldbutton = pev(id, pev_oldbuttons);
new flags = pev(id, pev_flags);
if((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldbutton & IN_JUMP) && moze_skoczyc & (1<<id))
{
moze_skoczyc &= ~(1<<id)
new Float:velocity[3];
pev(id, pev_velocity, velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity, velocity);
}
else if(flags & FL_ONGROUND){
moze_skoczyc |= (1<<id)
}
}
return FMRES_IGNORED;
}
#if defined VIPS
public print_vips(user)
{
new adminnames[33][32]
new message[256]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & FLAGA)
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "^x04 VIPY ONLINE: ")
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
ColorChat(user, GREEN, "%s", message);
len = format(message, 255, "^x04 ")
}
}
ColorChat(user, GREEN, "%s", message);
}
else {
len += format(message[len], 255-len, "Brak Vipow ONLINE")
ColorChat(user, GREEN, "%s", message);
}
}
#endif
public MOTD( id,level,cid ) {
if ( !cmd_access(id,level,cid,1) )
return PLUGIN_CONTINUE
show_motd( id,"vip.txt","Informacje VIP." );
return PLUGIN_CONTINUE
}
public client_disconnect(id){
wybor_gracza[id] = Brak
}
#if defined ZAPIS
public plugin_end()
nvault_close(vault)
public load_wybor(id)
{
new name[35]
get_user_name(id,name,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-wybor",name)
format(vaultdata,255,"%d",wybor_gracza[id])
nvault_get(vault,vaultkey,vaultdata,255)
new wybortemp[33]
parse(vaultdata,wybortemp, 32)
wybor_gracza[id]=str_to_num(wybortemp)
return PLUGIN_CONTINUE
}
public save_wybor(id){
new name[35]
get_user_name(id,name,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-wybor",name)
format(vaultdata,255,"%d", wybor_gracza[id])
nvault_set(vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
#endifZ góry dzięki i pozdrawiam!
0