Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Асис
TEIN Дата: Вторник, 09.07.2013, 14:25:53 | Сообщение # 16
Сообщений: 563
Репутация: 78 [ +/- ]
Создай глобалную переменную new boo:TEST[MAXPLAYERS + 1] = {false, ...}
если нанес дамаг = true, в конце раунда циклом пройдись по игрокам, если true, выдай деньги
 
Darkeneez Дата: Вторник, 09.07.2013, 14:30:00 | Сообщение # 17
Сообщений: 221
Репутация: 18 [ +/- ]
Мне не нужен цикл! Мне нужно именно чтобы во время смерти игрока, я достал из ОДНОЙ переменной несколько ID, и дал этим ID деньги!
 
TEIN Дата: Вторник, 09.07.2013, 14:37:36 | Сообщение # 18
Сообщений: 563
Репутация: 78 [ +/- ]
Циклом пройдись при смерти игрока, в чем проблема?
 
Darkeneez Дата: Вторник, 09.07.2013, 14:41:57 | Сообщение # 19
Сообщений: 221
Репутация: 18 [ +/- ]
А если один человек нанес нескольким урон?! Просто скажите кто знает, как в ОДНУ переменную впихнуть несколько значений? Так чтобы их потом можно было спокойно вытащить по одному?
 
TEIN Дата: Среда, 10.07.2013, 06:11:25 | Сообщение # 20
Сообщений: 563
Репутация: 78 [ +/- ]
String:TEST[сам клиент][Урон] = кому нанес, используй Format, чтобы вместить все ID

Добавлено (09.07.2013, 14:50:47)
---------------------------------------------
Еще лучше
TEST[Клиент][Кому нанес][Урон]

Добавлено (10.07.2013, 06:11:25)
---------------------------------------------
Даже не так
TEST[Клиент][Жертва] = Урон

 
ThRunningMan Дата: Среда, 10.07.2013, 08:40:05 | Сообщение # 21
Сообщений: 140
Репутация: 12 [ +/- ]
ну ты создаешь матрицу, clientcount[MAXPLAYERS+1][MAXPLAYERS+1]
ну вот ты наносишь урон т.е. ты attacker жертва victim, ты хочешь запоминать все у жертвы clientcount[victim][attacker] = attacker;
просматриваем массив по всем игрокам на предмет того есть ли в мссиве уже данный гирок через цикл for Думаю знаешь как его сделать и смотришь только по аттакерам т.е. если ты ввел в цикле перменную i то if(clientcount[victim][i] != attacker) то добавляешь в массив этого игрока clientcount[victim][i] = attacker;
и так в течении раунда в жжертвы будут записыватсья данные
потом ты ловишь момент смерти victim ну знаешь да как поймать)))
там опять вводишь цикл for и считаешь всех игроков допустим ввел там attackercount = 0 перд циклом
и пошел считать если в цикле используется перменная i то if(clientcount[victim][i] == i) т.е. если циклический ИД игрока равен тому что записан в массиве прибавляем attackercount++; и так пока цикл не закончится после цикла в той же функции смерти игрока вставляешь свою формулу, допустим money = 16000\attackercount получится там какое-то число и после опят ьцикл по всем игрокам
и уже раздаешь деньги с таким же условием if(clientcount[victim][i] == i) ну коенчно если тот игрок еще жив и дргие условия вставишь где надо и нужно

Другой вариант:
Можно сразу считать игроков по мере добавления в массив это уберет один цикл подсчета в событи смерти игрока, но тут может быть так что игрок вышел из игры а он уже записан и посчитан тогда остальные получат меньше, хотя если поиграться можно че нить сделать там не знаю))

В общем моя идея такова
 
Darkeneez Дата: Четверг, 11.07.2013, 13:51:48 | Сообщение # 22
Сообщений: 221
Репутация: 18 [ +/- ]

Гости не могут скачивать файлы
 
TEIN Дата: Четверг, 11.07.2013, 14:20:01 | Сообщение # 23
Сообщений: 563
Репутация: 78 [ +/- ]
В массиве ячейки от 0 до 5 + много других ошибок
Ты хочешь узнать кто атаковал или сколько игроков атаковало?
 
Darkeneez Дата: Четверг, 11.07.2013, 14:30:53 | Сообщение # 24
Сообщений: 221
Репутация: 18 [ +/- ]
g_ikill[client][тут просто номер человека который его атаковал не ID] = А вот тут уже ID человека который атаковал.

Добавлено (11.07.2013, 14:30:53)
---------------------------------------------
Эм, а где еще другие ошибки? Вроде все правильно. (Разве что только при условии что client'a нет в игре нужно "убивать" цикл)


Сообщение отредактировал Darkeneez - Четверг, 11.07.2013, 14:31:05
 
TEIN Дата: Четверг, 11.07.2013, 14:40:18 | Сообщение # 25
Сообщений: 563
Репутация: 78 [ +/- ]
ай, ID и номер одно и тоже, судя по коду
 
Darkeneez Дата: Четверг, 11.07.2013, 14:42:33 | Сообщение # 26
Сообщений: 221
Репутация: 18 [ +/- ]
Почему?

К пример i = 2

Если g_ikill[client][2] не равно 0 (т.е не пустой)

То тогда g_ikill[client][2] = ID атакующего.
 
TEIN Дата: Четверг, 11.07.2013, 15:06:47 | Сообщение # 27
Сообщений: 563
Репутация: 78 [ +/- ]
Ты хочешь узнать кто атаковал или сколько игроков атаковало?
Ответь
 
Darkeneez Дата: Четверг, 11.07.2013, 15:07:35 | Сообщение # 28
Сообщений: 221
Репутация: 18 [ +/- ]
И то и то.
 
TEIN Дата: Четверг, 11.07.2013, 15:24:52 | Сообщение # 29
Сообщений: 563
Репутация: 78 [ +/- ]
Пробуй

Гости не могут скачивать файлы
 
Darkeneez Дата: Вторник, 16.07.2013, 11:33:41 | Сообщение # 30
Сообщений: 221
Репутация: 18 [ +/- ]
Помогите найти ошибку, цикл не прерывается.

Гости не могут скачивать файлы
 
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: