#1
Отправлено 24 июня 2013 — 03:50
-
- Новичок
-
else if(pickupid == lspic[0])
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1658.2383,-1693.4553,15.6094);
SetPlayerFacingAngle(playerid,175.8234);
SetPlayerVirtualWorld(playerid,0);
}
Проблема, собственно, в строке:
else if(pickupid == lspic[0])
Как только не выравнивал, все равно варнинг. И по примеру других модов и по мануалам, не помогает. Да и выровнено вроде правильно, не пойму в чем проблема. Варнинг вроде и один и не очень важный, но хотелось бы понять почему не исправляется и исправить.
Ну и скрин еще:
0
#2
Отправлено 24 июня 2013 — 16:17
-
- Профессионал
-
Табуляция отсутствует.
Выровняй код лесенкой.
И ещё смотри чтобы выше было так же выровнено или наоборот ниже по примеру что выше…
1
#3
Отправлено 24 июня 2013 — 17:16
-
- Новичок
-

Табуляция отсутствует.
Выровняй код лесенкой.
И ещё смотри чтобы выше было так же выровнено или наоборот ниже по примеру что выше…
Отредактируй тогда, пожалуйста, как правильно, выше и ниже, в подобных кодах, такая же табуляция. И я же говорю, с других модов брал этот код, где нет варнингов, все равно не убирается варн
0
#4
Отправлено 24 июня 2013 — 17:21
-
- Профессионал
-
В других модах может присутствовать #pragma tabsize 0
0
#5
Отправлено 24 июня 2013 — 18:30
-
- Новичок
-
iRusel, вот только что проверил на моде без tabsize 0, нету варнингов, вот код оттуда:
else if(pickupid == lspic[0])
{
SetPlayerInterior(playerid,0);
SetPlayerPosAc(playerid, 1658.2383, -1693.4553, 15.6094);
SetPlayerFacingAngle(playerid, 175.8234);
SetPlayerVirtualWorld(playerid, 0);
}
0
#6
Отправлено 24 июня 2013 — 21:51
-
- Илья
-
Да просто #pragma tabsize 0 после инклюдов и пофиг будет на лесенку моду.
Сообщение отредактировал Killix: 24 июня 2013 — 21:53
0
#7
Отправлено 24 июня 2013 — 21:58
-
- Профессионал
-

Да просто #pragma tabsize 0 после инклюдов и пофиг будет на лесенку моду.
Ну не скажи, прагма лишь скрывает сообщения о варнингах а так…
Это аналогично тому что прикрыть бесконечно кровоточащую рану подорожником и говорить что кровь остановлена…
0
#8
Отправлено 24 июня 2013 — 22:03
-
- Илья
-

Ну не скажи, прагма лишь скрывает сообщения о варнингах а так…
Это аналогично тому что прикрыть бесконечно кровоточащую рану подорожником и говорить что кровь остановлена…
Не стоит недооценивать мощь подорожника.
0
#9
Отправлено 25 июня 2013 — 16:02
-
- Новичок
-
Ну #pragma tabsize 0 я б и сам поставил, но хочется разобраться, почему так. Что, нету никого, кто мог бы подсказать в чем проблема?
0
#10
Отправлено 25 июня 2013 — 16:11
-
- Пользователь
-

