Squirrel

Объявление

Ru-hoster - качественный хостинг Web Hosting Хостинг Облачные VPS сервера от 3.60$ под ваши проекты

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Squirrel » Вопрос/Ответ » Кол-во смертей / Кол-во убийств


Кол-во смертей / Кол-во убийств

Сообщений 1 страница 30 из 30

1

Здарова всем. Хочу реализовать чтоб в стате указывалось сколько раз кто умер и сколько убил, к примеру /stats Кол-во убийств: n Кол-во Смертей: n. Не могу разобраться. Кто шарит помогите.

0

2

Leon написал(а):

Здарова всем. Хочу реализовать чтоб в стате указывалось сколько раз кто умер и сколько убил, к примеру /stats Кол-во убийств: n Кол-во Смертей: n. Не могу разобраться. Кто шарит помогите.

Создаешь массив/таблицу или что ты используешь для хранения данных игрока.
Пример:
Ко всем local

Код:
local Deads = array(getPlayerSlots(), 0);
local Kills = array(getPlayerSlots(), 0);

При регистрации:

Код:
ini.setKey("PlayerInfo", "Deads", 0);
ini.setKet("PlayerInfo",  "Kills", 0);

При авторизации:

Код:
Deads[playerid] = ini.getKey("PlayerInfo", "Deads").tointeger();//Кол-во смертей
Kills[playerid] = ini.getKey("PlayerInfo", "Kills");//Кол-во убийств

И при смерти добовляешь погибшему:

Код:
Deads[playerid] = Deads[playerid] +1;

А убийце

Код:
Kills[killerid] = Kills[killerid] +1;

+1

3

При смерти добавлять куда понял, а вот убийце?

0

4

Код:
function onPlayerDeath(playerid, killerid, killervehicle)
{
	if(killerid != INVALID_PLAYER_ID)
    sendMessageToAll("[FF0000FF]" + getPlayerName(playerid) + " [FFFFFFFF](" + playerid + ") was killed by [FFFF0000]" + getPlayerName(killerid) + " [FFFFFFFF](" + killerid + ").", color_info, true);
        Kills[killreid] = Kills[killerid] + 1;
        Deads[playerid] = Deads[playerid] + 1;
        }
         else
        {
    sendMessageToAll(getPlayerName(playerid) + " died");
                Deads[playerid] = Deads[playerid] + 1;
        }

	return 1;
}
addEvent("playerDeath", onPlayerDeath);

P.S: Подделаешь под себя.

Отредактировано Vinste (2014-09-09 19:58:12)

0

5

