SA-MP Forums Archive
Вопрос по SendDeathMessage - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Вопрос по SendDeathMessage (/showthread.php?tid=462958)



Вопрос по SendDeathMessage - 14_KaPaT - 09.09.2013

Здравствуйте, вот решил сделать такую штуку как в CS GO чтобы в килчате выводило не только того кто убил но и того кто дамажил по убитому. Сделал для начала такой вот набросок без проверок и прочего.
создал переменную на всех игроков далее в TakeDamage присваиваю стрелявшему ид игрока по которому он стрелял, после в OnPlayerDeath
PHP код:
  /*  new fkmessage[24];
    new realplayername[MAX_PLAYER_NAME];
    GetPlayerName(killerid,realplayername,sizeof(realplayername));
    foreach(i) if(FriendKill[i] == playerid && i != killerid) format(fkmessage,sizeof(fkmessage),"%s+%s", pName(killerid),pName(i)), FriendKill[i]=-1; SetPlayerName(killerid,fkmessage);
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerName(killerid,realplayername);
    FriendKill[playerid]=-1;
    }*/ 
В общем ищу игрока у которого на заданной мной переменной ид игрока который был убит, меняю ник killerid на ник killerid+ ник того кто дамажил вывожу сообщение в килчат и меняю обратно ник killerid на его прежний.
При тестировании сервер тупо вырубается когда игрока убивают двое, сначала я подумал что это такая реакция на символ + в килчате, но пробовал с _ тоже самое. Скажите что не так


Re: Вопрос по SendDeathMessage - warlock02 - 10.09.2013

Идет отторжение инородных тканей сервером
Твоя система не прижилась.


Re: Вопрос по SendDeathMessage - stabker - 10.09.2013

Слишком длинный ник получается, превышает лимит. А в массиве fkmessage недостаточно ячеек (из-за этого, видимо, и падает сервер).


Re: Вопрос по SendDeathMessage - 14_KaPaT - 10.09.2013

я делал и больше эффект тот же, поменял просто чтобы дописывало второй раз ник убившего, падать перестал, но не реагирует, как то странно id выводить можно, буквы дописывать к нику, а второй ник не дописывается, уже по всякому пробовал, ведь выводит в килчате длинные ники неоднократно видел, почему два ника не может вывести, по кол-ву символов одинаково, даже пробовал кол-во оставшегося hp у убившего отображать в килчате, не регирует на формат, только имя killerid выводит, как на автомате, игнорит изменение ника


Re: Вопрос по SendDeathMessage - OKStyle - 12.09.2013

Приведите код с массивом мах_плеер_наме * 2 + 1 и знаком _ в имени


Re: Вопрос по SendDeathMessage - stabker - 12.09.2013

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Приведите код с массивом мах_плеер_наме * 2 + 1 и знаком _ в имени
Он все равно не сможет сделать игроку такое длинное имя, оно ведь ограничено в 24 символа


Re: Вопрос по SendDeathMessage - lost13 - 14.09.2013

Quote:
Originally Posted by 14_KaPaT
Посмотреть сообщение
Здравствуйте, вот решил сделать такую штуку как в CS GO чтобы в килчате выводило не только того кто убил но и того кто дамажил по убитому. Сделал для начала такой вот набросок без проверок и прочего.
создал переменную на всех игроков далее в TakeDamage присваиваю стрелявшему ид игрока по которому он стрелял, после в OnPlayerDeath
PHP код:
  /*  new fkmessage[24];
    new realplayername[MAX_PLAYER_NAME];
    GetPlayerName(killerid,realplayername,sizeof(realplayername));
    foreach(i) if(FriendKill[i] == playerid && i != killerid) format(fkmessage,sizeof(fkmessage),"%s+%s", pName(killerid),pName(i)), FriendKill[i]=-1; SetPlayerName(killerid,fkmessage);
    SendDeathMessage(killerid,playerid,reason);
    SetPlayerName(killerid,realplayername);
    FriendKill[playerid]=-1;
    }*/ 
В общем ищу игрока у которого на заданной мной переменной ид игрока который был убит, меняю ник killerid на ник killerid+ ник того кто дамажил вывожу сообщение в килчат и меняю обратно ник killerid на его прежний.
При тестировании сервер тупо вырубается когда игрока убивают двое, сначала я подумал что это такая реакция на символ + в килчате, но пробовал с _ тоже самое. Скажите что не так
CS GO ? Это то о чем я думаю?