Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  1 2 3 >  
Ответить в эту темуОткрыть новую тему
> LOCAL
Sirocco
сообщение 7.3.2019, 12:06
Сообщение #1


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



Решил я попробовать, что такое 56 сфера.Скажите мне как вы живете с local, которые не string?
я раньше проверял открыт ли local или нет. А теперь он всегда 0.и дату в нем хранить тоже нельзя.
local.txt = "2019/01/09"
он сразу делить пытается


ладно нашел dlocal. вроде хоть эта часть отпала.
тогда по аналогии надо еще
slocal.
plocal. - это как ref, только поименованный

однако все равно вопрос, куда сохранять что-то вроде

local. = "123.456.789"

пару часов угробил на разбитие числа на разряды.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 7.3.2019, 17:08
Сообщение #2


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



А где тут циклы по TAG с маской?
CLEARTAGS по маске?

чо тут до появления LIST то делать?

где обещанные удобства?


мне кажется это вообще должно идти в комплекте с каждой сферой, но нет.

Код

tag.plr_<uid>
tag.plr_<uid>


for 0 <eval(<tagcount> - 1)>
  if strmatch("plr_*",<tagat.<eval(<local._for>)>.key>)
    ref1 = <tagat.<eval(<local._for>)>.value>
  endif
endfor



вот так:
Код

fortags sample*
  <local._var_value> = <local._var_name>
endfor
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 7.3.2019, 18:03
Сообщение #3


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



Все кто пишет, что сфера говно. я согласен полностью!
я как будто в каменный век провалился.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 9.3.2019, 17:25
Сообщение #4


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Sphere Gauno! (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 10.3.2019, 13:19
Сообщение #5


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Так это псевдоязык уровней аля школьник 8 класса )

Конечно если хочешь удобство и красоту - надо брать РанКу с нормальным шарпом, дебагером и IDE )

Я лично сферу использую потому что: 1) уже набита рука к тому что ты описал и я не трачу время на "разбирательства" как сделать лучше 2) я привык работать с ней без IDE и подсветки кода 3) у меня нет желания делать "правильно и гибко" на шарпе т.к. это дольше для меня, чем из "гомна и палок" слепить готовый mvp


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 10.3.2019, 14:00
Сообщение #6


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



Ты не понял. Я хотел перейти со своей 55й на 56ю.
И понял что когда "уже набита рука" теперь невозможно работать с local. от слова совсем, невозможно работать с tag.
почему они не string? что за херня?!


я конечно придумал писать
local. = txt 34/24/24

а потом

STREAT

зато

return - выдает все как положено.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 10.3.2019, 19:00
Сообщение #7


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



Код

local.y = 40
serv.log <eval((<local.y> / 40) - (<local.y> / 10))> = -3
serv.log <eval((<local.y> / 40) + (<local.y> / 40))> = 2
serv.log <eval((<local.y> / 40) - (<local.y> / 10) + (<local.y> / 40))> = -4
serv.log <eval((<local.y> / 40) + (<local.y> / 40) - (<local.y> / 10))> = -2

что тут вообще творится?
как в 3 строчке получается -4?

у меня раньше никаких проблем с вычислениями не было.

проверил др версию 56 сфера, все также.


я даже проще напишу
Код

serv.log <eval(1 - 4)> = -3
serv.log <eval(1 + 1)> = 2
serv.log <eval(1 - 4 + 1)> = -4 (WAT?)
serv.log <eval(1 + 1 - 4)> = -2



Я конечно понимаю, что видимо он пытается считать как-то так:
serv.log <eval(1 - (4 + 1))> = -4
но это ж неправильно!
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 10.3.2019, 22:11
Сообщение #8


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Да, такая фишка сферы и очень давно. Спецом отписал в дискорде сферы, таки подтвердили, что она вычисляет с права на лево. Вот такая особенность, поэтому лучше использовать скобки. И вроде как в твоей 55й должно быть тоже самое, если там не модифили код и не переделывали это принудительно.

Как мне написали **Some parts of the source have been untouched for ages** ))


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 10.3.2019, 22:20
Сообщение #9


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



В том то и дело... что я не заново делаю, я тупо переношу скрипты. и они начинают работать не так, как до этого.
и когда у тебя 6 мб кода без предметов и всяких дефолтов.
ну это просто ахтунг!

если что я там юлианскую дату считаю.
понятно дело, что если она не будет совпадать, все накроется медным тазом!


P.S. и да я так и сделал, воспользовался скобками
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 11.3.2019, 12:23
Сообщение #10


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



Смотрите прикол:

Код

local.m = "2019/03/10"
tag.i = <local.m> - ошибка деления на ноль


Код

local.m = "2019/03/10"
tag.i = "<local.m>" - вроде ок


НО вот так уже не работает

Код

