 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
[FS] Яблочный сад
| |
| Valik_Timoshenko | Дата: Четверг, 12.07.2012, 10:23 | Сообщение # 1 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 159
Награды: 5
Город: Одесса
Репутация: 238
Замечания: 60%
Статус: 
|
Особенности: 1.Есть 3 дерева, на каждом по 5 яблок.Сорвав одно или другое количество их уменьшается. 2.Всё в 3D текстах. 3.Срывать яблоко по кнопке. 4.Когда игроки сорвут всё яблока, они снова вырастут. 5.Каждое яблоко даёт +10 хп
Не хорошо: 1.Используется один глобальный таймер.Без его я не как не мог обойтись, так как он нужен для обновления количества яблок. 2.Не очень много деревьев.Но это так... можете добавить. 3.Код оптимизирован на уровне моих знаний. (не плохо конечно, но и не супер-оптимизация) 4.Нет сохранения в файл (после рестарта мода яблоки будут становится на дефолт = 5)
Скачать: - http://rghost.ru/38688513 Пастебин: - http://pastebin.com/iNRQBW5p
Автор: Igor_Jackson
http://axesas-project.ru/ Неважно, сколько вас. Важно верить и важно иметь четкий план. Победа - это упорство.
|
| |
|
|
| stepmex | Дата: Четверг, 12.07.2012, 13:57 | Сообщение # 2 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Code new tree[3] = {5, ...} Зачем эти понты, у тебя 3 ячейки! Code new tree[] = {5, 5, 5} Code new Float:ApplesPos[3][3] = {{-128.0779,-1156.0182,3.1224},{-125.3354,-1129.2430,2.6993},{-151.4828,-1137.2666,3.2345}}; Оформляй код красиво: Code new Float:ApplesPos[][] = { {-128.0779,-1156.0182,3.1224}, {-125.3354,-1129.2430,2.6993}, {-151.4828,-1137.2666,3.2345} }; Code CreateObject(772,-129.00000000,-1156.50000000,0.30000001,0.00000000,0.00000000,318.00000000); CreateObject(772,-152.89999390,-1137.40002441,0.30000001,0.00000000,0.00000000,317.99926758); CreateObject(772,-125.90000153,-1128.50000000,0.30000001,0.00000000,0.00000000,317.99926758); А в цикле который у тебя далее нельзя это сделать, и координаты не из воздуха взять а относительно тех что в массиве для текстов? Code for(new i = 0x0; i != sizeof(ApplesPos); i++) Опять же, зачем этот понт?Code for(new i; i < sizeof(ApplesPos); i++) Code if(newkeys & KEY_FIRE) Посмотрите в документации как разработчики рекомендуют отслеживать нажатие клавиш. Они кстати там для этого даже макросы написали. Code SendClientMessage(playerid,-1, "{00FF00}У вас уже есть яблоко"); SendClientMessage(playerid,-1, "{FFA500}На этом дереве нет {00FF00}яблок"); SendClientMessage(playerid,-1, " {FFA500}Вы сорвали яблоко "); SendClientMessage(playerid,-1, "{FFA500}У вас нет {00FF00}яблока"); SendClientMessage(playerid,-1, "{FFA500}Вы скушали яблоко"); Опять возвращаемся к теме дешевого понта! Code SendClientMessage(playerid, 0x00ff00ff, "У вас уже есть яблоко"); SendClientMessage(playerid, 0xFFA500ff, "На этом дереве нет {00FF00}яблок"); SendClientMessage(playerid, 0xFFA500ff, " Вы сорвали яблоко "); SendClientMessage(playerid, 0xFFA500ff, "У вас нет {00FF00}яблока"); SendClientMessage(playerid, 0xFFA500ff, "Вы скушали яблоко"); По поводу таймера: вполне можно избавиться и от него, запоминай когда последний раз было сорвано яблоко и когда игрок пытается срывать яблоко сперва делай пересчет в соответствии с текушим временем, а уж потом выдавай яблоко или говори что их нет
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| Valik_Timoshenko | Дата: Четверг, 12.07.2012, 15:06 | Сообщение # 3 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 159
Награды: 5
Город: Одесса
Репутация: 238
Замечания: 60%
Статус: 
| Зачем ты пишешь это мне? Автор не Я
http://axesas-project.ru/ Неважно, сколько вас. Важно верить и важно иметь четкий план. Победа - это упорство.
|
| |
|
|
| stepmex | Дата: Четверг, 12.07.2012, 16:31 | Сообщение # 4 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Quote (Valik_Timoshenko) Зачем ты пишешь это мне? Автор не Я Буду я ещё разбираться кто автор. Товар тоже делают не там где продают, но почему-то со всеми жалобами мы идем туда где их купили.
Так что опубликовал - отвечай, не можешь ответить - не публикуй!
PS раздражает когда всякие умники публикуют чужие скрипты, а вы у автора разрешение на публикацию спрашивали?!
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| Valik_Timoshenko | Дата: Четверг, 12.07.2012, 16:46 | Сообщение # 5 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 159
Награды: 5
Город: Одесса
Репутация: 238
Замечания: 60%
Статус: 
| Quote (stepmex) Quote (Valik_Timoshenko) Зачем ты пишешь это мне? Автор не Я Буду я ещё разбираться кто автор. Товар тоже делают не там где продают, но почему-то со всеми жалобами мы идем туда где их купили.
Так что опубликовал - отвечай, не можешь ответить - не публикуй!
PS раздражает когда всякие умники публикуют чужие скрипты, а вы у автора разрешение на публикацию спрашивали?!
Спрашивали! Если у тебя ПМС, не надо тянуть сюда свою вшивую задницу
http://axesas-project.ru/ Неважно, сколько вас. Важно верить и важно иметь четкий план. Победа - это упорство.
|
| |
|
|
| Exclus1ve | Дата: Понедельник, 16.07.2012, 09:34 | Сообщение # 6 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 141
Награды: 4
Город: Санкт-Петербург
Репутация: 330
Замечания: 40%
Статус: 
| stepmex, знал бы ты кто автор - ты бы этого не говорил ( феерический нубила с другого портала ).
node.js
Сообщение отредактировал Exclus1ve - Понедельник, 16.07.2012, 09:36 |
| |
|
|
| Kämpfer | Дата: Понедельник, 16.07.2012, 09:57 | Сообщение # 7 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 114
Награды: 15
Город: /
Репутация: 163
Замечания: 40%
Статус: 
| омг, какое только гавно сейчас не лепят.. Заачеем эта херня нужна? Лижбы что нибудь выложить.
Гитлер капут
Можно сопротивляться вторжению армий, вторжению идей сопротивляться невозможно. ©
Оплачиваемая личная помощь, исправление и оптимизация кода, написание небольших скриптов. skype: kampfer_88
|
| |
|
|
| Valik_Timoshenko | Дата: Понедельник, 16.07.2012, 12:18 | Сообщение # 8 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 159
Награды: 5
Город: Одесса
Репутация: 238
Замечания: 60%
Статус: 
| Quote (Kämpfer) омг, какое только гавно сейчас не лепят.. Заачеем эта херня нужна? Лижбы что нибудь выложить.
[off] Лижбы пост набить? [/off]
http://axesas-project.ru/ Неважно, сколько вас. Важно верить и важно иметь четкий план. Победа - это упорство.
Сообщение отредактировал Valik_Timoshenko - Понедельник, 16.07.2012, 12:18 |
| |
|
|
| Matt_Tuck | Дата: Понедельник, 16.07.2012, 13:08 | Сообщение # 9 |
|
Местный
Группа:
I'm V.I.P.
Сообщений: 710
Награды: 11
Город: Брянск
Репутация: 461
Замечания: 20%
Статус: 
| Quote (Kämpfer) омг, какое только гавно сейчас не лепят.. Заачеем эта херня нужна
ну у Igor_Jackson всегда были проблемы с идеями)
Не в возрасте дело,а в культуре общения и уровне интеллектуального развития
Если вам лижут жопу, не обольщайтесь, возможно это для смазки.
Twitter - Follow Me ;) Подписываемся на мой Паблик
|
| |
|
|
| Games | Дата: Среда, 18.07.2012, 17:39 | Сообщение # 10 |
|
Новенький
Группа:
Продвинутые
Сообщений: 8
Награды: 1
Город: Прим. край
Репутация: 147
Замечания: 0%
Статус: 
| Код оптимизировал я.. А теперь начнём...
Quote (stepmex) Зачем эти понты, у тебя 3 ячейки! Понты? Где ты увидел понты? Мне так удобнее.
Quote (stepmex) Оформляй код красиво: На вкус и цвет фломастеров нет... Мне нравится мой вариант.
Quote (stepmex) А в цикле который у тебя далее нельзя это сделать, и координаты не из воздуха взять а относительно тех что в массиве для текстов? В массиве совершенно другие координаты! Тем более, я оптимизировал чужой фс (Игоря Джексона), поэтому вдумываться в его логику выбора координат я не стал.
Quote (stepmex) Опять же, зачем этот понт? Ой, простите, присваивать значение переменной в цикле - привычка С++ программиста. Какая разница какой знак я использую в проверке?
Quote (stepmex) Опять возвращаемся к теме дешевого понта! О боже.. Мб хватит ко всякой херне прикапываться? Мб еще запретите мне объявление через static и const делать?
Quote (stepmex) По поводу таймера: вполне можно избавиться и от него, запоминай когда последний раз было сорвано яблоко и когда игрок пытается срывать яблоко сперва делай пересчет в соответствии с текушим временем, а уж потом выдавай яблоко или говори что их нет Нельзя.. Перед тем как это говорить, нужно понять для чего я его сделал. Яблоки восстанавливаются каждые 10 сек! При срывании если сделать - будет не так, как было задуманно первоначальным автором.
По поводу вашего поста: Где понты - так это Ваш пост. У каждого скриптера свой почерк.. И тыкать лицом на это глупо.
|
| |
|
|
| stepmex | Дата: Среда, 18.07.2012, 18:08 | Сообщение # 11 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Quote (Games) У каждого скриптера свой почерк.. И тыкать лицом на это глупо. У меня нет почерка, я использую оформление кода предложенное разработчиками, не поверите, C++ и C#. Странно хоть вы и утверждаете что:Quote (Games) привычка С++ программиста я вот сильно в этом сомневаюсь. Ни чего в вашем коде нет от программиста С++! Кстати ни один нормальный программист не приравнивает переменную к шестнадцатеричному числу, пускай даже нулевому, при инициализации. Просто "0" куда понятнее и нагляднее.
Так что вы уважаемый просто псевдоскриптер с завышенным ЧСВ, не более.Добавлено (18.07.2012, 18:08) ---------------------------------------------
Quote (Games) Какая разница какой знак я использую в проверке? Специально для вас поясню какая: Условие i < 20 будет верно при i меньше нуля, 0 и 1..19, а при i больше или равно 20 будет не верно. А вот условие i != 20 будет верно всегда когда i отлична от 20, так что если ваш ключ примет значение 21 ваш цикл будет выполняться бесконечно.
На аргумент что тут такого быть не может отвечаю сразу: тут нет, а при более сложной логике может, так что прежде чем пиздеть отпираться, стоит думать и слушать более опытных людей.
Так что рекомендую ещё раз перечитать мой пост и вникнуть во все замечания, а не утверждать что "мне так удобнее". Хотите стать настоящим программистом, научитесь воспринимать критику объективно, а до тех пор вы просто школьник с набором знаний в программировании.
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| Games | Дата: Среда, 18.07.2012, 20:20 | Сообщение # 12 |
|
Новенький
Группа:
Продвинутые
Сообщений: 8
Награды: 1
Город: Прим. край
Репутация: 147
Замечания: 0%
Статус: 
| Quote (stepmex) просто псевдоскриптер с завышенным ЧСВ, не более. Изначально я ничего не писал. Разговор начали именно Вы, половина из всего сказанного - критика, которая, я считаю, неуместна.
Quote (stepmex) Так что рекомендую ещё раз перечитать мой пост и вникнуть во все замечания Не вижу ни одного дельного замечания. Я соглашусь только насчет 16-ти ричной системы счисления.
Quote (stepmex) я вот сильно в этом сомневаюсь. Ни чего в вашем коде нет от программиста С++! Я немного неверно объяснил.. Нужно было указать компилятор и всё объяснить.
От С++ программиста я имел в виду то, что я присвоил значение переменной i в цикле.
При разработке в Visual Studio подобный код при компиляции вызовет варнинг "warning C4700: использована неинициализированная локальная переменная "i" :
Code int _tmain(int argc, _TCHAR* argv[]) { for(int i; i != 10; i++) { } system("pause"); return 0; }
Разговор на эту тему был давно поднят на sa-mp.com: http://forum.sa-mp.com/showpost.php?p=1732186&postcount=4803
Quote (stepmex) так что прежде чем пиздеть отпираться, стоит думать и слушать более опытных людей. Мне кто-то тут еще про ЧСВ говорил? Если честно, не вижу вашего опыта и сейчас я Вам объясню.
->
Quote (stepmex) На аргумент что тут такого быть не может отвечаю сразу: тут нет, а при более сложной логике может, так что прежде чем пиздеть отпираться, стоит думать и слушать более опытных людей. Вот именно, тут НЕТ, поэтому я допускаю использование "!=". Если передо мной будет поставлена другая задача - то и решение будет другое. А теперь я объясню, почему именно "!=".
Проверка "!=" выполняется быстрее, чем "<".
Тест:
Code // Проверка < new tick = GetTickCount(); for(new i = 0; i < 10000000; i++) { } printf("%d", GetTickCount() - tick);
Code // Проверка != new tick = GetTickCount(); for(new i = 0; i != 10000000; i++) { } printf("%d", GetTickCount() - tick);
Output (проверил 3 раза):
Code Проверка < [23:13:30] 515 [23:13:31] 482 [23:13:31] 498
Проверка != [23:14:02] 176 [23:14:03] 170 [23:14:03] 169
Думаю, теперь Вам понятен мой выбор?
|
| |
|
|
| stepmex | Дата: Четверг, 19.07.2012, 11:57 | Сообщение # 13 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Quote (Games) Проверка "!=" выполняется быстрее, чем "<". Code [13:52:47] 140 < [13:52:47] 134 !=
[13:52:51] 135 < [13:52:52] 137 !=
[13:52:54] 143 < [13:52:54] 134 !=
[13:52:57] 133 < [13:52:57] 144 != Компьютер у вас батенька говно, разница в пределах погрешности.
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| Games | Дата: Четверг, 19.07.2012, 15:31 | Сообщение # 14 |
|
Новенький
Группа:
Продвинутые
Сообщений: 8
Награды: 1
Город: Прим. край
Репутация: 147
Замечания: 0%
Статус: 
| Quote (stepmex) Компьютер у вас батенька говно, разница в пределах погрешности. Ноутбук давно покупал. Да и мы здесь не компьютер мой собрались обсуждать. Тест "!=" и "<" проводил не только я, поэтому это было подтверждено не только мною.
Провёл тест на хостинге Ru-Hoster. Проверил 10 раз, в каждом из них "!=" был быстрее.
Но опять же, наш спор пошел не в том направлении. Надеюсь, дело не дойдет до того, что мы начнём подробно разбирать спецификацию Pawn.
|
| |
|
|
|
 |
|
 | |
| |
|