Error 017 undefined symbol print

Ошибка при компиляции [РЕШЕНО] - Здравствуйте форумчане. Наткнулся на проблему. Не могу скомпилировать плагин, хо...

Стаж: 9 лет 1 месяц

Сообщений: 15547

Благодарностей: 6971

Полезность: 1206



narkk3, amxx 1.8.2? Если да, пробуй так:
Код:

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <orpheu>
#include <nvault>
#include <colorchat>

#pragma semicolon 1

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define clr_bit(%1,%2) %1 &= ~(1 << (%2 & 31))
#define inv_bit(%1,%2) %1 ^= (1 << (%2 & 31))

#define is_client(%0) (0 < (%0) <= max_players)
#define is_connected(%0) get_bit(ingame, %0)
#define is_alive(%0) is_user_alive(%0)
#define is_valid_client(%0) (is_client(%0) && is_connected(%0))
#define is_observer(%0) pev(%0, pev_iuser1)
#define is_vip(%0) (user_flags[%0] & _VIP)
#define is_admin(%0) (user_flags[%0] & _ADMIN)
#define is_spectator(%0) (user_team[%0] == TEAM_SPECTATOR)

#define PC PLUGIN_CONTINUE
#define PH PLUGIN_HANDLED
#define PH_MAIN PLUGIN_HANDLED_MAIN

#define printf_chat client_print_color
#define is_said_slash_mute (said[0] == '/' && said[1] == 'm' && said[2] == 'u' && said[3] == 't' && said[4] == 'e')

const MAX_CLIENTS = 32;
const NAME_LEN = 32;
const MSG_LEN = 191;
const ITEM_LEN = 128;
const ALL = 0;
const LOAD = 1;
const SAVE = 0;
const AUTH_LEN = 34;
const IP_LEN = 16;
const POST = 1;
const PRE = 0;

const m_iMenu = 205;
const MENU_OFF = 0;

const _IMMUNITY = ADMIN_IMMUNITY; // flag a
const _ADMIN = ADMIN_BAN; // flag d
const _MAIN_ADMIN = ADMIN_RCON; // flag l
const _VIP = ADMIN_LEVEL_H; // flag t

const LOAD_FLAGS_TASKID = 344733;

const MAX_GAGTIME_AGO = -1800; //время в секундах после которого запись в gag.vault будет считаться устаревшей
new const Float: GAG_TIME[] = {300.0, 600.0, 1200.0, 1800.0, 2700.0, 3600.0, 10800.0, 43200.0, 86400.0}; //время бана в секундах, через запятую можно добавить еще

enum
{
TEAM_UNASSIGNED = 0,
TEAM_TERRORIST = 1,
TEAM_CT = 2,
TEAM_SPECTATOR = 3
}

enum menu_prop
{
BACKNAME = 0,
NEXTNAME,
EXITNAME
}

stock const MENU_PROP_LIST[menu_prop][] = {
"Назад",
"След.",
"Выход"
};

stock const PLAYER[] = "player";
stock const PL_LEAVED[] = "Игрок покинул сервер";
stock const CHAT_INFO_PREFIX[] = "^3[Информация]^1";

stock user_team [MAX_CLIENTS + 1],
user_flags [MAX_CLIENTS + 1],
user_name [MAX_CLIENTS + 1][NAME_LEN],
user_steamid[MAX_CLIENTS + 1][AUTH_LEN],
user_ip [MAX_CLIENTS + 1][IP_LEN];

stock item_name[128], item_info[2], item_status, said[MSG_LEN],
max_players, players_num, ingame, isAlive, gmsgTeamInfo,fpv_gag,
is_gagged_by_admin, is_gagged_chat, is_voice_team, is_voice_vip,
is_gagged[MAX_CLIENTS + 1], gag_data[MAX_CLIENTS + 1], hso_voice,
Float: ungag_time[MAX_CLIENTS + 1], Float: can_speak_after_death_time[MAX_CLIENTS + 1],
Float: auth_delay_load_flags, pcv_auth_delay_load_flags,
Float: block_voice_delay, pcv_can_speak_after_death_delay,
sv_alltalk, pcv_alltalk,
alive_listen_dead, pcv_alive_listen_dead,
dead_listen_dead, pcv_dead_listen_dead,
player_listen_enemy, pcv_player_listen_enemy,
admin_listen_mode, pcv_admin_listen_mode;

native gag_menu_display(id);

public plugin_natives()
{
register_native("gag_menu_display", "_gag_menu_display");
}

public plugin_init()
{
register_plugin ("Gag Me", "1.0", "Free");
register_srvcmd ("amx_reloadcvars", "load_cvars");

fpv_gag = nvault_open("gag");

if (fpv_gag == INVALID_HANDLE) {
set_fail_state("Error opening file: /cstrike/addons/amxmodx/data/vault/gag.vault");
}

register_clcmd ("+voiceteam", "clcmd_voiceteam_plus");
register_clcmd ("-voiceteam", "clcmd_voiceteam_minus");
register_clcmd ("+voicevip", "clcmd_voicevip_plus");
register_clcmd ("-voicevip", "clcmd_voicevip_minus");

register_clcmd ("say", "hook_say");
register_clcmd ("say_team", "hook_say");
register_clcmd ("amx_gagmenu", "clcmd_gagmenu");

RegisterHam (Ham_Spawn, PLAYER, "player_Spawn_Post", POST);
RegisterHam (Ham_Killed, PLAYER, "player_Killed_Post", POST);

hso_voice = CreateHudSyncObj();

gmsgTeamInfo = get_user_msgid ("TeamInfo");
register_message (gmsgTeamInfo, "msg_TeamInfo");

register_forward (FM_SetClientKeyValue, "fwd_FM_SetClientKeyValue", PRE);
OrpheuRegisterHook(OrpheuGetFunction("Voice_SetClientListening"), "Voice_SetClientListening");

max_players = get_maxplayers();
}

public plugin_cfg()
{
load_cvars();
}

public load_cvars()
{
static is_cvars_registered;

if (!is_cvars_registered) {
pcv_auth_delay_load_flags = register_cvar ("auth_delay_load_flags" , "0.0");
pcv_can_speak_after_death_delay = register_cvar ("can_speak_after_death_delay", "5.0");

pcv_alive_listen_dead = register_cvar ("alive_listen_dead" , "0");
pcv_dead_listen_dead = register_cvar ("dead_listen_dead" , "1");
pcv_player_listen_enemy = register_cvar ("player_listen_enemy" , "1");
pcv_admin_listen_mode = register_cvar ("admin_listen_mode" , "2");

pcv_alltalk = get_cvar_pointer ("sv_alltalk");

is_cvars_registered = 1;
}

server_exec();
auth_delay_load_flags = get_pcvar_float (pcv_auth_delay_load_flags);
block_voice_delay = get_pcvar_float (pcv_can_speak_after_death_delay);

alive_listen_dead = get_pcvar_num (pcv_alive_listen_dead);
dead_listen_dead = get_pcvar_num (pcv_dead_listen_dead);
player_listen_enemy = get_pcvar_num (pcv_player_listen_enemy);
admin_listen_mode = get_pcvar_num (pcv_admin_listen_mode);

sv_alltalk = get_pcvar_num(pcv_alltalk);

if (!sv_alltalk) {
set_pcvar_num(pcv_alltalk, 1);
}
}

public client_putinserver(id)
{
clr_bit(is_gagged_by_admin, id);
clr_bit(is_gagged_chat, id);
clr_bit(isAlive, id);
clr_bit(is_voice_team, id);
clr_bit(is_voice_vip, id);

is_gagged[id] = 0;
can_speak_after_death_time[id] = 0.0;

players_num++;
set_bit(ingame, id);

get_user_name (id, user_name[id], NAME_LEN - 1);
get_user_authid (id, user_steamid[id], AUTH_LEN - 1);
get_user_ip(id, user_ip[id], IP_LEN - 1, 1);

if (auth_delay_load_flags > 0.0) {
set_task(auth_delay_load_flags, "delayed_load_flags", id + LOAD_FLAGS_TASKID);
}
else {
delayed_load_flags(id + LOAD_FLAGS_TASKID);
}
}

public delayed_load_flags(id)
{
id -= LOAD_FLAGS_TASKID;

if (is_valid_client(id)) {
user_flags[id] = get_user_flags(id);

if (is_user_bot(id)) {
user_flags[id] |= _VIP;
}

gag_vault(id, LOAD);
}
}

public client_disconnect(id)
{
if (is_connected(id)) {
if (get_bit(is_gagged_by_admin, id)) {
gag_vault(id, SAVE);
}

players_num--;
}

clr_bit(ingame,id);
}

public hook_say(id)
{
read_args (said, charsmax(said));
remove_quotes (said);

if (said[0] == 0) {
return PH;
}

if (get_bit(is_gagged_chat, id)) {
if (get_gametime() <= ungag_time[id]) {
printf_chat(id, print_team_default, "%s Вам запрещено писать в чат.", CHAT_INFO_PREFIX);
return PH;
}
else {
clr_bit(is_gagged_chat, id);
}
}

if (is_said_slash_mute) {
return mute_menu (id);
}

return PC;
}

public player_Spawn_Post(id)
{
if (is_alive(id)) {
set_bit(isAlive, id);
}
}

public player_Killed_Post(id, attacker, should_gib)
{
clr_bit(isAlive, id);

can_speak_after_death_time[id] = get_gametime() + block_voice_delay;
}

public OrpheuHookReturn: Voice_SetClientListening (listener, talker, can_hear)
{
if (listener != talker && is_valid_client(listener) && is_valid_client(talker)) {
if (!CanPlayerHearPlayer(listener, talker)) {
OrpheuSetParam(3, 0);
}
}
}