serv.newitem
local.m = "2019/03/10"
new.tag.i = "<local.m>" - опять ошибка деления
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 11.3.2019, 21:37
Сообщение #11


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Ну на самом деле все это обычные ошибки языков без строгой типизации. Тот же ЖС имеет подобные бока постоянно, поэтому я бы советовал по 100 раз перепроверять (как ты и делаешь) переменные и результат, а лучше отказыватся от даты в таком виде, точнее с такими разделителями. Лучше /*:-+% - все это может не правильно быть понято интерпритатором при работе с переменными.


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 11.3.2019, 23:26
Сообщение #12


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



serv.rtime - к сожалению в таком виде.
и я их просто сравнивал... не осуществляя никаких махинаций.
в др виде ее хранить, это значит и serv.rtime как-то каждый раз модифицировать.

я вообще юлианскую дату вычисляю.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 11.3.2019, 23:54
Сообщение #13


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Ну на вскидку пару идей,

1. SERV.RTIME.FORMAT

2. Хранить в юникстайме

3. Вычислять юлианскую через mysql

В любом случае работать с датами в таком формате (сравнивать, модифицировать и тп) не вариант. Обычный юникстайм в помощь, дальше от него плясать или через базу или свои функции навешивать для преобразования. Иначе реально будешь спотыкатся на сферовских приколах ))

Ну и быстрое решение с интернета в псведокоде если мы таки работаем c unixtime. Правда нет под рукой сферы что б точно сказать формат SERV.TIME, но поидеи сфера как то в нем вернуть точно должна смочь

Код
Эпоха Unix (нулевая точка) - 1 января 1970 года. Это соответствует юлианскому дню 2440587.5

function float getJulianFromUnix( int unixSecs )
{
   return ( unixSecs / 86400.0 ) + 2440587.5;
}


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Wap
сообщение 12.3.2019, 0:12
Сообщение #14


**********

Администратор Форума
Сообщений: 3.003
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31646
Пользователь №: 9.227



Когда работал на Сфере, выполнение нетривиальной задачи часто сводилось к "как же мне на**ать Сферу". Самое интересное, что в большинстве случаев получалось. (IMG:style_emoticons/default/smile.gif) Там просто тонны всяких неочевидных фишек в работе функций и кода.

А всю прелесть работы со стрингами я оценил, когда поставил задачу сделать обфускатор скриптов, написанный на сферскрипте. Вот это была жесть. (IMG:style_emoticons/default/biggrin.gif) Я неделю мучался, узнал много нового, а том, как Сфера обрабатывает стринги (IMG:style_emoticons/default/biggrin.gif) потом друг написал его мне за вечер на нормальном языке и с нормальной скоростью работы.
Ну это было очень давно, я тогда ни на чем, кроме сферскрипта писать не умел.


--------------------
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 12.3.2019, 8:04
Сообщение #15


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



чтобы вычислять unixSecs, нужно его вычислять ))) ее же там нет.

кстати нашел
RTICKS


но простите это не отменяет того факта, что сфера не работает так как надо.

все почему-то пытаются мне советовать как надо делать.
а ничего что я не могу на 55 сфере сделать так как надо.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 12.3.2019, 11:31
Сообщение #16


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Сфера уже давно опен сорс. Не нравится? Форкаешь и делаешь под себя, а ещё можно посмотреть что на самом деле там происходит.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sirocco
сообщение 12.3.2019, 12:16
Сообщение #17


******

Expert
Сообщений: 809
Регистрация: 2.2.2012
Группа: Пользователи
Наличность: 15408
Пользователь №: 14.566
Возраст: 30



Да притом что у меня есть исходники 55 сферы, еще до того как это стало мейнстримом.
Я даже могу сравнить изменения и исправления, которые туда за это время внесли.

Но похоже, покуда мы исправляли ошибки и делали сферу юзерфрендли.
На 56 сфере творился полный бардак.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 12.3.2019, 13:03
Сообщение #18


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Цитата(Sirocco @ 12.3.2019, 10:16) *

Да притом что у меня есть исходники 55 сферы, еще до того как это стало мейнстримом.
Я даже могу сравнить изменения и исправления, которые туда за это время внесли.

Но похоже, покуда мы исправляли ошибки и делали сферу юзерфрендли.
На 56 сфере творился полный бардак.


Команда разработчиков, которые делают за спасибо, либо под себя. Вот и результат.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 12.3.2019, 17:29
Сообщение #19


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Цитата(Aimed @ 12.3.2019, 13:03) *

Команда разработчиков, которые делают за спасибо, либо под себя. Вот и результат.

Надо им шоколадку купить!)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 12.3.2019, 18:01
Сообщение #20


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Цитата(Llirik @ 12.3.2019, 15:29) *

Надо им шоколадку купить!)

[+]
?t=3
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

3 страниц V  1 2 3 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 22:50
Designed by Nickostyle