пытаюсь создать для себя сейв лоад систему и нужно установить на массив числа букву
пример
string[0] = a                integer[a] = 0
string[1] = b                integer[b] = 1
string[2] = c                integer[c] = 2
string[3] = d                integer[d] = 3
string[4] = e                integer[e] = 4
string[5] = f                 integer[f] = 5
string[6] = g                integer[g] = 6
string[7] = h                integer[h] = 7
string[8] = i                 integer[i] = 8
string[9] = j                 integer[j] = 9
теперь по подробнее скажем у игрока 3615 золото пишем -save нам выдает dgbf
тоесть букву с номером массива
пишем "-load dgbf " и игроку дает 3615 золота
тоесть через массив узнаем цифру и даем столько золота но вот как установить на массив букву а не число понятия не имею не подскажете как это можно сделать

Гуванч:
выдает ошибку
Ты уверен что ты правильно сделал?
Я вот сейчас проверил, и всё работает.
globals
    integer array n
endglobals

function TEST takes nothing returns nothing
    set n['a'] = 0
endfunction
Может у тебя переменная объявлена без массива?
Или ты её называешь типом, так нельзя делать (integer/string/real/unit/item).
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Гуванч:
вот этот момент мне не понятен
Переменной _set задаётся значение, на которое нужно выставить бонус
А дальше циклом выставляются значения из массива данных ascii/value
26
Гуванч:
quq_CCCP:
сейфв лоадов готовых полно. Незачем изобретать своё.
они мне не подходят я хочу хранить там пару своих значений типа звания и т.д

Extremator:
integer['a'] = 1
выдает ошибку
сейвлоады позволяют хранить все что угодно
14
Hate:
Гуванч:
quq_CCCP:
сейфв лоадов готовых полно. Незачем изобретать своё.
они мне не подходят я хочу хранить там пару своих значений типа звания и т.д

Extremator:
integer['a'] = 1
выдает ошибку
сейвлоады позволяют хранить все что угодно
не все

если лезть в код системы то все нужно менять а менять чужой код который не понятен мне не реально
26
Гуванч:
хочу хранить там пару своих значений типа звания и т.д
Что мешает пронумеровать "звания" и сохранять/загружать их по номеру?
14
массив числа букву
пример
Выделить код
думал что смогу хотяб сделать сейв золото но увы в голову не лезет ниче

Extremator:
Гуванч:
вот этот момент мне не понятен
Переменной _set задаётся значение, на которое нужно выставить бонус
А дальше циклом выставляются значения из массива данных ascii/value
а как идет подсчет урона? там капец много каждая последующая цифра увеличивается на 2х вплоть до 8192
26
Гуванч:
Hate:
Гуванч:
quq_CCCP:
сейфв лоадов готовых полно. Незачем изобретать своё.
они мне не подходят я хочу хранить там пару своих значений типа звания и т.д

Extremator:
integer['a'] = 1
выдает ошибку
сейвлоады позволяют хранить все что угодно
не все

если лезть в код системы то все нужно менять а менять чужой код который не понятен мне не реально
бред полный, значит вы вообще не понимаете что делаете
26
Гуванч:
а как идет подсчет урона? там капец много каждая последующая цифра увеличивается на 2х вплоть до 8192
Записываются числа в ряд переменных, например 16, 8, 4, 2, 1
Ты выбираешь нужное тебе число, например 11.
Цикл проверяет ряд переменных
Если 11 меньше 16, то забрать бонус на +16 атаки, иначе - выдать +16 и уменьшить 11 на 16.
Тут 11 меньше 16, поэтому если у юнита будет +16 атаки, то он их потеряет
Если 11 меньше 8, то забрать бонус на +8 атаки, иначе - выдать +8 и уменьшить 11 на 8.
Тут 11 не меньше 8, поэтому юниту выдаст +8 атаки а 11 уменьшится на 8, итого 3 остаётся
Если 3 меньше 4, то забрать бонус на +4 атаки, иначе - выдать +4 и уменьшить 3 на 4.
Тут 3 меньше 4, поэтому если у юнита будет +4 атаки, то он их потеряет
Если 3 меньше 2, то забрать бонус на +2 атаки, иначе - выдать +2 и уменьшить 3 на 2.
Тут 3 не меньше 2, поэтому юниту выдаст +2 атаки а 3 уменьшится на 2, итого 1 остаётся
Юнит в этот момент уже имеет абилки на +8 и +2 урона
Если 1 меньше 1, то забрать бонус на +1 атаки, иначе - выдать +1 и уменьшить 1 на 1.
Тут 1 не меньше 1, поэтому юниту выдаст +1 атаки а 1 уменьшится на 1, итого 0 остаётся
Юнит в этот момент уже имеет абилки на +8, +2 и +1 урона (итого +11).
Вот и всё. Ты послал в цикл число 11 и получил на выходе +11 атаки для него.
14
Extremator:
Гуванч:
а как идет подсчет урона? там капец много каждая последующая цифра увеличивается на 2х вплоть до 8192
Записываются числа в ряд переменных, например 16, 8, 4, 2, 1
Ты выбираешь нужное тебе число, например 11.
Цикл проверяет ряд переменных
Если 11 меньше 16, то забрать бонус на +16 атаки, иначе - выдать +16 и уменьшить 11 на 16.
Тут 11 меньше 16, поэтому если у юнита будет +16 атаки, то он их потеряет
Если 11 меньше 8, то забрать бонус на +8 атаки, иначе - выдать +8 и уменьшить 11 на 8.
Тут 11 не меньше 8, поэтому юниту выдаст +8 атаки а 11 уменьшится на 8, итого 3 остаётся
Если 3 меньше 4, то забрать бонус на +4 атаки, иначе - выдать +4 и уменьшить 3 на 4.
Тут 3 меньше 4, поэтому если у юнита будет +4 атаки, то он их потеряет
Если 3 меньше 2, то забрать бонус на +2 атаки, иначе - выдать +2 и уменьшить 3 на 2.
Тут 3 не меньше 2, поэтому юниту выдаст +2 атаки а 3 уменьшится на 2, итого 1 остаётся
Юнит в этот момент уже имеет абилки на +8 и +2 урона
Если 1 меньше 1, то забрать бонус на +1 атаки, иначе - выдать +1 и уменьшить 1 на 1.
Тут 1 не меньше 1, поэтому юниту выдаст +1 атаки а 1 уменьшится на 1, итого 0 остаётся
Юнит в этот момент уже имеет абилки на +8, +2 и +1 урона (итого +11).
Вот и всё. Ты послал в цикл число 11 и получил на выходе +11 атаки для него.
круть
38
Нормальные пацаны засовывают всё в одну строку и потом достают функцией SubString
14
ScorpioT1000:
Нормальные пацаны засовывают всё в одну строку и потом достают функцией SubString
а эти "пацаны" наверно не в утробе матери наичились это делать я всего год в редакторе и всего месяц на джассе
10
без хеширования и контрольных сумм это все балавство и кривота. хотя желание создать свою систему одобряю, но определенно в такой не простой теме нужен определенный порог вхождения
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.