Ошибка в строке

}
else - тут ошибка
{

C:\Users\Server\Desktop\MOD\scripts/cp.nut line = (2825) column = (14)
: error expression expected
Warning: Failed to load script cp.nut (Script does not exist/Script compilatio
n failed).

Отредактировано Leon (2014-09-09 21:05:56)

0

6

Код:
if(killerid != INVALID_PLAYER_ID) {
sendMessageToAll("[FF0000FF]" + getPlayerName(playerid) + "
Kills[killreid] = Kills[killerid] + 1;
Deads[playerid] = Deads[playerid] + 1;
}
else
{
sendMessageToAll(getPlayerName(playerid) + " died");
Deads[playerid] = Deads[playerid] + 1;
}
return 1;

З.Ы: а самому додуматься никак, что скобку поставить надо?

0

7

Ну я новичок ещё. И на том спасибо. :)

0

8

Теперь такая проблема, кол-во пишется в игре отображается, а в акке значение ноль.

0

9

так измени кол-во. Или умри...

0

10

Так и делал . Умирал, значение менялось в игре, а значения акка 0.

Отредактировано Leon (2014-09-10 10:57:21)

0

11

Ты при дисконекте сохраняешь?

0

12

Что указывать сохранять в  onPlayerDisconnect?

Отредактировано Leon (2014-09-10 11:19:53)

0

13

Если у тебя на EasyINI:

Код:
ini.setKey("Тут твоя секция", "Deads", Deads[playerid].tointeger());
ini.setKey("Тут твоя секция", "Kills", Kills[playerid].tointeger());

0

14

И это просто впихунть в onPlayerDisconnect?

З.Ы Впихнул безрезультатно.

Отредактировано Leon (2014-09-10 11:28:34)

0

15

Переделать под себя, свою секцию вписать и свои переменные, в которых ты хранишь убийста и смерти

0

16

Так вписано же все, в регистрации и авторизации, в акке есть эти разделы, что ещё нужно я так непонял..

Код:
function onPlayerDisconnect ( playerid, reason )
{
	if (reason == 0) sendMessageToAll(" '" + getPlayerName(playerid) + "'вышел", colorRed, true)
  else sendMessageToAll("[FFFFFFFF]'" + getPlayerName(playerid) + "' отключился **", colorRed, true);
 ini.setKey("General", "Deads", Deads[playerid].tointeger());
ini.setKey("General", "Kills", Kills[playerid].tointeger());
}
addEvent("playerDisconnect", onPlayerDisconnect);

Отредактировано Leon (2014-09-10 11:35:29)

0

17

у тебя переменная ini не обьявлена!
Сделай так:

Код:
local ini = EasyINI("accounts/"+getPlayerName(playerid)+"");

Путь ставь свой

Отредактировано Vinste (2014-09-10 11:47:20)

0

18

Куда именно вставлять это? И нужно ли сохранение ini?

0

19

туда же. в плауерДисконект Если ты используешь БД, то сохранение ини не нужно, а если ты используешь на файлах, то надо

0

20

Ну у меня на файлах, акки записываются в папку по отдельности. Тобишь добавлять в дисконнект  ini.saveData();?

Отредактировано Leon (2014-09-10 12:04:06)

0

21

Вот так?

Код:
  local ini = EasyINI ("MOD/accounts/"+getPlayerName(playerid)+".ini");
  {
 ini.setKey("General", "Deads", Deads[playerid].tointeger());
ini.setKey("General", "Kills", Kills[playerid].tointeger());
ini.saveData();

0

22

Да. ТОлько не забудь закрыть скобку

0

23

Это в дисконнет или в плеердеатч тоже?

Допустим у меня в файлах .ini акка 1 раздел

При смерти

[General]
Skin=1
Deads=0 - тут значение не меняет
Kills=0- и тут тоже когда убивает противник
Money=0

В игре значения в стате пишет, а в файлах нуль.

З.Ы То что сделали, я добавил без изменений, он же вообще не записывает в файл эти значения когда я умираю в игре, вот и считает с 0. Хотя все я сделал как описал ты сверху, я в принципе реализовывал это и раньше, но это тупиковая ситуация, когда в файл значение не пишет, не знаю даже что и делать..

Отредактировано Leon (2014-09-10 12:56:42)

0

24

Попробуй в onPlayerDeath поставить сохнанение в файл.
З.Ы У меня все работает именно по такому принципу, который описал выше. Клиент Т3

0

25

Возможно. У меня регистрация/авторизация на диалог системе, я не думаю что в этом причина.. Не знаю даже.

Отредактировано Leon (2014-09-10 20:02:29)

0

26

какую лснову используешь? илиже ты написал мод сам. я сам использую диалог систему.  все работает норм

0

27

Пишу с нуля, до этого сохраняло когда система реги была на командах, а щас бредит, не пишет в файл данные, я уже подумываю проблема в EasyINI, хотя данные паролей он сохраняет и читает их успешно, что то тут не так..

0

28

чтов моде уже есть?

0

29

Ну пока ничего особенного, учусь только) Спидометр вот хочу реализовать стрелочный с пробегом, мозгую пока насчет фш как красиво все оформить.

Отредактировано Leon (2014-09-11 10:01:53)

0

30

По теме: проверил сейчас записывает данные через раз, незнаю с чем это могло быть связано, странно очень.

0


Вы здесь » Squirrel » Вопрос/Ответ » Кол-во смертей / Кол-во убийств


Рейтинг форумов | Создать форум бесплатно