Несколько вопросов по sourcepawn

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

Колян

Участник
Сообщения
180
Реакции
5
void не может ничего возвращать.
ааа да в одном из условий было return -1; но дело в том что предупреждение пишет даже без void ... или теперь надо писать вместо void - int когда хочешь вернуть человек значение?
--- Добавлено позже ---
Открою тебе "секрет":Лучше писать после всех #include. Либо они должны 100% написаны на новом синтаксисе.
но раз написаны на новом синтаксисе - то почему ругается?
--- Добавлено позже ---
ппц да но у меня теперь на каждую строку ругается... ))

public Plugin:myinfo =
{
name = "2312",
author = "B1232",
description = "Allo1231",
version = "2.0.4",
url = "SourceMod: Half-Life 2 Scripting"
}

new offs_Owner;
new g_Offset_Clip1 = -1;
new g_Offset_Ammo = -1;
new g_Offset_FOV = -1;
new g_Offset_DefFOV = -1;

просто на каждую пишет - error 147: new-style declarations are required
 

Колян

Участник
Сообщения
180
Реакции
5
PHP:
int CreateBlockEntity(const Float:pos[3], const Float:ang[3], const String:g_szModel[])
{
    new entity = CreateEntityByName("prop_dynamic_override");
   
    if (entity == -1)
        return -1;
   
    SetEntityModel(entity, g_szModel);
    DispatchKeyValue(entity, "Solid", "6"); 
    DispatchSpawn(entity);
    TeleportEntity(entity, pos, ang, NULL_VECTOR);
}

так? в конце надо делать return 0 например?
 

DarklSide

Участник
Сообщения
931
Реакции
468
Открою тебе "секрет":Лучше писать после всех #include. Либо они должны 100% написаны на новом синтаксисе.
Т.к. говориться об новом синтаксисе и если sm например не для v34 (sm 1.7), то sourcemod обычно представляется последней оф. версии. По крайней мере в ней, стандартные include все переведены.
error 147: new-style declarations are required вот так ругается почти на каждую строку!
Если нужен новый синтаксис, то и переписывай согласно ему.
Ошибки компилятора подскажет некоторые из них.
 
Последнее редактирование:

Колян

Участник
Сообщения
180
Реакции
5
Т.к. говориться об новом синтаксисе и если sm например не для v34, то sourcemod обычно представляется последней оф. версии. По крайней мере в ней, стандартные include все переведены.

Если нужен новый синтаксис, то и переписывай согласно ему.
Ошибки компилятора подскажет некоторые из них.
получается если я перепишу свой код на новый синтаксис то он уже не будет актуален для ксс34 ?
 

ludanik

Участник
Сообщения
146
Реакции
20
@Колян, было: int CreateBlockEntity(const Float:pos[3], const Float:ang[3], const String:g_szModel[])
стало: int CreateBlockEntity(float pos[3], float ang[3], const char[] g_szModel) (новый синтаксис, то как будет правильно.)

if (entity == -1) return entity;
 

DarklSide

Участник
Сообщения
931
Реакции
468
получается если я перепишу свой код на новый синтаксис то он уже не будет актуален для ксс34 ?
В промежуточном sm 1.7.* - свои непереведенные include. И если даже перевести их вручную (standart include sm 1.7), то возможно появиться свои причуды во время исполнения.
Поэтому если sm 1.7, то - как написал @AlmazON, #pragma newdecls required
Лучше писать после всех #include.
 

Колян

Участник
Сообщения
180
Реакции
5
Ребят а если у меня код на старом синтаксисе SM там нее планирует отрубать плагины которые на старом синтаксисе ?
Помимо удобства читабельности нового синтаксиса, какие еще очевидные причины введение нового синаксиса?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
SM там нее планирует отрубать плагины которые на старом синтаксисе ?
Потихоньку старый синтаксис выведут из поддержки. Плагины, написанные на нём, перестанут компилироваться. Оффтоп
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #33
@AlmazON, откуда информация, что на Новый год будет SM 2.0?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,924
  • Команда форума
  • #35
@AlmazON, ещё SM 1.9 полноценно не вышел. Никакой речи о SM 2.0 и быть не может, пока что.
 
Сверху Снизу