Создай глобалную переменную new boo:TEST[MAXPLAYERS + 1] = {false, ...} если нанес дамаг = true, в конце раунда циклом пройдись по игрокам, если true, выдай деньги
А если один человек нанес нескольким урон?! Просто скажите кто знает, как в ОДНУ переменную впихнуть несколько значений? Так чтобы их потом можно было спокойно вытащить по одному?
ну ты создаешь матрицу, 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) ну коенчно если тот игрок еще жив и дргие условия вставишь где надо и нужно
Другой вариант: Можно сразу считать игроков по мере добавления в массив это уберет один цикл подсчета в событи смерти игрока, но тут может быть так что игрок вышел из игры а он уже записан и посчитан тогда остальные получат меньше, хотя если поиграться можно че нить сделать там не знаю))
L 07/11/2013 - 16:48:38: [SM] Plugin encountered error 15: Array index is out of bounds L 07/11/2013 - 16:48:38: [SM] Displaying call stack trace for plugin "123.smx": L 07/11/2013 - 16:48:38: [SM] [0] Line 35, 123.sp::player_hurt() L 07/11/2013 - 16:48:38: [SM] Plugin encountered error 15: Array index is out of bounds L 07/11/2013 - 16:48:38: [SM] Displaying call stack trace for plugin "123.smx": L 07/11/2013 - 16:48:38: [SM] [0] Line 81, 123.sp::player_death()
g_ikill[client][тут просто номер человека который его атаковал не ID] = А вот тут уже ID человека который атаковал.
Добавлено (11.07.2013, 14:30:53) --------------------------------------------- Эм, а где еще другие ошибки? Вроде все правильно. (Разве что только при условии что client'a нет в игре нужно "убивать" цикл)
Сообщение отредактировал Darkeneez - Четверг, 11.07.2013, 14:31:05