Ну #pragma tabsize 0 я б и сам поставил, но хочется разобраться, почему так. Что, нету никого, кто мог бы подсказать в чем проблема?
Тебе же сказали что ты код криво сделал он должен быть лесенкой
#pragma tabsize 0 — не ставь это,или будет лагать жестко.У тебя будут варнинги и ты их видить не будешь из-за нее.
Сообщение отредактировал Nazi: 25 июня 2013 — 16:12
0
- ← Предыдущая тема
- Проблемы с компилированием
- Следующая тема →
- Вы не можете создать новую тему
-
Тема закрыта
1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей
Hosse
Заблокирован
- Регистрация
- 17 Ноя 2011
- Сообщения
- 613
- Лучшие ответы
- 0
- Репутация
- 224
-
#1
Начинающие осваивать pawno задавали не однократно вопрос «как исправить warning 217?».Пишу это для вас
Сам варнинг выглядит так:
HTML:
warning 217: loose indentation
Давайте разберём что тут написано:
HTML:
warning 217: loose indentation - невыровненная строка (return должен быть строго под телом функции по левому краю, либо можно добавить в начало мода строку #pragma tabsize 0, но это не рекомендуется, так как иногда может не понимать и не прочитывать скобки "{" и "}");
Теперь объясняю примерно (у меня было так):
Вот мой варнинг:
HTML:
pwn(6247) : warning 217: loose indentation
Вот сами строки с варнингом:
HTML:
{
PutPlayerInVehicle(playerid, marshrutka, 0); // Зажаем NPC В созданую для него машину
SetPlayerSkin(playerid, 253);
PlayerInfo[playerid][pCarLic] = 1;//даем лицензию
return 1;
}
Теперь будем исправлять.Нужно выровнять данную лесенку:
HTML:
{
PutPlayerInVehicle(playerid, marshrutka, 0); // Зажаем NPC В созданую для него машину
SetPlayerSkin(playerid, 253);
PlayerInfo[playerid][pCarLic] = 1;//даем лицензию
return 1;
}
Варнинг исправлен)
warning 217: loose indentation
Модераторы: Subb98, liFe iS GoOD
- Список форумов ‹ AMX Mod X ‹ Скриптинг
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела «Болтовня».
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
warning 217: loose indentation
При компиляции выдаёт ошибки:
- Код: Выделить всё
Admin_menus.sma(43) : warning 217: loose indentation
Admin_menus.sma(47) : warning 217: loose indentation
Admin_menus.sma(96) : warning 217: loose indentation
Admin_menus.sma(100) : warning 217: loose indentation
Admin_menus.sma(120) : warning 217: loose indentation
Admin_menus.sma(126) : warning 217: loose indentation
Admin_menus.sma(132) : warning 217: loose indentation
Admin_menus.sma(139) : warning 217: loose indentation
Admin_menus.sma(146) : warning 217: loose indentation
Admin_menus.sma(168) : warning 217: loose indentation
Admin_menus.sma(172) : warning 217: loose indentation
Admin_menus.sma(198) : warning 217: loose indentation
Admin_menus.sma(204) : warning 217: loose indentation
Admin_menus.sma(211) : warning 217: loose indentation
Admin_menus.sma(232) : warning 217: loose indentation
Admin_menus.sma(236) : warning 217: loose indentation
я отметил ошибки, которые, мешают работать меню, есть какой-то вариант их исправить?
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>native get_m79(id);
native give_weapon_thompson(id);
native Ak47_DarkHunter(id);
native get_user_inviz(id);
native set_user_inviz(id, amount);
native give_weapon_pkm(id);
native give_weapon_infinir(id)#define plugin_name "Admin_menus"
#define version "1.0"
#define author "Nikita"#define VIP ADMIN_IMMUNITY
new one_map[33];public plugin_init(){
#define ADMIN_L2 ADMIN_CFG
#define ADMIN_L3 ADMIN_CVAR
#define ADMIN_L4 ADMIN_BAN
register_plugin(plugin_name, version, author);
register_clcmd("vipmenu", "vipmenu");
register_clcmd("adml2", "adml2_menu");
register_clcmd("adml3", "adml3_menu");
register_clcmd("adml4", "adml4_menu");
}public vipmenu(id){
if(!(get_user_flags(id) & VIP)){
return PLUGIN_HANDLED;
}
new formatted_str[4][64];
format(formatted_str[0], charsmax(formatted_str[]), "yВип-Меню^nd[rУровень: L6d]");
format(formatted_str[1], charsmax(formatted_str[]), "wВзятьr 255APw +r 255HP");
format(formatted_str[2], charsmax(formatted_str[]), "wВзятьr $10000");
format(formatted_str[3], charsmax(formatted_str[]), "wВзятьw Инфинити d[rКрасныйd]");
new VIPMENU = menu_create(formatted_str[0], "vip_handlermenu");
for(new il = 1; il < sizeof(formatted_str); il++){
menu_additem(VIPMENU, formatted_str[il]);
}
menu_setprop(VIPMENU, MPROP_NEXTNAME, "Дальше");
menu_setprop(VIPMENU, MPROP_BACKNAME, "Назад");
menu_setprop(VIPMENU, MPROP_EXITNAME, "Выход");
menu_setprop(VIPMENU, MPROP_EXIT, MEXIT_ALL);
menu_display(id, VIPMENU, 0);
return PLUGIN_HANDLED;
}public vip_handlermenu(id, menu, key){
switch(key+1){
case 1:{
if(one_map[id]>7){
set_user_health(id, 255);
set_user_armor(id, 255);
one_map[id]++
}
}
case 2:{
if(one_map[id]>7){
cs_set_user_money(id, cs_get_user_money(id) + 10000);
one_map[id]++
}
}
case 3:{
if(one_map[id]>5){
give_weapon_infinir(id);
one_map[id]++
}
}
case MENU_EXIT:{
return menu_destroy(menu);
}
}
return menu_destroy(menu);
}public adml2_menu(id){
if(!(get_user_flags(id) & ADMIN_L2)){
return PLUGIN_HANDLED;
}
new formatted_str[7][64];
format(formatted_str[0], charsmax(formatted_str[]), "yАдмин-Менюnd[rУровень: L2]");
format(formatted_str[1], charsmax(formatted_str[]), "wВзятьr 400APw +r 400HP");
format(formatted_str[2], charsmax(formatted_str[]), "wВзятьr $30000");
format(formatted_str[3], charsmax(formatted_str[]), "wВзятьr Пулемёт PKM(ЭрКаЭм)");
format(formatted_str[4], charsmax(formatted_str[]), "wВзятьr Гранатомёт");
format(formatted_str[5], charsmax(formatted_str[]), "wВзятьr Скорость+Инвиз");
format(formatted_str[6], charsmax(formatted_str[]), "wВзятьr +500АР + 500HP");
new L2MENU = menu_create(formatted_str[0], "l2_handlermenu");
for(new il = 1; il < sizeof(formatted_str); il++){
menu_additem(L2MENU, formatted_str[il]);
}
menu_setprop(L2MENU, MPROP_NEXTNAME, "Дальше");
menu_setprop(L2MENU, MPROP_BACKNAME, "Назад");
menu_setprop(L2MENU, MPROP_EXITNAME, "Выход");
menu_setprop(L2MENU, MPROP_EXIT, MEXIT_ALL);
menu_display(id, L2MENU, 0);
return PLUGIN_HANDLED;
}public l2_handlermenu(id, menu, key){
switch(key+1){
case 1:{
if(one_map[id]>7){
set_user_health(id, 400);
set_user_armor(id, 400);
one_map[id]++
}
}
case 2:{
if(one_map[id]>7){
cs_set_user_money(id, cs_get_user_money(id) + 30000);
one_map[id]++//тут
}
}
case 3:{
if(one_map[id]>5){
give_weapon_pkm(id);
one_map[id]++//тут
}
}
case 4:{
if(one_map[id]>10){
get_m79(id);
one_map[id]++//тут
}
}
case 5:{
if(one_map[id]>5){
set_user_maxspeed(id, 999.0);
set_user_inviz(id, 15);
one_map[id]++//тут
}
}
case 6:{
if(one_map[id]>6){
set_user_health(id, get_user_health(id) + 500);
set_user_armor(id, get_user_armor(id) + 500);
one_map[id]++ //тут
}
}
case MENU_EXIT:{
return menu_destroy(menu);
}
}
return menu_destroy(menu);
}
public adml3_menu(id){
if(!(get_user_flags(id) & ADMIN_L3)){
return PLUGIN_HANDLED;
}
new formatted_str[6][64];
format(formatted_str[0], charsmax(formatted_str[]), "yАдмин-меню^nd[rУровень: L3d]");
format(formatted_str[1], charsmax(formatted_str[]), "wВзятьr 350APw +r 350HP");
format(formatted_str[2], charsmax(formatted_str[]), "wВзятьr $22000");
format(formatted_str[3], charsmax(formatted_str[]), "wВзятьr автомат AK47 Dark Hunter");
format(formatted_str[4], charsmax(formatted_str[]), "wВзятьr Гранатомёт");
format(formatted_str[5], charsmax(formatted_str[]), "wВзятьr +300APw +r +300HP");
new L3MENU = menu_create(formatted_str[0], "l3_handlermenu");
for(new il = 1; il < sizeof(formatted_str); il++){
menu_additem(L3MENU, formatted_str[il]);
}
menu_setprop(L3MENU, MPROP_NEXTNAME, "Дальше");
menu_setprop(L3MENU, MPROP_BACKNAME, "Назад");
menu_setprop(L3MENU, MPROP_EXITNAME, "Выход");
menu_setprop(L3MENU, MPROP_EXIT, MEXIT_ALL);
menu_display(id, L3MENU, 0);
return PLUGIN_HANDLED;
}public l3_handlermenu(id, menu, key){
switch(key+1){
case 1:{
if(one_map[id]<7){
set_user_health(id, 350);
set_user_armor(id, 350);
one_map[id]++
}
}
case 2:{
if(one_map[id]<7){
cs_set_user_money(id, cs_get_user_money(id) + 22000);
one_map[id]++
}
}
case 3:{
if(one_map[id]>5){
Ak47_DarkHunter(id)
one_map[id]++//тут
}
}
case 4:{
if(one_map[id]>5){
get_m79(id);
one_map[id]++//тут
}
}
case 5:{
if(one_map[id]>6){
set_user_health(id, get_user_health(id) + 300);
set_user_armor(id, get_user_armor(id) + 300);
one_map[id]++ //Тут
}
}
case MENU_EXIT:{
return menu_destroy(menu);
}
}
return menu_destroy(menu);
}public adml4_menu(id){
if(get_user_flags(id) & ADMIN_L4){
return PLUGIN_HANDLED
}
new formatted_str[5][64];
format(formatted_str[0], charsmax(formatted_str[]), "yАдмин-меню^nd[rУровень: L4d]");
format(formatted_str[1], charsmax(formatted_str[]), "wВзятьr 300APw +r 300HP");
format(formatted_str[2], charsmax(formatted_str[]), "wВзятьr $22000");
format(formatted_str[3], charsmax(formatted_str[]), "wВзятьr автомат Томпсона");
format(formatted_str[4], charsmax(formatted_str[]), "wВзятьr Гранатомёт");
new L4MENU = menu_create(formatted_str[0], "l4_handlermenu");
for(new il = 1; il < sizeof(formatted_str); il++){
menu_additem(L4MENU, formatted_str[il]);
}
menu_setprop(L4MENU, MPROP_NEXTNAME, "Дальше");
menu_setprop(L4MENU, MPROP_BACKNAME, "Назад");
menu_setprop(L4MENU, MPROP_EXITNAME, "Выход");
menu_setprop(L4MENU, MPROP_EXIT, MEXIT_ALL);
menu_display(id, L4MENU, 0);
return PLUGIN_HANDLED;
}public l4_handlermenu(id, menu, key){
switch(key+1){
case 1:{
if(one_map[id]<7){
set_user_health(id, 300);
set_user_armor(id, 300);
one_map[id]++
}
}
case 2:{
if(one_map[id]<7){
cs_set_user_money(id, cs_get_user_money(id) + 16000);
one_map[id]++
}
}
case 3:{
if(one_map[id]>5){
Ak47_DarkHunter(id)
one_map[id]++
}
}
case 4:{
if(one_map[id]>1){
get_m79(id);
one_map[id]++
}
}
case MENU_EXIT:{
return menu_destroy(menu);
}
}
return menu_destroy(menu);
}