bool: CanPlayerHearPlayer(listener, talker)
{
static listener_alive, talker_alive;

if (get_bit(is_gagged_by_admin, talker)) {
if (get_gametime() <= ungag_time[talker]) {
return false;
}
else {
clr_bit(is_gagged_by_admin, talker);
}
}

if (get_bit(is_gagged[listener], talker)) {
return false;
}

if (admin_listen_mode == 1) {
if (is_admin(listener) || is_admin(talker)) {
return true;
}
}
else if (admin_listen_mode == 2) {
if (is_admin(listener) && is_spectator(listener)) {
return true;
}

if (is_admin(talker) && is_spectator(talker)) {
return true;
}
}

if (get_bit(is_voice_vip, talker) && is_vip(listener)) {
return true;
}

listener_alive = get_bit(isAlive, listener);
talker_alive = get_bit(isAlive, talker);

if (user_team[listener] != user_team[talker]) {
if (!player_listen_enemy && dead_listen_dead && !listener_alive && !talker_alive) {
return true;
}

if (user_team[listener] == TEAM_CT && user_team[talker] == TEAM_TERRORIST) {
return (player_listen_enemy && !get_bit(is_voice_team, talker));
}

if (user_team[listener] == TEAM_TERRORIST && user_team[talker] == TEAM_CT) {
return (player_listen_enemy && !get_bit(is_voice_team, talker));
}
}

if (is_observer(listener)) {
return true;
}

if (listener_alive) {
if (!talker_alive) {
return (alive_listen_dead || get_gametime() < can_speak_after_death_time[talker]);
}
}
else {
if (talker_alive) {
return true;
}
}

return listener_alive && talker_alive;
}

public clcmd_voiceteam_plus(id)
{
set_bit(is_voice_team, id);
client_cmd (id, "+voicerecord");

return PH;
}

public clcmd_voiceteam_minus(id)
{
clr_bit(is_voice_team, id);
client_cmd (id, "-voicerecord");

return PH;
}

public clcmd_voicevip_plus(id)
{
if (is_vip(id)) {
set_bit(is_voice_vip, id);
client_cmd (id, "+voicerecord");
}

return PH;
}

public clcmd_voicevip_minus(id)
{
if (is_vip(id)) {
clr_bit(is_voice_vip, id);
client_cmd (id, "-voicerecord");
}

return PH;
}

public msg_TeamInfo ()
{
static id, team_name_tmp[11];

id = get_msg_arg_int(1);
get_msg_arg_string(2, team_name_tmp, charsmax(team_name_tmp));

switch (team_name_tmp[0]) {
case 'T': user_team[id] = TEAM_TERRORIST;
case 'C': user_team[id] = TEAM_CT;
case 'S': user_team[id] = TEAM_SPECTATOR;
case 'U': user_team[id] = TEAM_UNASSIGNED;
}
}

public fwd_FM_SetClientKeyValue(id, infobuffer[256], key[32], value[32])
{
#define is_key_name (key[0] == 'n' && key[1] == 'a' && key[2] == 'm' && key[3] == 'e')

if (is_valid_client(id)) {
if (is_key_name && value[0]) {
copy(user_name[id], NAME_LEN - 1, value);
}
}
}
public clcmd_gagmenu(id)
{
return gag_menu(id);
}

public _gag_menu_display(plugin_id, argc)
{
return gag_menu(get_param(1));
}

gag_menu(id)
{
if (is_valid_client(id) && user_flags[id] & _ADMIN) {
new gag_menu_id = menu_create ("yЗаткнуть игрока","gag_menu_handler");

static gag_menu_callback_id;

if (!gag_menu_callback_id) {
gag_menu_callback_id = menu_makecallback ("gag_menu_callback");
}

menu_setprop (gag_menu_id, MPROP_BACKNAME, MENU_PROP_LIST[BACKNAME]);
menu_setprop (gag_menu_id, MPROP_NEXTNAME, MENU_PROP_LIST[NEXTNAME]);
menu_setprop (gag_menu_id, MPROP_EXITNAME, MENU_PROP_LIST[EXITNAME]);

new user2;
if (!is_alive(id)) {
user2 = pev(id, pev_iuser2);
if (user2 && is_alive(user2)) {
item_info[0] = user2;
menu_additem (gag_menu_id, user_name[user2], item_info, 0, gag_menu_callback_id);
}
}
for (new i = 1; i <= max_players; ++i){
if(is_connected(i) && i != user2){
item_info[0] = i;
menu_additem (gag_menu_id, user_name[i], item_info, 0, gag_menu_callback_id);
}
}

#if AMXX_VERSION_NUM < 183
set_pdata_int (id, m_iMenu, MENU_OFF);
#endif
menu_display (id, gag_menu_id);
}

return PH;
}

public gag_menu_callback (id, menu, item)
{
static access, callback, ITEM_STATUS, index;

ITEM_STATUS = ITEM_ENABLED;

menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);
index = item_info[0];

if (id == index || !(user_flags[id] & _MAIN_ADMIN) && user_flags[index] & _IMMUNITY) {
formatex (item_name, charsmax(item_name), "%s r*", user_name[index]);
ITEM_STATUS = ITEM_DISABLED;
}
else if (get_bit(is_gagged_by_admin, index)) {
formatex (item_name, charsmax(item_name), "%s r[Молчун]", user_name[index]);
ITEM_STATUS = ITEM_ENABLED;
}
else if (user_flags[index] & _VIP) {
ITEM_STATUS = (user_flags[id] & (_ADMIN | _MAIN_ADMIN)) ? ITEM_ENABLED : ITEM_DISABLED;
}

menu_item_setname (menu, item, item_name);

return ITEM_STATUS;
}

public gag_menu_handler (id, menu, item) //изменить
{
static access, callback, index;

if (item != MENU_EXIT) {
menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);

index = gag_data[id] = item_info[0];

if (is_valid_client(index)) {
if (get_bit(is_gagged_by_admin, index)) {
ungag_time[index] = 0.0;
clr_bit(is_gagged_by_admin, index);
printf_chat(ALL, print_team_default, "^4*^1 Администратор ^3%s ^1снял молчанку с ^3%s^1.", user_name[id], user_name[index]);
}
else {
gagtime_menu(id);
}
}
else {
printf_chat (id, print_team_default, PL_LEAVED);
}
}

menu_destroy(menu);
return PH;
}

gagtime_menu(id)
{
static gagtime_menu_id;

if (is_valid_client(id)) {
if (!gagtime_menu_id) {
gagtime_menu_id = menu_create ("yВыберите времени молчанки", "gagtime_menu_handler");
menu_setprop (gagtime_menu_id, MPROP_EXITNAME, MENU_PROP_LIST[EXITNAME]);

for (new i; i < sizeof GAG_TIME; ++i) {
formatex(item_name, charsmax(item_name), "%.0f минут", (GAG_TIME[i] / 60.0));
menu_additem (gagtime_menu_id, item_name);
}
}

#if AMXX_VERSION_NUM < 183
set_pdata_int (id, m_iMenu, MENU_OFF);
#endif
menu_display (id, gagtime_menu_id);
}

return PH;
}

public gagtime_menu_handler (id, menu, item)
{
if (item != MENU_EXIT) {
ungag_time[gag_data[id]] = get_gametime() + GAG_TIME[item];
set_bit(is_gagged_by_admin, gag_data[id]);
set_bit(is_gagged_chat, gag_data[id]);
printf_chat(ALL, print_team_default, "^4*^1 Администратор %s заткнул %s на^3 %.0f^1 минут.", user_name[id], user_name[gag_data[id]], (GAG_TIME[item] / 60.0));
}

return PH;
}

gag_vault(id, mode)
{
static Float: ctime, sys_time, ungag_systime, ungag_systime_str[11];

ctime = get_gametime();
sys_time = get_systime();

if (mode == LOAD) {
ungag_systime = nvault_get (fpv_gag, user_steamid[id]);

if (!ungag_systime) {
ungag_systime = nvault_get (fpv_gag, user_ip[id]);
}

if (ungag_systime > sys_time) {
set_bit(is_gagged_by_admin, id);
set_bit(is_gagged_chat, id);
ungag_time[id] = ctime + float(ungag_systime - sys_time);
}
}
else {
ungag_systime = floatround(ungag_time[id] - ctime) + sys_time;

if (ungag_systime > sys_time) {
num_to_str(ungag_systime, ungag_systime_str, charsmax(ungag_systime_str));
nvault_set (fpv_gag, user_steamid[id], ungag_systime_str);
nvault_set (fpv_gag, user_ip[id], ungag_systime_str);
}
}
}

mute_menu (id)
{
if (is_valid_client(id)) {
if (players_num < 2) {
printf_chat (id, print_team_default, "%s На сервере менее 2х игроков", CHAT_INFO_PREFIX);
return PH;
}

new mute_menu_id = menu_create ("yЗаглушить игрока","mute_menu_handler");

static mute_menu_callback_id;

if (!mute_menu_callback_id) {
mute_menu_callback_id = menu_makecallback ("mute_menu_callback");
}

menu_setprop (mute_menu_id, MPROP_BACKNAME, MENU_PROP_LIST[BACKNAME]);
menu_setprop (mute_menu_id, MPROP_NEXTNAME, MENU_PROP_LIST[NEXTNAME]);
menu_setprop (mute_menu_id, MPROP_EXITNAME, MENU_PROP_LIST[EXITNAME]);

new user2;
if (!is_alive(id)) {
user2 = pev(id, pev_iuser2);
if (user2 && is_alive(user2)) {
item_info[0] = user2;
menu_additem (mute_menu_id, user_name[user2], item_info, 0, mute_menu_callback_id);
}
}
for (new i = 1; i <= max_players; ++i){
if(is_connected(i) && i != id && i != user2){
item_info[0] = i;
menu_additem (mute_menu_id, user_name[i], item_info, 0, mute_menu_callback_id);
}
}

#if AMXX_VERSION_NUM < 183
set_pdata_int (id, m_iMenu, MENU_OFF);
#endif
menu_display (id, mute_menu_id);
}

return PH;
}

