Сейчас 01:38:17 Воскресенье, 5 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Изменение окончания у слова.
Изменение окончания у слова.
AferolganДата: Четверг, 02 Июня 2011, 10:53:58 | Сообщение # 1
5 уровень
Группа: Проверенные
Сообщений: 137
Награды: 1
Репутация: 38
Блокировки:
Подскажите возможно ли сделать так чтобы от количества войск в регионе менялось окончание у слова.
Как бы при появлении войск в регионе появляется сообщение: В области 001
1 пехотин(ец)
2 пехотин(ца)
3 пехотин(ца)
4 пехотин(ца)
5 пехотин(цев)
 

[DS]Дата: Четверг, 02 Июня 2011, 11:05:21 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
if/then/else тебе в помощь.

 

SirNikolasДата: Четверг, 02 Июня 2011, 11:06:10 | Сообщение # 3
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Aferolgan, тебе нужно для слова "Пехотинец"? Сейчас сделаю.

 

[DS]Дата: Четверг, 02 Июня 2011, 11:09:06 | Сообщение # 4
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Не чтобы менялось оканчание ему нужно.

 

SirNikolasДата: Четверг, 02 Июня 2011, 11:13:53 | Сообщение # 5
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
В общем, примерно так:

//Count - количество пехотинцев.
Set Integer = (Count - ((Count / 10) x 10))
If
_Or
__Integer = 0
__And
___Integer > 4
___Integer < 10
Then
_Set String = "цев"
Else
_If
__Integer = 1
_Then
__Set String = "ец"
_Else
__Set String = "ца"
Игра - Display to (All players) the text: ((("В области 001 " + String(Count)) + " пехотин") + String)




Сообщение отредактировал SirNikolas - Четверг, 02 Июня 2011, 11:55:08
 

FkoFFДата: Четверг, 02 Июня 2011, 11:27:51 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
SirNikolas, lolwut!?

local string s="Пехотин"

if Count<2 then
set s=s+"ец"
elseif Count<5 then
set s=s+"ца"
elseif Count>5 then
set s=s+"цев"
endif

далее твои действия со строкой s


 

AferolganДата: Четверг, 02 Июня 2011, 11:34:41 | Сообщение # 7
5 уровень
Группа: Проверенные
Сообщений: 137
Награды: 1
Репутация: 38
Блокировки:
Разобрался. Всем спс.

Сообщение отредактировал Aferolgan - Четверг, 02 Июня 2011, 11:38:07
 

SirNikolasДата: Четверг, 02 Июня 2011, 11:56:34 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FkoFF)
if Count<2 then
set s=s+"ец"
elseif Count<5 then
set s=s+"ца"
elseif Count>5 then
set s=s+"цев"
endif
if Count == 21 then s == "пехотинцев"


 

FkoFFДата: Четверг, 02 Июня 2011, 12:12:52 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
SirNikolas, там уже можно дальше ифзенить
elseif Count<21 then
set s=s+"цев"
elseif Count==21 then
set s=s+"ец"
elseif Count<25 then
set s=s+"ца"
elseif Count<31 then
(8)


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Изменение окончания у слова.
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz