ELITE
АДмин
offline
Опыт:
4,078Активность: |
преобразование предмет - строка
подскажите, как в переменную типа строка записать ID предмета из инвентаря героя
именно ID а не ИМЯ!!! |
28.03.2012, 11:22 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DaeDR
offline
Опыт:
8,074Активность: |
Есть такая native:
Выводит 10-значное число, которое осталось только преобразовать (если надо) |
28.03.2012, 11:34 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Extremator
offline
Опыт:
40,226Активность: |
а зачем тебе строка? запомнить в переменную типа предмет... ссылаясь на неё можно создать такой же... |
28.03.2012, 12:18 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
мне нужен в строковом типе получить 4х значный ID предмета
не 8 а именно 4х значный |
28.03.2012, 14:51 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
хорошо, раз никто не знает
то другой вопрос как циклом можно заполнить массив вещами, но не всеми, а только не стандартными? |
02.04.2012, 09:23 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Харгард
Epic
offline
Опыт:
7,829Активность: |
ELITE, поступи проще.
Воспользуйся инструментами, которые дает тебе ВЕ и разбей все свои 500 вещей на группы при помощи [b]типов[/b] и [b]уровней[/b] предметов. Тригерами отлавливай тип предмета а потом уже решай что нужно с ним делать. Отличить все нестандартные предметы можно так. Достаточно присвоить им уровень, который не имеют стандартные (точное число не скажу, смотри сам) и тригером проверять уровень манипулируемого предмета.
Также, все созданные тобой предметы имеют имя [b]I...[/b] где после I идет счетчик в 256-ричной системе, начинающийся с 000. Поэтому если начать с I000 и увеличивать на единицу, то все получится, если конечно ты не шибко намусорил в редакторе объедков. |
02.04.2012, 12:23 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
даже делать так не хочу
тк в действии такой способ вызовет дикие тормоза и 99% десинхронизацию игроков или займет несколько минут времени а труда - это месяц базу забирать только предметами не могли близарды просто так зарезать единственную возможность преобразования ID писалось, что какойто хеш взамен должен быть но ничего про хеш нигде не пишут, даже среди фенкций его просто нет надо всего навсего из буквеного ID I000 получить числовой ID 00000000 |
02.04.2012, 12:44 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MpW
offline
Опыт:
50,234Активность: |
Extremator, он хочет равкод из 4-х символов получить кажись
Код:
преобразует из строки в число и обратно надо всего навсего из буквеного ID I000 получить числовой ID 00000000 Код:
не пробовал сравнивать? 'I000' == 1227894832 одно и тоже вот тема на всякий случай Отредактировано Steal nerves, 02.04.2012 в 14:33. |
02.04.2012, 13:54 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
ELITE,
В качестве индекса массива обычно используют число. Тебе дали возможность получить уникальное число из символа, так в чем проблема?
|
02.04.2012, 14:35 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
вы велосипедисты, ай-яй-яй
if itemcode >= 'I000' then Всё гениальное - просто!
ScorpioT1000 добавил:
почитал, че вы тут понаписали, ппц ScorpioT1000 добавил: надеюсь, никто не против, что я удалил откровенный бред |
02.04.2012, 15:18 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
I2S('равкод предмета из 4 символов' ) //получаем число из 10 цифр
это то что надо Но РАВ код у меня в строковой переменной как его вставить? есть S[10] string то мне как делать? I2S('S[10]') так? просто если I2S(S[10]) - варик не дает включить карту // изывиняюсь, что много спрашиваю, карта уже 17 мб весит сохранение с запуском занимают около часа // в сжатом 7Мб, но сжатие тоже порядка часа идет и + 20 минут запуск карты |
02.04.2012, 15:47 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
А что надо? |
02.04.2012, 15:57 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
надо из переменной типа строка с текстов "I000" записать в переменную типа строка текст типа "0000000000"
ELITE добавил: конструкция I2S( 'I000' ) работает но как поставить туда переменную? пробовал по разному - не хочет карта запускаться I2S ( "'" + s + "'") I2S ( 's' ) I2S ( ' + s + ' ) не принимает |
02.04.2012, 17:08 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Если уверен, что без этого никак не обойтись (например сразу хранить как integer, т.е. одинарные кавычки, как все всегда это делают), то:
копируешь код наверх карты xgm.ru/forum/showpost.php?p=535769&postcount=193
set результат = I2S( ASCII2DEC(строка с текстом "I000") ) |
02.04.2012, 17:10 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
prog
offline
Опыт:
32,865Активность: |
ELITE, по поводу забивания предметов в базу, обрати внимание на Fly Data Processor. Уже сейчас, в состоянии ранней беты, этот плагин к JNGP умеет извлечь данные из РО и подставить их в код. |
02.04.2012, 17:19 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
ScorpioT1000, попробовал xgm.ru/forum/showpost.php?p=535769&postcount=193
на вообще чистой карте без единого тригера (кроме дефолтного инициализации 1 игрока) в шапку пихнул код карта не запускается :( |
02.04.2012, 17:19 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
это требует jngp если что |
02.04.2012, 17:24 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
ScorpioT1000, jngp 5d стоит
|
02.04.2012, 17:25 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
на инициализации надо это вызывать ForInitializationMap
но раз не запускается, то какойто странный косяк, компилятор обязан непропустить кривую карту ты точно нажал два раза сохранить? |
02.04.2012, 17:28 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ELITE
АДмин
offline
Опыт:
4,078Активность: |
да, я заметил, что компилятор очень часто пропускает мелкие опечатки типа "dfgd'
или (+dfgdg)) тоесть не хватает/лишний знака или не тот знак а варик уже не дает запустить может дадите ссылку на проверенны, нормально работающий редактор? может в моём косяк какой |
02.04.2012, 17:30 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|