public mute_menu_callback (id, menu, item)
{
static access, callback;

item_status = ITEM_ENABLED;

if (item == 0) {
if (is_gagged[id] == -1) {
copy (item_name, charsmax(item_name), "Заглушить всех y[rВклy]^n");
}
else {
copy (item_name, charsmax(item_name), "Заглушить всех y[rВыклy]^n");
}
}
else {
menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);

if (get_bit(is_gagged[id], item_info[0])) {
formatex (item_name, charsmax(item_name), "%s y[r+y]", user_name[item_info[0]]);
item_status = ITEM_ENABLED;
}
}

menu_item_setname (menu, item, item_name);

return item_status;
}

public mute_menu_handler (id, menu, item)
{
static need_announce, Float: ctime, Float: next_announce_time[MAX_CLIENTS + 1];

ctime = get_gametime();

need_announce = (ctime > next_announce_time[id]) ? 1 : 0;

if (item != MENU_EXIT) {
if (item == 0) {
if (is_gagged[id] == -1) {
is_gagged[id] = 0;

need_announce && printf_chat(ALL, print_team_default, "%s Игрок ^3%s^1 написал^3 /mute^1 (^4слышит всех^1)", CHAT_INFO_PREFIX, user_name[id]);
}
else {
is_gagged[id] = -1;
need_announce && printf_chat(ALL, print_team_default, "%s Игрок ^3%s^1 написал^3 /mute^1 (^4не слышит никого^1)", CHAT_INFO_PREFIX, user_name[id]);
}
}
else {
static access, callback;
menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);

gag_data[id] = item_info[0];

if (is_connected(gag_data[id])) {
if (get_bit(is_gagged[id], gag_data[id])) {
clr_bit(is_gagged[id], gag_data[id]);
need_announce && printf_chat(ALL, print_team_default, "%s^3 Игрок %s^1 написал^3 /mute^1 (^4слышит %s^1)", CHAT_INFO_PREFIX, user_name[id], user_name[gag_data[id]]);
}
else {
set_bit(is_gagged[id], gag_data[id]);
need_announce && printf_chat(ALL, print_team_default, "%s^3 Игрок %s^1 написал^3 /mute^1 (^4не слышит %s^1)", CHAT_INFO_PREFIX, user_name[id], user_name[gag_data[id]]);
}
}
else {
printf_chat (id, print_team_default, PL_LEAVED);
}
}

menu_destroy(menu);
mute_menu (id);
}
else {
menu_destroy(menu);
}

next_announce_time[id] = ctime + 3.0;
return PH;
}

public plugin_end()
{
if (fpv_gag != INVALID_HANDLE) {
nvault_prune(fpv_gag, 0, get_systime(MAX_GAGTIME_AGO));
nvault_close(fpv_gag);
}

set_pcvar_num(pcv_alltalk, sv_alltalk);
}


#1

Пользователь офлайн
 

Отправлено 27 августа 2015 — 20:59

  • Прохожий

Я в павно полный нуб помогите. Вот ссылка на мой мод и инклуды. Если сделаете отправте исправленный мод пожалуйста. https://drive.google…MVVudFlIUEVDQWs