-
Nick2001
- Сообщения: 31
- Зарегистрирован: 02 мар 2016, 19:43
- Благодарил (а): 17 раз.
- Поблагодарили: 1 раз.
- Языки программирования: Counter-Strike 1.6
Re: warning 217: loose indentation
L4D2 » 23 мар 2016, 02:31
Табуляция…
Никакой ошибки здесь нету, он лишь предупреждает.
Научитесь расставлять правильно табуляцию.
-
L4D2
- Сообщения: 792
- Зарегистрирован: 25 июн 2011, 19:26
- Благодарил (а): 240 раз.
- Поблагодарили: 100 раз.
- Языки программирования: Counter-Strike 1.6
Re: warning 217: loose indentation
Nick2001 » 23 мар 2016, 02:37
Ещё, он не выполняет своих функции.
Всё раставил ошибок нет, но всё равно не выполняет
Добавлено спустя 20 секунд:
Только одну, выдаёт 22000 долларов
-
Nick2001
- Сообщения: 31
- Зарегистрирован: 02 мар 2016, 19:43
- Благодарил (а): 17 раз.
- Поблагодарили: 1 раз.
- Языки программирования: Counter-Strike 1.6
Re: warning 217: loose indentation
Fedcomp » 23 мар 2016, 09:26
Если плагин скомпилировался (или если вы обратите внимание на слово warning) то это предупреждения.
В предупреждении у вас сказано что неправильно расставлены отступы, поправьте отступы и предупреждение уйдет. За сим закрываю.
Не помогаю в ЛС — есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.
«я ставлю зависимости потому что мне приятно» — subb98 @ 2017
-
Fedcomp
- Сообщения: 4910
- Зарегистрирован: 28 авг 2009, 20:47
- Благодарил (а): 790 раз.
- Поблагодарили: 1302 раз.
- Языки программирования: =>
pawn / php / python / ruby
javascript / rust
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и гости: 20
Помогите с кодом, команда /afly, Все вроде правильно написал, но не понимаю, что за ошибки: warning 217: loose indentation и как их убрать
Вот что выходит при компилировании:
C:UsersFelixDesktopServer DMgamemodesserver.pwn(4598) : warning 217: loose indentation
C:UsersFelixDesktopServer DMgamemodesserver.pwn(4831) : warning 217: loose indentation
C:UsersFelixDesktopServer DMgamemodesserver.pwn(4864) : warning 217: loose indentation
C:UsersFelixDesktopServer DMgamemodesserver.pwn(6548) : warning 211: possibly unintended assignment
C:UsersFelixDesktopServer DMgamemodesserver.pwn(6555) : warning 202: number of arguments does not match definition
Строчка 4598 жалуется, код:
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/afly", true)) { if(GetPVarType(playerid, "FlyMode")) CancelFlyMode(playerid); else FlyMode(playerid); return true; } 4598 return true; } Строчка 4831 и 4864 жалуется, код: 4831 if(noclipdata[playerid][cameramode] == CAMERA_MODE_FLY) { new keys,ud,lr; GetPlayerKeys(playerid,keys,ud,lr); if(noclipdata[playerid][mode] && (GetTickCount() - noclipdata[playerid][lastmove] > 100)) { // If the last move was > 100ms ago, process moving the object the players camera is attached to MoveCamera(playerid); } // Is the players current key state different than their last keystate? if(noclipdata[playerid][udold] != ud || noclipdata[playerid][lrold] != lr) { if((noclipdata[playerid][udold] != 0 || noclipdata[playerid][lrold] != 0) && ud == 0 && lr == 0) { // All keys have been released, stop the object the camera is attached to and reset the acceleration multiplier StopPlayerObject(playerid, noclipdata[playerid][flyobject]); noclipdata[playerid][mode] = 0; noclipdata[playerid][accelmul] = 0.0; } else { // Indicates a new key has been pressed // Get the direction the player wants to move as indicated by the keys noclipdata[playerid][mode] = GetMoveDirectionFromKeys(ud, lr); // Process moving the object the players camera is attached to MoveCamera(playerid); } } noclipdata[playerid][udold] = ud; noclipdata[playerid][lrold] = lr; // Store current keys pressed for comparison next update return 0; } 4864 return true; } Строчка 6548 и 6555 жалуется, код: CMD:afly(playerid,params[]) { 6548 if(dostup[playerid] = 0) return true; if(PlayerInfo[playerid][pAdmin] < 1) return true; SetPVarInt(playerid,"spawn_ac",1); if(GetPVarType(playerid, "FlyMode")) { new inter, world, Float:X, Float:Y, Float:Z, Float:FA; 6555 GetPlayerHealth(PlayerInfo[playerid][pHealth]); GetPlayerPos(playerid, X, Y, Z); GetPlayerFacingAngle(playerid, FA); inter = GetPlayerInterior(playerid); world = GetPlayerVirtualWorld(playerid); SetPVarFloat(playerid, "SpecX", X); SetPVarFloat(playerid, "SpecY", Y); SetPVarFloat(playerid, "SpecZ", Z); SetPVarFloat(playerid, "SpecFA", FA); SetPVarInt(playerid, "SpecInt", inter); SetPVarInt(playerid, "SpecWorld", world); CancelFlyMode(playerid); } else { SetPVarInt(playerid, "SpecBool", 1); FlyMode(playerid); } return true; }
Просьба, кто знает в чем проблемы, помогите, буду очень благодарен
Отредактировано 15 апреля, 2018 пользователем MuhammadPawn
Причина: Убрал код под спойлер
Заметка от
Гость
, создано 15 апреля, 2018
Ошибки желательно тоже под код
Вы можете столкнуться с ошибкой выполнения 217 на ПК с Windows при открытии приложения. У этой проблемы может быть несколько причин, таких как неполный пакет загрузки, поврежденные файлы и т. Д. В ошибке также будет указан адрес, по которому произошла ошибка времени выполнения. Например, он может сказать Ошибка выполнения 217 по адресу 00580d29, 004bb10d, 5009763B, 0047276a, 0041fae1 и т. Д.
Вот что вы можете сделать, чтобы исправить ошибку выполнения 217 в Windows 10
- Запустите SFC и DISM
- Переустановите приложение
- Восстановить установку Microsoft Visual C ++
- Устранение неполадок в состоянии чистой загрузки.
Поговорим о них подробнее.
1]Запустите SFC и DISM
Одна из наиболее частых причин этой ошибки — поврежденные системные файлы, и с помощью этих двух команд мы собираемся исправить их. Для этого запустите командную строку от имени администратора, введите следующие команды и одновременно нажмите Enter.
sfc / scannowDism / Online / Cleanup-Image / ScanHealth
Теперь попробуйте запустить приложение, надеюсь, вы не столкнетесь с ошибкой.
2]Переустановите приложение
Другой причиной этой проблемы является неполная загрузка, поэтому для решения этой ошибки нам необходимо переустановить приложение, которое вызывает эту ошибку. Для этого нажмите Win + S, введите «Добавить или удалить программы» и нажмите «Открыть». Теперь найдите приложение, которое выдает ошибку выполнения, выберите и нажмите Удалить.
Теперь переустановите приложение и, надеюсь, ошибка выполнения 217 будет исправлена.
Связанный: Исправить ошибку времени выполнения R6034 в Windows.
3]Восстановить установку Microsoft Visual C ++
Еще одна вещь, которую вы можете сделать, чтобы исправить это, — это восстановить Microsoft Visual C ++. Для этого выполните следующие действия:
- Запустите панель управления из меню «Пуск» и щелкните «Программы и компоненты».
- Выберите распространяемый компонент Microsoft Visual C ++ 2015-2019 (x64) и нажмите «Изменить»> «Восстановить».
После этого следуйте инструкциям на экране, чтобы восстановить Microsoft Visual C ++. Надеюсь, это исправит ошибку времени выполнения.
4]Устранение неполадок в состоянии чистой загрузки
В большинстве случаев вы сможете решить проблему с помощью первых двух методов, но если вам это не удастся, попробуйте устранить неполадки в состоянии чистой загрузки. Таким образом мы увидим, связана ли проблема со сторонним приложением.
Для этого выполните следующие действия:
- Нажмите Win + R, введите «msconfig» и нажмите Enter.
- Выберите «Обычный запуск», перейдите на вкладку «Службы», установите флажок «Скрыть все службы Microsoft» и нажмите «Отключить все»> «Применить»> «ОК».
- Перезагрузите компьютер и проверьте, сохраняется ли проблема.
Если вы не испытываете ошибки выполнения в состоянии чистой загрузки, попробуйте сделать то же самое еще раз, но на этот раз снимите отметки с некоторых служб. Повторяйте этот шаг, пока не найдете точного виновника проблемы.
Надеюсь, эти решения помогли вам исправить ошибку Runtime 217.
Читать далее:
.
- Команда форума
-
#121
Re: Где находятся переменные sourcemod.cfg
cfg/sourcemod/
-
#122
Всё с офф сайта,последние версии закинул DM все как надо, в консоли пишет что детматч failed. Что делать
-
#123
Ребят,помогите пожалуйста скомпилировать!
-
sourcebans.rar
11.4 КБ
· Просмотры: 11
- Команда форума
-
#124
Nikolay Smagin, лови
-
sourcebans.smx
29.4 КБ
· Просмотры: 4
-
#125
Как ты компилировал,ото меня ошибку выдаёт
/home/groups/sourcemod/upload_tmp/phpFl5OCY.sp(14) : fatal error 120: cannot read from file: «sourcebans»
- Команда форума
-
#126
Nikolay Smagin, sourcebans.inc закинь в include рядом с компилятором
-
#127
Можешь дать ссылку на программу для smx. плагинов
Ото я с сайта соурсмода делал
- Команда форума
-
#128
Nikolay Smagin, скачиваешь sourcemod для windows и распаковываешь папку scripting. В неё потом закидываешь что нужно скомпилировать, а дальше
Инструкция по компиляции плагинов:
Windows
Скопируйте файл с расширением sp в папку SRCDS/<MOD>/addons/sourcemod/scripting и переместите скопированный файл на compile.exe с помощью перетаскивания.
Вы увидите такое окно:
![]()
Далее нажмите Enter, окно должно закрыться. Готовый скомпилированный плагин будет в папке SRCDS/orangebox/cstrike/addons/sourcemod/scripting/compiled
Для компиляции некоторых плагинов нужны *.inc файлы которые нужно копировать в папку addons/sourcemod/scripting/include и затем компилировать плагин.
-
#129
Спасибо,разобрался.
Вот ещё,пишет
cannot read from file: «autoupdater»
Где его взять?
- Команда форума
-
#130
-
#131
Я компилирую плагин пишет /home/groups/sourcemod/upload_tmp/phpuY9hxa.sp(10) : fatal error 120: cannot read from file: «ipcompil»
Compilation aborted.
1 Error.
- Команда форума
-
#132
Кирилл Спиридонов, удали это
#define IPCOMPILED_MODE 1
#define IPCOMPILED «83.222.97.211»#include <ipcompil>
И это
#if IPCOMPILED_MODE > 0
CheckTheIP();
#endif
- Команда форума
-
#134
Кирилл Спиридонов, из исходника
-
#135
Удалил теперь пишет chat.sp <178> warning 217: loose indentation
chat.sp <180> warning 217: loose indentation
- Команда форума
-
#136
Кирилл Спиридонов, это просто предупреждения, не обращай на них внимания. Плагин скомпилировался.
AlmazON
Не путать с самим yand3xmail
-
#137
warning 217: loose indentation
«Предупреждение 217: свободный (неправильный) отступ»; код не табулирован (не построен лесенкой).
По факту ни на что не влияет, а теоретически может чуток нагружать сервер.
Если хочешь, скинь сюда свой скрипт — «Notepad++» разровняет.
- Команда форума
-
#138
а теоретически может чуток нагружать сервер.
Откуда инфа?
AlmazON
Не путать с самим yand3xmail
-
#139
«обьясню чем он опасен этот: warning 217: loose indentation.
Всё с самого начало про программирование:
Бывают низкий уровень программного кода: ну скомпилированный обьект на понятном компу языке
И бывает высокий уровень програмного кода: Pawn например или его большой брат C/C++.
Теперь рассмотрим что такое компиляция:
Компиляция — преобразование программой-компилятором исходного текста какой-либо программы, написанного на языке программирования высокого уровня, в язык, близкий к машинному, или в объектный код.
Варнинг 217, это нарушение табуляции — тоесть при компиляции получается куча из байтов( Байт — 1 буква или символ)
И он приводит к нарушению чтения кода компом хоста/ващего… ну к ничему серьёзному это не приводит компилятор в павно сам его исправляет но даёт нам понять что его надо исправить что вы люди не хотите делать…» — тык
Чисто про теорию нагрузки уже давал где-то ссылку, не помню.
- Команда форума
-
#140
AlmazON, я всегда исправляю но всё же компилятор при преобразовании кода должен её исправлять
Как исправить Warning
Значение Warning можно посмотреть .
warning 219 писал(а):warning 219: local variable «%s» shadows a variable at a preceding level
Это значит что переменная дважды объявлена. Пример:
Что делать?
1. мы можем одну из них удалить;
2. можем изменить;
Но не стоит забывать что при изменении переменной нам нужно заменить все что её касается. Пример правильного изменения:
Код: Выделить всё
new fast1;
fast1 = CreatePickup(1239, 2, 1380.3220,-1771.3235,13.5469);
warning 217 писал(а):warning 217: loose indentation
Это значит что код не табулирован (не построен лесенкой) Пример:
Код: Выделить всё
stock LSNews(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++){
if(IsPlayerConnected(i)){
if(!lNews[i]){
SendClientMessage(i, color, string);}}}
Пример правильного табулирования:
Код: Выделить всё
stock LSNews(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!lNews[i])
{
SendClientMessage(i, color, string);
}
}
}
}
Можем выровнять все вручную или поставить:
или при помощи все исправить. pragma tabsize — просто маскирует эти warning и не более.
warning 235 писал(а):warning 235: public function lacks forward declaration %s
Это означает что у функции нет forward Например Вы создали паблик:
И увас появляется этот варинг что же делать? Просто добавляем forward:
Если вы не хотите каждый раз писать forward то можно сделать так:
Код: Выделить всё
#define public:%1(%2) forward %1(%2);
public %1(%2)
И тогда новые паблики мы делаем так:
warning 216 писал(а):warning 216: nested comment ;
Вот так это выглядит:
исправление:
warning 213 писал(а):warning 213: tag mismatch
Это означает не совпадения аргументов вот допустим самый простой случай:
Код: Выделить всё
#define CreateObject CreateDynamicObject
#define MoveObject MoveDynamicObject
решение:
Код: Выделить всё
#define CreateObject, CreateDynamicObject
#define MoveObject, MoveDynamicObject
warning 201 писал(а):warning 201: redefinition of constant/macro
Двойное определение одинаковой константы define:
Код: Выделить всё
#define OnPlayerEnterRaceCheckpoint
#define OnPlayerEnterRaceCheckpoint
исправление — одну удалить:
warning 200 писал(а):warning 200: symbol «%s» is truncated to 31 characters
Это обозначает что мы при создании переменной ввели больше 31 символа. Пример:
Решение — сменить название или укоротить.
warning 202 писал(а):warning 202: number of arguments does not match definition
Это значит что у нас не совпадают аргументы. Возьмем самый простой пример:
Код: Выделить всё
Create3DTextLabel(" Текст .",0xFFA500FF,.0120,456.2717,35.1719,20.0);
Наша ошибка:
Код: Выделить всё
-2041.0120,456.2717,35.1719,20.0
-2041.0120,456.2717,35.1719--------- это на ша координата (она нас не интересует)
20.0--------вот наша ошибка (20----это расстояние с которого наш текст будет виден)
а вот 0 это у нас testLOS- линия видимости
Нам 0 нужно заменить на 1
Код: Выделить всё
Create3DTextLabel(" Текст .",0xFFA500FF,1111.1111,111.1111,11.1111,20.1);
warning 203 писал(а):warning 203: symbol is never used: %s
Это означает что данный символ нигде не используется. Пример — создадим переменную:
И тут у нас возникает вопрос?:
Код: Выделить всё
(2378) warning 203: symbol is never used: "respon"
Что же делать? Ответ прост — найти эту переменную и удалить.
warning 204 писал(а):warning 204: symbol is assigned a value that is never used %s
Это значит что создали переменную и массив, а он негде не используется:
Решение — просто удалить.
warning 209 писал(а):warning 209: function «%s» should return a value
Это значит что наша функция не возвращается (простыми словами нет return 1; или return 0;). Пример:
Код: Выделить всё
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == 1024)
{
OnPlayerCommandText(playerid,"/Blablabal");
return 1; <========Вот наш return ДО
}
}
Решение:
Код: Выделить всё
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == 1024)
{
OnPlayerCommandText(playerid,"/Blablabal");
}
return 1; <========Вот наш return ПОСЛЕ
}





Тема закрыта