Вот Компилирование
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(7) : warning 235: public function lacks forward declaration (symbol «OnGameModeInit»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(10) : error 017: undefined symbol «SetGameModeText»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(11) : error 017: undefined symbol «AddPlayerClass»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(16) : error 017: undefined symbol «print»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(17) : error 017: undefined symbol «print»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(18) : error 017: undefined symbol «print»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(20) : warning 235: public function lacks forward declaration (symbol «OnGameModeExit»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(25) : warning 235: public function lacks forward declaration (symbol «OnPlayerRequestClass»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(27) : error 017: undefined symbol «SetPlayerPos»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(28) : error 017: undefined symbol «SetPlayerCameraPos»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(29) : error 017: undefined symbol «SetPlayerCameraLookAt»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(33) : warning 235: public function lacks forward declaration (symbol «OnPlayerConnect»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(38) : warning 235: public function lacks forward declaration (symbol «OnPlayerDisconnect»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(43) : warning 235: public function lacks forward declaration (symbol «OnPlayerSpawn»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(48) : warning 235: public function lacks forward declaration (symbol «OnPlayerDeath»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(53) : warning 235: public function lacks forward declaration (symbol «OnVehicleSpawn»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(58) : warning 235: public function lacks forward declaration (symbol «OnVehicleDeath»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(63) : warning 235: public function lacks forward declaration (symbol «OnPlayerText»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(68) : warning 235: public function lacks forward declaration (symbol «OnPlayerCommandText»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(70) : error 017: undefined symbol «strcmp»
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(78) : warning 235: public function lacks forward declaration (symbol «OnPlayerEnterVehicle»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(83) : warning 235: public function lacks forward declaration (symbol «OnPlayerExitVehicle»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(88) : warning 235: public function lacks forward declaration (symbol «OnPlayerStateChange»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(93) : warning 235: public function lacks forward declaration (symbol «OnPlayerEnterCheckpoint»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(98) : warning 235: public function lacks forward declaration (symbol «OnPlayerLeaveCheckpoint»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(103) : warning 235: public function lacks forward declaration (symbol «OnPlayerEnterRaceCheckpoint»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(108) : warning 235: public function lacks forward declaration (symbol «OnPlayerLeaveRaceCheckpoint»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(113) : warning 235: public function lacks forward declaration (symbol «OnRconCommand»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(118) : warning 235: public function lacks forward declaration (symbol «OnPlayerRequestSpawn»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(123) : warning 235: public function lacks forward declaration (symbol «OnObjectMoved»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(128) : warning 235: public function lacks forward declaration (symbol «OnPlayerObjectMoved»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(133) : warning 235: public function lacks forward declaration (symbol «OnPlayerPickUpPickup»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(138) : warning 235: public function lacks forward declaration (symbol «OnVehicleMod»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(143) : warning 235: public function lacks forward declaration (symbol «OnVehiclePaintjob»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(148) : warning 235: public function lacks forward declaration (symbol «OnVehicleRespray»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(153) : warning 235: public function lacks forward declaration (symbol «OnPlayerSelectedMenuRow»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(158) : warning 235: public function lacks forward declaration (symbol «OnPlayerExitedMenu»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(163) : warning 235: public function lacks forward declaration (symbol «OnPlayerInteriorChange»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(168) : warning 235: public function lacks forward declaration (symbol «OnPlayerKeyStateChange»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(173) : warning 235: public function lacks forward declaration (symbol «OnRconLoginAttempt»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(178) : warning 235: public function lacks forward declaration (symbol «OnPlayerUpdate»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(183) : warning 235: public function lacks forward declaration (symbol «OnPlayerStreamIn»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(188) : warning 235: public function lacks forward declaration (symbol «OnPlayerStreamOut»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(193) : warning 235: public function lacks forward declaration (symbol «OnVehicleStreamIn»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(198) : warning 235: public function lacks forward declaration (symbol «OnVehicleStreamOut»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(203) : warning 235: public function lacks forward declaration (symbol «OnDialogResponse»)
C:Users??????DesktopSigach-RPGgamemodesnew.pwn(208) : warning 235: public function lacks forward declaration (symbol «OnPlayerClickPlayer»)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

9 Errors.

Сообщение отредактировал nik123c: 27 августа 2015 — 21:08

0


#2

Отправлено 28 августа 2015 — 00:31

  • Профессионал
#include <a_samp>

Сообщение отредактировал m1n1vv: 28 августа 2015 — 00:32

0


#3

Отправлено 05 сентября 2015 — 15:31

  • Banned

Скобку где то не закрыл (возможно). Еще может быть надо прописать #include <a_samp> (как сказал выше m1n1vv). Ну или «return 1;» не прописал.

Author

Message

Member

Old

01-09-2021

, 09:16

 

error 017: undefined symbol «client_print_color»

Reply With Quote

#1


PHP Code:



public ShowCurrentTop(id)

{

    if(!
SayHot)

    {

        
client_print_color(id,print_team_red,"%L %L",id,"STATS_TAG"id,"DISABLED_MSG")

        
        return 

PLUGIN_HANDLED

    
}

    
    new 

players[MAX_PLAYERS],pnum

    get_players
(players,pnum)

    
    new 

current_top[MAX_PLAYERS][2]

    
    for(new 

i,stats[8],bh[8] ; pnum i++)

    {

        
current_top[i][0] = players[i]
#if !defined CSSTATSX_SQL

            
current_top[i][1] = get_user_stats(players[i],stats,bh)

        
#else

            
current_top[i][1] = get_user_stats_sql(players[i],stats,bh)

        
#endif

    





giumbalau is offline

Veteran Member

iceeedr's Avatar

Join Date: Apr 2017

Location: Brazil

iceeedr is offline

Send a message via Skype™ to iceeedr

Member

Old

01-09-2021

, 11:00

 

Re: error 017: undefined symbol «client_print_color»

Reply With Quote

#3


Quote:

Originally Posted by iceeedr
View Post

To use client_print_color you need amx 1.9+

Any other method ? …. to color ?
EDIT : I don’t care about the color i just want to solve the error…please


Last edited by giumbalau; 01-09-2021 at 11:05.

giumbalau is offline

Veteran Member

Napoleon_be's Avatar

Join Date: Jul 2011

Location: Belgium

Old

01-09-2021

, 12:52

 

Re: error 017: undefined symbol «client_print_color»

Reply With Quote

#4


PHP Code:



client_print_color(id,print_team_red,"%L %L",id,"STATS_TAG"id,"DISABLED_MSG"




PHP Code:



client_print(idprint_chat"%L %L"id"STATS_TAG"id"DISABLED_MSG"




__________________

Napoleon_be is offline

Send a message via Skype™ to Napoleon_be

Veteran Member

OciXCrom's Avatar

Join Date: Oct 2013

Location: Macedonia

Old

01-09-2021

, 15:41

 

Re: error 017: undefined symbol «client_print_color»

Reply With Quote

#5


Simply download cromchat.inc and add #include <cromchat> in the code.

__________________


Last edited by OciXCrom; 01-09-2021 at 15:41.

OciXCrom is offline

Send a message via Skype™ to OciXCrom

Member

Old

01-10-2021

, 05:12

 

Re: error 017: undefined symbol «client_print_color»

Reply With Quote

#6


Solved thanks

giumbalau is offline

В общем, исправлял опечатки в скрипте, в итоге не могу скомпилировать
Ошибки: Вы должны зарегистрироваться, чтобы видеть ссылки.

Все ошибки связаны с undefined symbol, смотрел строчки где вылезли эти ошибки, не могу понять что там не так, пожалуйста помогите, ну или хотябы покажите на примере 1 из этих ошибок, а дальше я сам как нибудь попробую
Сам код:

Код: Выделить всё
#include AmxModX
#include JBE_core
#include FakeMeta
#include HamSandwich

#define RegisterMenu(%1,%2,%3) register_menucmd(register_menuid(%1),%3,%2)

#define TaskId_Regen 12125
#define MAX_PLAYERS 32

/* -> Бит суммы для игроков -> */
#define SetBit(%0,%1)                 ((%0) |= (1 << (%1)))
#define ClearBit(%0,%1)             ((%0) &= ~(1 << (%1)))
#define IsSetBit(%0,%1)             ((%0) & (1 << (%1)))
#define InvertBit(%0,%1)             ((%0) ^= (1 << (%1)))
#define IsNotSetBit(%0,%1)             (~(%0) & (1 << (%1)))

/* -> Массивы для меню из игроков -> */

new g_iMenuPlayers[MAX_PLAYERS + 1][32], g_iMenuPosition[MAX_PLAYERS + 1];enum _: eBLOCK
{
    REGEN,
    MODE
};new g_iBitUserIsType[eBLOCK], g_iUserRespawnNum[MAX_PLAYERS], g_iGodModeType[MAX_PLAYERS + 1], g_iUserPoints[MAX_PLAYERS + 1],
g_iDayMode, g_iMaxPlayers, g_iSyncText;public plugin_natives()
{
    register_native( "Open_KnyazMenu", "Show_KnyazMenu", 1 );
    register_native( "Open_CreateMenu", "Show_CreatorMenu", 1 );
    register_native( "Open_GodModeMenu", "Show_GodModeMenu", 1 );
    register_native( "Open_Respawn_Menu", "Cmd_OpenResspawnMenu", 1 );
    register_native( "Open_StrongMenu", "Show_StrongMenu", 1 );
}
public plugin_init()
{
    get_license();
    register_plugin("[UJBL] Privileges Addon", "vk/krisiso", "ToJI9IHGaa");    new iBits = (1<<0|1<<1|1<<2|1<<9);
    
    RegisterMenu
("Show_KnyazMenu", "Handle_KnyazMenu", iBits);
    
    iBits 
|= (1<<3|1<<4);
    
    RegisterMenu
("Show_CreatorMenu", "Handle_CreatorMenu", iBits);
    RegisterMenu("Show_GodModeMenu", "Handle_GodModeMenu", iBits);    iBits |= (1<<5|1<<6|1<<7|1<<8);
    
    RegisterMenu
("Show_RespawnMenu", "Handle_RespawnMenu", iBits);
    RegisterMenu("Show_GodModeList", "Handle_GodModeList", iBits);
    RegisterMenu("Show_StrongMenu", "Handle_Strong1Menu", iBits);
        
    register_logevent
("LogEvent_RoundStart",2,"1=Round_Start");
    
    g_iMaxPlayers 
= get_maxplayers();
    g_iSyncText = CreateHudSyncObj();
}
public LogEvent_RoundStart()
{
    for( new pId = 1; pId <= g_iMaxPlayers; pId++ )
    {
        if( jbe_get_privileges_flags( pId ) & FLAGS_KNYAZ )
        {    
            if
( task_exists( pId + TaskId_Regen ) ) remove_task( pId + TaskId_Regen );
            static iMode, iInvisible; jbe_get_user_rendering( pId, iMode, iMode, iMode, iMode, iMode, iInvisible );
            if( iMode == kRenderTransAlpha && iInvisible == 70 ) jbe_set_user_rendering( pId, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100 );        

                        g_iBitUserIsType

[ REGEN ] = 0;
            g_iUserRespawnNum[ pId ] = 3;
        }
    }
}
#define TaskId_UpPoints 12421
public client_putinserver( pId )
{
    if( jbe_get_privileges_flags( pId ) & FLAGS_STRONG ) 
    
{
        set_task( 300.0, "fnUpPoints", pId + TaskId_UpPoints, _, _, "b" );
        if( !is_linux_server() ) g_iUserPoints[ pId ] = 999;
    }
}
public client_disconnect( pId )
{
    if( task_exists( pId + TaskId_UpPoints ) )
    {
        remove_task( pId + TaskId_UpPoints );
        g_iUserPoints[ pId ] = 0;
    }
}
public fnUpPoints( pId ) 
{
    pId -= TaskId_UpPoints;
    new iNum = random_num( 1, 3 );
    g_iUserPoints[ pId ] += iNum;
    UTIL_SayText( pId, "Вы получили: !g%d !tPresent Points!y. Теперь их у Вас: !g%d", iNum, g_iUserPoints[ pId ] );
}
    
public Show_StrongMenu
( pId )
{
    #define PP[%1] g_iUserPoints[%1]
    #define AddItem(%1) iLen += formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, %1 )
    #define AddBit(%1) iKeys |= ( 1<<%1 )
    
    jbe_informer_offset_up
( pId );
    new szMenu[ 512 ], iLen, iKeys = ( 1<<);
    iLen = formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "yStrong Menu^nВаши rPresentPoints: w%d^n^n", PP[ pId ] );
    
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 0 )
    {
        AddItem( "r(1)y | w250$Rr[ 1PP ]^n" );
        AddBit( 0 );
    }
    else AddItem( "r(1)y | d250$Rr[ 1PP ]^n" );    
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( pev( pId, pev_health ) >= 500.0 || pev( pId, pev_armorvalue ) >= 255.0 )
        AddItem("r(2)y | dHealth & Armor Packr(У Вас много HP/AP)R[ 1PP ]^n");
    else
    
{
        if( PP[ pId ] > 0 )
        {
            AddItem("r(2)y | wHealth & Armor PackRr[ 1PP ]^n");
            AddBit( 1 );
        }
        else AddItem("r(2)y | dHealth & Armor PackRr[ 1PP ]^n");
    }
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 1 )
    {
        AddItem( "r(3)y | wСпец комплектRr[ 2PP ]^n" );
        AddBit( 2 );
    }
    else AddItem( "r(3)y | dСпец комплектRr[ 2PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 0 )
    {
        AddItem( "r(4)y | wTeleport на spawnRr[ 1PP ]^n" );
        AddBit( 3 );
    }
    else AddItem( "r(4)y | dTeleport на spawnRr[ 1PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 0 )
    {
        AddItem( "r(5)y | wOpen door (По прицелу)Rr[ 1PP ]^n" );
        AddBit( 4 );
    }
    else AddItem( "r(5)y | dOpen door (По прицелу)Rr[ 1PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 1 )
    {
        AddItem( "r(6)y | wПодмена мест (Случайный игрок)Rr[ 2PP ]^n" );
        AddBit( 5 );
    }
    else AddItem( "r(6)y | dПодмена мест (Случайный игрок)Rr[ 2PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 2 )
    {
        AddItem( "r(7)y | wСлучайное оружиеRr[ 3PP ]^n" );
        AddBit( 6 );
    }
    else AddItem( "r(7)y | dСлуайное оружиеRr[ 3PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    static iMode, iInvisible; jbe_get_user_rendering( pId, iMode, iMode, iMode, iMode, iMode, iInvisible);
    if( iMode == kRenderTransAlpha && iInvisible == 100 )
        AddItem( "r(8)y | dПолная невидимость r(Активно)R[ 4PP ]^n" );
    else 
    
{
        if( PP[ pId ] > 3 )
        {
            AddItem( "r(8)y | wПолная невидимостьRr[ 4PP ]^n" );
            AddBit( 7 );
        }
        else AddItem( "r(8)y | dПолная невидимостьRr[ 4PP ]^n" );
    }
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    AddItem( "^nr(0)y | wВыход^n" );
    
    return show_menu
( pId, iKeys, szMenu, -1, "Show_StrongMenu" );
}
public Handle_Strong1Menu( pId, iKey )
{
    switch( iKey )
    {
        case 0:
        {
            jbe_set_user_money( pId, jbe_get_user_money( pId ) + 250, 1 );
            g_iUserPoints[ pId ]--;
            return Show_StrongMenu( pId );
        }
        case 1: 
        
{
            set_pev( pId, pev_health, 500.0 );
            set_pev( pId, pev_armorvalue, 255.0 );
            g_iUserPoints[ pId ]--;
        }
        
        case 2
:
        {
            switch( jbe_get_user_team( pId ) )
            {
                case 1: 
                
{
                    drop_user_weapons( pId, 0 ); jbe_set_user_rendering( pId, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20 );
                    fm_give_item( pId, "item_kevlar" ); set_pev( pId, pev_armorvalue, pev( pId, pev_armorvalue ) + 70.0 );
                    new iItemId = fm_give_item( pId, "weapon_usp" ); fm_give_item( pId, "weapon_flashbang" );
                    if( iItemId ) set_pdata_int( iItemId, 51, 30, 4 );    
                
}
                case 2:
                {
                    drop_user_weapons( pId, 1 ); set_pev( pId, pev_health, pev( pId, pev_health ) + 70.0 );
                    
                    if
( fm_give_item( pId, "weapon_hegrenade" ) ) 
                    
{
                        client_cmd( pId, "weapon_hegrenade" );
                        set_pdata_int( pId, 388, 5, 5 );
                    }
                    
                    if
( fm_give_item( pId, "weapon_m4a1" ) ) 
                    
{
                        client_cmd( pId, "weapon_m4a1" );
                        set_pdata_int( pId, 380, 200, 5 );
                    }
                }
            }
            
            g_iUserPoints
[ pId ] -= 2;
        }
        
        case 3
:
        {
            new iEntity;
            switch( jbe_get_user_team( pId ) )
            {
                case 1: iEntity = engfunc( EngFunc_FindEntityByString, iEntity, "classname", "info_player_deathmatch" );
                case 2: iEntity = engfunc( EngFunc_FindEntityByString, iEntity, "classname", "info_player_start" );
            }
            if( !iEntity ) return Show_StrongMenu( pId );
            new Float: vecOrigin[ 3 ]; pev( iEntity, pev_origin, vecOrigin );
            set_pev( pId, pev_origin, vecOrigin );
            
            g_iUserPoints
[ pId ]--;
        }
        
        case 4
:        
        
{
            new iEntity, iBody; get_user_aiming( pId, iEntity, iBody, 30 );
            if( !pev_valid( iEntity ) ) return Show_StrongMenu( pId );
            
            new szClassName
[ 32 ]; pev( iEntity, pev_classname, szClassName, charsmax( szClassName ) );
            if( szClassName[ 5 ] == 'd' && szClassName[ 6 ] == 'o' && szClassName[ 7 ] == 'o' && szClassName[ 8 ] == 'r' )
            {
                client_print( pId, print_center, "<<<< OPENED >>>>" );
                dllfunc( DLLFunc_Use, iEntity, pId );
            }
            else return Show_StrongMenu( pId );
            
            g_iUserPoints
[ pId ]--;
        }
        
        case 5
:
        {
            new iPlayers[ 32 ], iNum, pTarget;
            for( pTarget = 1; pTarget <= g_iMaxPlayers; pTarget++ )
            {
                if( !jbe_is_user_alive( pTarget ) || pTarget == pId ) continue;
                iPlayers[ iNum++ ] = pTarget;
            }
            
            if
( !iNum )
            {
                client_print( pId, print_center, "<<<< No Players >>>>" );
                return Show_StrongMenu( pId );
            }
            
            new Float
: vecOriginTarget[ 3 ], Float: vecOrigin[ 3 ]; pTarget = iPlayers[ random_num( 1, iNum - 1 ) ];
            pev( pTarget, pev_origin, vecOriginTarget ); pev( pId, pev_origin, vecOrigin );
            set_pev( pId, pev_origin, vecOriginTarget ); set_pev( pTarget, pev_origin, vecOrigin );
            
            client_print
( pTarget, print_center, "<<<< Кто-то поменялся с вами позициями! >>>>" );
            
            g_iUserPoints
[ pId ] -= 2;
        }
        
        case 6
:
        {
            drop_user_weapons( pId, 1 ); drop_user_weapons( pId, 0 );
            new szWeapons[][] = { "weapon_m4a1", "weapon_usp", "weapon_ak47", "weapon_glock18", "weapon_m249" };
            fm_give_item( pId, szWeapons[ random_num( 0, 4 ) ] );
            
            g_iUserPoints
[ pId ] -= 3;
        }
        
        case 7
:
        {
            jbe_set_user_rendering( pId, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100 );
            client_print( pId, print_center, "<<<< Вы невидимы! >>>>" );
            
            g_iUserPoints
[ pId ] -= 4;
        }
    }
    return PLUGIN_HANDLED;
}
public Show_KnyazMenu( id )
{
    jbe_informer_offset_up(id);
    static iMode, iInvisible; jbe_get_user_rendering(id, iMode, iMode, iMode, iMode, iMode, iInvisible);
    
    new szMenu
[340], iLen, iKeys = (1<<0|1<<1|1<<9);
    iLen = formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y%L^n^n", id, "JBE_KNYAZ_TITLE");
    FormatMenu("r(1) y|  w%L^n", id, "JBE_KNYAZ_REGENERATION", IsSetBit(g_iBitUserIsType[REGEN], id) ? "Включено" : "Выключено");
    FormatMenu("r(2) y|  w%L^n", id, "JBE_KNYAZ_INVISIBLE", (iMode == kRenderTransAlpha && iInvisible == 70) ? "Включено" : "Выключено");
    
    if
(g_iUserRespawnNum[id] > 0)
    {
        FormatMenu("r(3) y| w %L r[%d]^n", id, "JBE_RESPAWN_MENU", g_iUserRespawnNum[id]);
        iKeys |= (1<<2);
    }
    else FormatMenu("r(3) y| d %L r(0) y| ^n", id, "JBE_RESPAWN_MENU");
    FormatMenu("^nr(0) y| w Выход");
    return ShowMenu("Show_KnyazMenu");
}
public Handle_KnyazMenu(id, iKey)
{
    switch(iKey)
    {
        case 0:
        {
            if(IsSetBit(g_iBitUserIsType[REGEN], id)) remove_task(id + TaskId_Regen);
            else set_task(10.0, "Regenerations", id + TaskId_Regen, _, _, "b");
            
            InvertBit
(g_iBitUserIsType[REGEN], id);
        }
        case 1:
        {
            static iMode, iInvisible;
            jbe_get_user_rendering(id, iMode, iMode, iMode, iMode, iMode, iInvisible);
            if(iMode == kRenderTransAlpha && iInvisible == 70) jbe_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100);
            else jbe_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 70);
        }
        case 2: return Show_RespawnMenu(id, g_iMenuPosition[id] = 0);    
        case 9
: return PLUGIN_HANDLED;
    }
    return Show_KnyazMenu(id);
}
public Regenerations(id)
{
    id -= TaskId_Regen;
    if(jbe_get_status_duel() || jbe_get_day_mode() == 3 || !jbe_is_user_alive(id)) 
    
{
        remove_task(id + TaskId_Regen);
        return;
    }
    if(pev(id, pev_health) >= 100) 
    
{
        client_print(id, print_center, "[Князь Меню] Регенерация завершена.");
        remove_task(id + TaskId_Regen);
        return;
    }
    set_pev(id, pev_health, pev(id, pev_health) + 5.0);
}
public Show_CreatorMenu(id)
{
    jbe_informer_offset_up(id);    
    new szMenu
[516], iLen, iKeys = (1<<0|1<<1|1<<2|1<<3|1<<9), Float: fGravity;
    pev(id, pev_gravity, fGravity);
    iLen = formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y%L^n^n", id, "JBE_CREATOR_TITLE");
    
    iLen 
+= formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[1] w%L^n^n", id, "JBE_CREATER_TYPE", IsNotSetBit(g_iBitUserIsType[MODE], id) ? "Забрать" : "Дать");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[2] w%L^n", id, "JBE_CREATE_HEALTH", pev(id, pev_health));
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[3] w%L^n^n", id, "JBE_CREATE_ARMOR", pev(id, pev_armorvalue));
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[4] w%L^n^n", id, "JBE_CREATE_GRAVITY", fGravity);
    if(!jbe_is_user_alive(id))
    {
        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] w%L^n^n",id, "JBE_RESPAWN_CREATE");
        iKeys |= (1<<4);
    }
    else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] d%L^n^n",id, "JBE_RESPAWN_CREATE");
    FormatMenu("^nr(0) y| w Выход");
    return ShowMenu("Show_CreatorMenu");
}
public Handle_CreatorMenu(id, iKey)
{
    switch(iKey)
    {
        case 0: InvertBit(g_iBitUserIsType[MODE], id);
        case 1: 
        
{
            if(IsSetBit(g_iBitUserIsType[MODE], id))
            {
                if(pev(id, pev_health) >= 160) client_print(id, print_center, "У Вас много жизней!");
                else set_pev(id, pev_health, pev(id, pev_health) + 5.0);
            }
            else
            
{
                if(pev(id, pev_health) < 6) client_print(id, print_center, "У Вас мало жизней!");
                else set_pev(id, pev_health, pev(id, pev_health) - 5.0);
            }
        }
        case 2:
        {
            if(IsSetBit(g_iBitUserIsType[MODE], id))
            {
                if(pev(id, pev_armorvalue) >= 160) client_print(id, print_center, "У Вас много брони!");
                else set_pev(id, pev_armorvalue, pev(id, pev_armorvalue) + 5.0);
            }
            else
            
{
                if(pev(id, pev_armorvalue) < 6) client_print(id, print_center, "У Вас мало брони!");
                else set_pev(id, pev_armorvalue, pev(id, pev_armorvalue) - 5.0);
            }
        }
        case 3:
        {
            new Float: fGravity;
            pev(id, pev_gravity, fGravity);
            
            if
(IsSetBit(g_iBitUserIsType[MODE], id))
            {
                if(fGravity <= 0.5) client_print(id, print_center, "Слишком большая гравитация!");
                else 
                
{
                    fGravity -= 0.05;
                    set_pev(id, pev_gravity, fGravity);
                }
            }
            else
            
{
                if(fGravity >= 1.0) client_print(id, print_center, "Слишком маленькая гравитация!");
                else 
                
{
                    fGravity += 0.05;
                    set_pev(id, pev_gravity, fGravity);
                }
            }
        }
        case 4: ExecuteHam(Ham_CS_RoundRespawn, id);
        case 9: return PLUGIN_HANDLED;
    }
    return Show_CreatorMenu(id);
}
public Show_GodModeMenu(id)
{
    jbe_informer_offset_up(id);
    
    new szMenu
[700], iLen;
    iLen = formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y%L^n^n", id, "JBE_GODMODE_TITLE");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[1] w%L^n^n", id, "JBE_GODMODE_TYPE", IsNotSetBit(g_iBitUserIsType[MODE], id) ? "Забрать" : "Дать");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[2] w%L^n", id, "JBE_GODMODE_HEALTH");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[3] w%L^n^n", id, "JBE_GODMODE_ARMOR");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[4] w%L^n^n", id, "JBE_GODMODE_GRAVITY");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] w%sr%L^n^n", g_iDayMode ? "Ночь | ":"День | ", id, "JBE_GODMODE_DEYMODE");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^ny[0] w%L", id, "JBE_MENU_EXIT");    return show_menu(id, (1<<0|1<<1|1<<2|1<<3|1<<4|1<<9), szMenu, -1, "Show_GodModeMenu");    
}
public Handle_GodModeMenu(id, iNum)
{
    switch(iNum)
    {
        case 0:
        {
            InvertBit(g_iBitUserIsType[MODE], id);
            return Show_GodModeMenu(id);
        }
        case 1:
        {
            g_iGodModeType[id] = 1;
            return Show_GodModeList(id, g_iMenuPosition[id] = 0);
        }
        case 2:
        {
            g_iGodModeType[id] = 2;
            return Show_GodModeList(id, g_iMenuPosition[id] = 0);
        }
        case 3:
        {
            g_iGodModeType[id] = 3;
            return Show_GodModeList(id, g_iMenuPosition[id] = 0);
        }
        case 4:
        {
            DayMode_Setting();
            return Show_GodModeMenu(id);
        }
        case 5: return Show_RespawnMenu(id, g_iMenuPosition[id] = 0);
    }
    return PLUGIN_HANDLED;
}
public Cmd_OpenResspawnMenu(id) Show_RespawnMenu(id, g_iMenuPosition[id] = 0);
public Show_RespawnMenu(id, iPos)
{
    
    if
(iPos < 0) return PLUGIN_HANDLED;
    if(~jbe_get_privileges_flags(id) & FLAGS_GOD && !g_iUserRespawnNum[id])
    {
        client_print(0, print_center, "У Вас закончились попытки возрождения!");
        return Show_KnyazMenu(id);
    }    

    jbe_informer_offset_up

(id);
    new iPlayersNum;
    
    for
(new i = 1; i <= g_iMaxPlayers; i++)
    {
        if(!jbe_get_user_team(i) || jbe_get_user_team(i) >= 3 || jbe_is_user_alive(i)) continue;
        g_iMenuPlayers[id][iPlayersNum++] = i;    
    
}
    new iStart = iPos * 8;
    if(iStart > iPlayersNum) iStart = iPlayersNum;
    iStart = iStart - (iStart % 8);
    g_iMenuPosition[id] = iStart / 8;
    new iEnd = iStart + 8;
    if(iEnd > iPlayersNum) iEnd = iPlayersNum;
    new szMenu[1024], iLen, iPagesNum = (iPlayersNum / 8 + ((iPlayersNum % 8) ? 1 : 0));
    switch(iPagesNum)
    {
        case 0:
        {    
            client_print
(id, print_center, "%L", id, "JBE_CHAT_ID_PLAYERS_NOT_VALID");            
            return PLUGIN_HANDLED
;
        }
        default: iLen = formatex(szMenu, charsmax(szMenu), "y%L w[%d|%d]^n^n", id, "JBE_RESPAWN_MENU", iPos + 1, iPagesNum);
    }
    new szName[32], i, iKeys = (1<<9), b;
    for(new a = iStart; a < iEnd; a++)
    {
        i = g_iMenuPlayers[id][a];
        get_user_name(i, szName, charsmax(szName));
        iKeys |= (1<<b);
        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%s^n", ++b, szName);
    }
    for(new i = b; i < 8; i++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
    if(iEnd < iPlayersNum)
    {
        iKeys |= (1<<8);
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^ny[9] w%L^ny[0] w%L", id, "JBE_MENU_NEXT", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    }
    else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^ny[0] w%L", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    return show_menu(id, iKeys, szMenu, -1, "Show_RespawnMenu");
}
public Handle_RespawnMenu(id, iKey)
{
    switch(iKey)
    {
        case 8: return Show_RespawnMenu(id, ++g_iMenuPosition[id]);
        case 9: return Show_RespawnMenu(id, --g_iMenuPosition[id]);
        default:
        {
            new iTarget = g_iMenuPlayers[id][g_iMenuPosition[id] * 8 + iKey];
            
            if
(jbe_is_user_alive(iTarget)) 
            
{
                client_print(id, print_center, "Игрок уже оживлён!");
                return Show_RespawnMenu(id, g_iMenuPosition[id] = 0);
            }
            
            if
(jbe_is_user_connected(iTarget))
            {                
                g_iUserRespawnNum
[id]--;
                ExecuteHam(Ham_CS_RoundRespawn, iTarget);
                new szName[2][32];
                get_user_name(id, szName[0], charsmax(szName[]));
                get_user_name(iTarget, szName[1], charsmax(szName[]));
                
                set_hudmessage
( 102, 69, 0, -1.0, 0.16, 0, 0.0, 0.9, 0.1, 3.0, -);
                for(new pPlayer = 1; pPlayer <= g_iMaxPlayers; pPlayer++)
                {
                    if(!jbe_is_user_connected(pPlayer)) continue;
                    ShowSyncHudMsg( pPlayer, g_iSyncText, "Администратор [ %s ] ^nвозродил игрока [ %s ]", szName[0], szName[1] );
                }            
            
}
            
            return Show_RespawnMenu
(id, g_iMenuPosition[id]);
        }
    }
    return PLUGIN_HANDLED;
}
Show_GodModeList(id, iPos)
{
    if( iPos < 0 ) return PLUGIN_HANDLED;
    jbe_informer_offset_up( id );
    
    new iPlayersNum
;
    for(new i = 1; i <= get_maxplayers(); i++)
    {
        if(!jbe_is_user_alive(i) || jbe_get_user_team(i) >= 3 || !jbe_get_user_team(i)) continue;
        g_iMenuPlayers[id][iPlayersNum++] = i;
    }
    new iStart = iPos * 8;
    if(iStart > iPlayersNum) iStart = iPlayersNum;
    iStart = iStart - (iStart % 8);
    g_iMenuPosition[id] = iStart / 8;
    new iEnd = iStart + 8;
    if(iEnd > iPlayersNum) iEnd = iPlayersNum;
    new szMenu[1024], iLen, iPagesNum = (iPlayersNum / 8 + ((iPlayersNum % 8) ? 1 : 0));
    switch(iPagesNum)
    {
        case 0:
        {
            UTIL_SayText( id, "%L", id, "JBE_CHAT_ID_PLAYERS_NOT_VALID" );
            return Show_GodModeMenu(id);
        }
        default: iLen = formatex(szMenu, charsmax(szMenu), "y%L w[%d|%d]^n^n", id, "JBE_GODMODE_BONUS_MENU", iPos + 1, iPagesNum);
    }
    new szName[32], i, iKeys = (1<<9), b;
    for(new a = iStart; a < iEnd; a++)
    {
        i = g_iMenuPlayers[id][a];
        get_user_name(i, szName, charsmax(szName));
        iKeys |= (1<<b);
        switch(g_iGodModeType[id])
        {
            case 1: iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%s d[r%dd]^n", ++b, szName, pev(i, pev_health));
            case 2: iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%sd[r%dd]^n", ++b, szName, pev(i, pev_armorvalue));
            case 3: 
            
{
                new Float: fGravity;
                pev(i, pev_gravity, fGravity);
                iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%sd[r%fd]^n", ++b, szName, fGravity);
            }
        }
    }
    for(new i = b; i < 8; i++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
    if(iEnd < iPlayersNum)
    {
        iKeys |= (1<<8);
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^ny[9] w%L^ny[0] w%L", id, "JBE_MENU_NEXT", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    }
    else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^ny[0] w%L", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    return show_menu(id, iKeys, szMenu, -1, "Show_GodModeList");
}
public Handle_GodModeList(id, iKey)
{
    switch(iKey)
    {
        case 8: return Show_GodModeList(id, ++g_iMenuPosition[id]);
        case 9: return Show_GodModeList(id, --g_iMenuPosition[id]);
        default:
        {
            new iTarget = g_iMenuPlayers[id][g_iMenuPosition[id] * 8 + iKey];
            
            if
(!jbe_is_user_connected(iTarget)) 
            
{
                client_print(id, print_center, "Игрок отключён!");
                return Show_GodModeList(id, g_iMenuPosition[id] = 0);
            }
            
            if
(!jbe_is_user_alive(iTarget)) 
            
{
                client_print(id, print_center, "Игрок мёртв!");
                return Show_GodModeList(id, g_iMenuPosition[id] = 0);
            }            switch(g_iGodModeType[id])
            {
                case 1:
                {
                    if(IsSetBit(g_iBitUserIsType[MODE], id))
                    {
                        if(pev(iTarget, pev_health) >= 160) client_print(id, print_center, "У игрока много жизней!");
                        else set_pev(iTarget, pev_health, pev(iTarget, pev_health) + 5.0);
                    }
                    else
                    
{
                        if(pev(iTarget, pev_health) < 6) client_print(id, print_center, "У игрока мало жизней!");
                        else set_pev(iTarget, pev_health, pev(iTarget, pev_health) - 5.0);
                    }
                    return Show_GodModeList(id, g_iMenuPosition[id]);
                }
                case 2:
                {
                    if(IsSetBit(g_iBitUserIsType[MODE], id))
                    {
                        if(pev(iTarget, pev_armorvalue) >= 160) client_print(id, print_center, "У игрока много жизней!");
                        else set_pev(iTarget, pev_armorvalue, pev(iTarget, pev_armorvalue) + 5.0);
                    }
                    else
                    
{
                        if(pev(iTarget, pev_armorvalue) < 6) client_print(id, print_center, "У игрока мало жизней!");
                        else set_pev(iTarget, pev_armorvalue, pev(iTarget, pev_armorvalue) - 5.0);
                    }
                    return Show_GodModeList(id, g_iMenuPosition[id]);
                }
                case 3:
                {
                    new Float: fGravity;
                    pev(iTarget, pev_gravity, fGravity);
                    
                    if
(IsSetBit(g_iBitUserIsType[MODE], id))
                    {
                        if(fGravity <= 0.5) client_print(id, print_center, "Слишком большая гравитация!");
                        else 
                        
{
                            fGravity -= 0.05;
                            set_pev(iTarget, pev_gravity, fGravity);
                        }
                    }
                    else
                    
{
                        if(fGravity >= 1.0) client_print(id, print_center, "Слишком маленькая гравитация!");
                        else 
                        
{
                            fGravity += 0.05;
                            set_pev(iTarget, pev_gravity, fGravity);
                        }
                    }
                }
            }
            return Show_GodModeList(id, g_iMenuPosition[id]);
        }
    }
    return PLUGIN_HANDLED;
}
stock DayMode_Setting()
{
    switch(g_iDayMode)
    {
        case false: 
        
{
            engfunc( EngFunc_MessageBegin, MSG_ALL, 143, { 0.0, 0.0, 0.0 }, 0 );
            write_byte(20);          // Red
            write_byte(20);         // Green
            write_byte(20);         // Blue
            write_byte(10);                         // SD
            write_byte(41);                          // ED
            write_byte(95);                          // D1
            write_byte(59);                          // D2
            message_end();    
            g_iDayMode 
= true;
        }
        case true:
        {
            engfunc( EngFunc_MessageBegin, MSG_ALL, 143, { 0.0, 0.0, 0.0 }, 0 );
            write_byte(0);  // Red
            write_byte(0);  // Green
            write_byte(0);  // Blue
            write_byte(0);     // SD
            write_byte(0);  // ED
            write_byte(0);  // D1
            write_byte(0);  // D2
            message_end();
            g_iDayMode = false;
        }
    }
}
stock UTIL_SayText(pPlayer, const szMessage[], any:...)
{
    new szBuffer[ 190 ], iLen = format( szBuffer, charsmax( szBuffer ), "%L ", LANG_PLAYER, "JBE_CHAT_PREFIX" );
    
    if
( numargs() > 2 ) vformat( szBuffer[ iLen ], charsmax( szBuffer ), szMessage, 3 );
    else copy( szBuffer[ iLen ], charsmax( szBuffer ), szMessage );
    
    while
( replace( szBuffer, charsmax( szBuffer ), "!y", "^1" ) ) {}
    while( replace( szBuffer, charsmax( szBuffer ), "!t", "^3" ) ) {}
    while( replace( szBuffer, charsmax( szBuffer ), "!g", "^4" ) ) {}
    
    switch
( pPlayer )
    {
        case 0:
        {
            for( new iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++ )
            {
                if( !jbe_is_user_connected( iPlayer ) ) continue;
                engfunc( EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, { 0.0, 0.0, 0.0 }, iPlayer );
                write_byte( iPlayer );
                write_string( szBuffer );
                message_end();
            }
        }
        default:
        {
            engfunc( EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, { 0.0, 0.0, 0.0 }, pPlayer );
            write_byte( pPlayer );
            write_string( szBuffer );
            message_end();
        }
    }
}
stock fm_give_item(pPlayer, const szItem[])
{
    new iEntity = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, szItem));
    if(!pev_valid(iEntity)) return 0;
    new Float:vecOrigin[3];
    pev(pPlayer, pev_origin, vecOrigin);
    set_pev(iEntity, pev_origin, vecOrigin);
    set_pev(iEntity, pev_spawnflags, pev(iEntity, pev_spawnflags) | SF_NORESPAWN);
    dllfunc(DLLFunc_Spawn, iEntity);
    dllfunc(DLLFunc_Touch, iEntity, pPlayer);
    if(pev(iEntity, pev_solid) != SOLID_NOT)
    {
        engfunc(EngFunc_RemoveEntity, iEntity);
        return -1;
    }
    return iEntity;
}
stock drop_user_weapons(pPlayer, iType)
{
    new iWeaponsId[32], iNum;
    get_user_weapons(pPlayer, iWeaponsId, iNum);
    if(iType) iType = (1<<CSW_GLOCK18|1<<CSW_USP|1<<CSW_P228|1<<CSW_DEAGLE|1<<CSW_ELITE|1<<CSW_FIVESEVEN);
    else iType = (1<<CSW_M3|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_TMP|1<<CSW_MP5NAVY|1<<CSW_UMP45|1<<CSW_P90|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AK47|1<<CSW_M4A1|1<<CSW_SCOUT|1<<CSW_SG552|1<<CSW_AUG|1<<CSW_AWP|1<<CSW_G3SG1|1<<CSW_SG550|1<<CSW_M249);
    for(new i; i < iNum; i++)
    {
        if(iType & (1<<iWeaponsId[i]))
        {
            new szWeaponName[24];
            get_weaponname(iWeaponsId[i], szWeaponName, charsmax(szWeaponName));
            engclient_cmd(pPlayer, "drop", szWeaponName);
        }
    }

P.S. Не знаю зачем пишу, просто на всякий случай, советую искать строки в Notepad++, чтобы не запутаться, да и быстрее

#1

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 12 Сентябрь 2014 — 18:29

Помогите , что за ошибка??

Упс. Компилирование

  • Наверх


#2


The

Отправлено 12 Сентябрь 2014 — 18:56

  • Помогите , что за ошибка??

    Упс. Компилирование

    error 017: undefined symbol «%s» — неизвестный символ «%s»;
    warning 217: loose indentation — не выровненная строка

Сообщение отредактировал The: 12 Сентябрь 2014 — 18:56

  • Наверх


#3


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 18:46

  • error 017: undefined symbol «%s» — неизвестный символ «%s»;
    с ним то , что делать с 2 я разобрался

  • Наверх


#4


FasT of boni

Отправлено 20 Сентябрь 2014 — 18:58

warning 217: loose indentation 
Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно. 

  • Наверх


#5


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 19:03

warning 217: loose indentation 
Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно

Я с этим разобрался мне нужно 

error 017: undefined symbol «%s» — неизвестный символ «%s»;

Что с ним делать?

Вот 93 строчка

LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

  • Наверх


#6


FasT of boni

Отправлено 20 Сентябрь 2014 — 19:08

Я с этим разобрался мне нужно 

error 017: undefined symbol «%s» — неизвестный символ «%s»;

Что с ним делать?

Вот 93 строчка

LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

error 017: undefined symbol «x» 
Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include <cstrike> 

  • Наверх


#7


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 19:24

Я с этим разобрался мне нужно 

error 017: undefined symbol «%s» — неизвестный символ «%s»;

Что с ним делать?

Вот 93 строчка

LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

error 017: undefined symbol «x» 
Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include <cstrike> 

Можно я в лс файл кину. Ты сделаешь??

  • Наверх


#8


FasT of boni

Отправлено 20 Сентябрь 2014 — 19:25

Можно я в лс файл кину. Ты сделаешь??

попробуй

  • Наверх


#9


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 19:28

  • Наверх


#10


FasT of boni

Отправлено 20 Сентябрь 2014 — 20:26

Это инклюд.

Кидай все инклюды и исходник.

  • Наверх


#11


Mattko

Отправлено 21 Сентябрь 2014 — 13:29

Нету переменной «name», объявите о ней в начале кода.
Используя вот-так: new name;
 

warning 217: loose indentation 
Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно. 

Не отступами, а с табуляции… Можно объявить #table, но проще соблюдать табуляцию, чтобы работа плагина была стабильна.

PS: Автору темы, кидай исходник мне в ЛС, или тут. Исправлю.

  • Mr.Credo это нравится
  • Наверх


From SA-MP Wiki

Jump to: navigation, search

Undefined symbol is a Pawn compiler error message. The Pawn Language Guide formally defines this error as error 017, and explains that the error means «The symbol (variable, constant or function) is not declared«.

The error will look roughly look like this: error 017: undefined symbol «WelcomePlayer»

Cause

The error occurs when a piece of code references a variable, constant or function that the compiler cannot find. Often, this error is encountered by scripters who recklessly copy and paste code from one script to another, not realizing that the code in question depends on other code in the original script. Another, more common mistake made by even the most experienced scripters, is misspelling symbols.

Example with a function

This is example where a function that does not exists is referenced. A reckless copy-paster is copying a piece for code from the original script (awesomeroleplay.pwn) to his or her own (supercoolrp.pwn). awesomeroleplay.pwn compiles without any warnings or errors.

The reckless copy-paster decides to copy this piece of code from the original script:

awesomeroleplay.pwn

public OnPlayerConnect(playerid)
{
    WelcomePlayer(playerid);
}

The reckless copy-paster replaces supercoolrp.pwn’s OnPlayerConnect callback with the one from awesomeroleplay.pwn and then attemps to compile it. The compiler will, however, throw an error: error 017: undefined symbol «WelcomePlayer». This is because the function WelcomePlayer does not exist the paster’s own script. In other words: the piece of code that the reckless copy-paster pasted, depends on other code in awesomeroleplay.pwn. The paster will need to copy the dependent script as well.

In the original script, the function WelcomePlayer is defined.

awesomeroleplay.pwn

WelcomePlayer(playerid)
{
    SendClientMessage(playerid, "Welcome to Interactive Roleplay!", 0xFF0000AA);
}

The reckless copy-paster will need to copy and paste this function into his own script as well to make the code compile correctly. If this function would also depend on other code, the paster will need to copy and paste that code as well. In fact, the paster would need to repeat this step until all dependencies are resolved.

Tips for resolving this error

  • Use Ctrl + F to find the missing symbol (note that the compiler will tell you what symbol is missing after the words undefined symbol!) in the original script. If the symbol is a variable, you will have to copy all code that is relevant to its «ecosystem», that is to say, all code that modifies the variable. For beginning scripters and reckless copy-pasters, this may be hard, because it requires a deep understanding of the code and code paths.
  • Look into the includes of the original script.
  • Make sure you are adding the right includes.
  • Make sure you are not misspelling the symbol.

Содержание

  1. Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «to_player» — Форум Pawn.Wiki — Воплоти мечту в реальность!
  2. Компилирования
  3. #1 azik215
  4. Прикрепленные файлы
  5. #2 The
  6. #3 azik215
  7. #4 FasT of boni
  8. #5 azik215
  9. #6 FasT of boni
  10. #7 azik215
  11. #8 FasT of boni
  12. Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017 — Форум Pawn.Wiki — Воплоти мечту в реальность!
  13. Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «pc_cmd_gnews» — Форум Pawn.Wiki — Воплоти мечту в реальность!

Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «to_player» — Форум Pawn.Wiki — Воплоти мечту в реальность!

  • Pawn скриптинг
  • Первая помощь
  • Проблемы с компилированием
  • Правила форума
  • Просмотр новых публикаций

  • Группа: Активные пользователи
  • Сообщений: 76
  • Регистрация: 15 февраля 22

суть такая, хотел усовершенствовать свой код, в итоге ничего не получилось, так как опыта мало.
Ошибка:

Сам код, на который ругается павно:

поправте, если в коде есть ошибка.

Сообщение отредактировал Kirill_Babkin: 06 июня 2022 — 17:31

  • Группа: Активные пользователи
  • Сообщений: 1 039
  • Регистрация: 07 июня 21

Сообщение отредактировал Perdolinka: 06 июня 2022 — 17:55

Источник

Компилирования

#1 azik215

  • Пользователь
  • 32 сообщений
  • Помогите , что за ошибка??

    Прикрепленные файлы

    • Безымянный.png152,94К 3 Количество загрузок:

    #2 The

  • Пользователь
  • 132 сообщений
  • Помогите , что за ошибка??

    error 017 : undefined symbol «%s» — неизвестный символ «%s» ;
    warning 217: loose indentation — не выровненная строка

    Сообщение отредактировал The: 12 Сентябрь 2014 — 18:56

    #3 azik215

  • Пользователь
  • 32 сообщений
  • error 017 : undefined symbol «%s» — неизвестный символ «%s» ;
    с ним то , что делать с 2 я разобрался

    #4 FasT of boni

  • Только чтение
  • 891 сообщений
  • warning 217: loose indentation
    Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно.

    #5 azik215

  • Пользователь
  • 32 сообщений
  • warning 217: loose indentation
    Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно

    Я с этим разобрался мне нужно

    error 017 : undefined symbol «%s» — неизвестный символ «%s» ;

    Что с ним делать?

    LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

    #6 FasT of boni

  • Только чтение
  • 891 сообщений
  • Я с этим разобрался мне нужно

    error 017 : undefined symbol «%s» — неизвестный символ «%s» ;

    Что с ним делать?

    LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

    error 017 : undefined symbol «x»
    Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include

    #7 azik215

  • Пользователь
  • 32 сообщений
  • Я с этим разобрался мне нужно

    error 017 : undefined symbol «%s» — неизвестный символ «%s» ;

    Что с ним делать?

    LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

    error 017 : undefined symbol «x»
    Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include

    Можно я в лс файл кину. Ты сделаешь??

    #8 FasT of boni

  • Только чтение
  • 891 сообщений
  • Можно я в лс файл кину. Ты сделаешь??

    Источник

    Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017 — Форум Pawn.Wiki — Воплоти мечту в реальность!

    • Pawn скриптинг
    • Первая помощь
    • Проблемы с компилированием
    • Правила форума
    • Просмотр новых публикаций

    • Группа: Пользователи
    • Сообщений: 11
    • Регистрация: 15 мая 13

    C:Users. 1DownloadsSNK RPGSNKgamemodesSNKland.pwn(6147) : error 017: undefined symbol «SNKland»
    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    Как исправить?
    Мод писал не с 0:D

    • Группа: Активные пользователи
    • Сообщений: 359
    • Регистрация: 02 июня 12

    Сообщение отредактировал VistigoN: 28 мая 2013 — 16:09

    • Группа: Пользователи
    • Сообщений: 11
    • Регистрация: 15 мая 13

    C:Users. 1DownloadsSNKlandSNKlandgamemodesSNKland. pwn(6148) : error 035: argument type mismatch (argument 1)
    C:Users. 1DownloadsSNKlandSNKlandgamemodesSNKland. pwn(29486) : warning 203: symbol is never used: «SNKland»
    Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

    29486 Вобще строчки нет такой О_о

    Сообщение отредактировал weZZy: 28 мая 2013 — 16:37

    Источник

    Форум Pawn.Wiki — Воплоти мечту в реальность!: error 017: undefined symbol «pc_cmd_gnews» — Форум Pawn.Wiki — Воплоти мечту в реальность!

    • Pawn скриптинг
    • Первая помощь
    • Проблемы с компилированием
    • Правила форума
    • Просмотр новых публикаций

    • Группа: Пользователи
    • Сообщений: 3
    • Регистрация: 17 ноября 19

    всё уже пробовал, понятия не имею, что не так.

    case 21:
    <
    if(response)
    <
    if(strlen(inputtextsave)==0) return callcmd::gnews(playerid,»»);
    new/> new text1, text2, text3[32], time[32];
    sscanf(inputtextsave,»p dds[32]»,text1,text2,text3);
    format(time,sizeof(time),»%d:%d»,text1,text2);
    SobesStatus[id]=1;
    SetString(SobesTime[id],time);
    SetString(SobesMesto[id],text3);
    SobesTime1[id]=text1;
    SobesTime2[id]=text2;

    format(string,sizeof(string),»[D] %s %s[%d] — Íàçíà÷èë ñîáåñåäîâàíèå â ñâîþ îðãàíèçàöèþ íà %s!»,GetRankName(id,PlayerInfo[playerid][pRank]),PN(playerid),playerid,time);
    SendGosMessage(COLOR_DEPAR,string);
    // SobesMesto[0]=text3;
    /*format(string,sizeof(string),»%d %d %s»,text1,text2,text3);
    SendClientMessage(playerid,-1,string);*/
    >
    >

    C:UsersDraiDenDesktopÎñíî& #226;à2gamemodesarbiterp.pwn(40420) : error 017: undefined symbol «pc_cmd_gnews»
    Pawn compiler 3.2.3664 Copyright © 1997-2016, ITB CompuPhase

    • Группа: Активные пользователи
    • Сообщений: 827
    • Регистрация: 25 июля 16

    • Группа: Vip
    • Сообщений: 4 729
    • Регистрация: 14 марта 12

    • Группа: Пользователи
    • Сообщений: 3
    • Регистрация: 17 ноября 19

    McDowell (18 ноября 2019 — 16:46) писал:

    if(strlen(inputtextsave)==0) return callcmd::gnews(playerid,»»);

    DeimoS (18 ноября 2019 — 16:49) писал:

    есть
    CMD:gnews(playerid)
    <
    if(!IsAtFrakcia(playerid)) return false;
    if(PlayerInfo[playerid][pRank] 0) return SendClientMessage(playerid, 0xAFAFAFFF, !»[Ошибка] У Вас бан чата!»);

    ShowPlayerDialogEx(playerid,5000,1,»»,»
    Укажите <98bc5e>время на которое хотите назначить собеседование!nn
    Напишите часы, минуты и местоположение через запятую!nn
    Пример:[ 19,20,Военкомат ]»,»Принять»,»Отмена»);

    /* new mesto[64],vremya[16];
    if(sscanf(params,»s[64]s[16]»,mesto,vremya))
    <
    if(strlen(mesto) == 0)
    <
    SendClientMessage(playerid, 0xAFAFAFFF, !»[Используй]: /gnews [место назначения] [время начала собеседования]»);
    SendClientMessage(playerid, 0xAFAFAFFF, !»Если вы хотите начать собеседование прямо сейчас то оставьте строку времени пустой»);
    return true;
    >
    >*/
    /* new fracname[32];
    switch(PlayerInfo[playerid][pMember])
    <
    case 1: fracname = «LSPD»;
    case 23: fracname = «LVPD»;
    case 6: fracname = «Правительство»;
    case 4: fracname = «SFPD»;
    case 5: fracname = «Больница LS»;
    case 21: fracname = «Центральный банк»;
    case 20: fracname = «Армия LS»;
    case 9: fracname = «Лицензеры»;
    case 10: fracname = «Radio LS»;
    case 24: fracname = «Radio LV»;
    case 26: fracname = «Radio SF»;
    case 27: fracname = «Армия SF»;
    case 22: fracname = «Больница LV»;
    case 7: fracname = «Армия LV»;
    >

    new
    string[56 — 2 + 26];

    format(string, sizeof(string), «[ %s ] Уважаемые жители штата! Минотучку внимания.», fracname);
    SendClientMessageToAll(COLOR_GOV, string);

    format(string, sizeof(string), «В данный момент проходит собеседование в организацию %s!», fracname);
    SendClientMessageToAll(COLOR_GOV, string);

    format(string, sizeof(string), «Для вступления необходимо прибыть в %s», params);
    SendClientMessageToAll(COLOR_GOV, string);

    SendClientMessageToAll(-1, !» «);
    SendClientMessageToAll(-1, !» «);*/
    return 1;
    >

    Источник

    @Daniel-Cortez

    I’ll look into it, but I’m unsure of what is supposed to be the correct output in such situations.
    Should we suggest «var<state_a>» for the above example (which, IMHO, would be kind of misleading, because if the user types that instead of just «var», it will only cause a bunch of new errors), or rather don’t suggest anything?
    @Y-Less @YashasSamaga ?

    @Y-Less

    Maybe something like undefined symbol "var"; state symbol not in scope?

    @Daniel-Cortez

    Is the code in the example even valid? As far as I can recall, in Pawn only functions may have states, not variables.
    Even if we do something similar with a function instead of a variable

    func() <automaton_1:STATE_1> {}
    
    main()
    {
    	func();
    }

    the compiler doesn’t print any warnings/errors (though the generated code raises AMX_ERR_INVSTATE as function func() isn’t implemented for the default state).

    Maybe we should close this issue as invalid?

    @Y-Less

    Yes, variables can have states as well. And two variables in different states may share a memory location, which is quite nice.

    @Daniel-Cortez

    Yes, you’re right, I just haven’t seen this feature used in the wild. I’ll see what I can do about incorrect suggestions for state variables.

    @stale

    This issue has been automatically marked as stale because it has not had recent activity.

    @Daniel-Cortez

    Понравилась статья? Поделить с друзьями:

    Читайте также:

  • Error 017 undefined symbol playertopoint
  • Error 017 undefined symbol playerinfo как исправить
  • Error 017 undefined symbol playerid pawno
  • Error 017 undefined symbol player info
  • Error 017 undefined symbol pinfo

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии