Ставь рандом на MAX_PLAYER и проверку активен ли ID (если не активен, еще раз рандом), и поставь это в паблик который вызывается таймером. Значения поставь примерно 600000 пример таймера SetTimer("твой_паблик_на_рандомный_заказ", 600000, 1)
и всего делов то
*** *i** - 05%
Сообщение отредактировал I-Iero - Пятница, 11.04.2008, 00:49
Плиз оюьясни мне!!!!!! Я не понял у меня ероры лезут!!!
Добавлено (12.04.2008, 14:23) --------------------------------------------- Все я понял спасибо!!!!!!!!!!!!!!!!!
Добавлено (12.04.2008, 16:11) --------------------------------------------- Блин не получилось Как прописывать кто нить может написпть полностью в каком паблике и тд!!!!
Добавлено (13.04.2008, 14:43) --------------------------------------------- Кто нить может обьяснит вот это:
Quote (I-Iero)
Ставь рандом на MAX_PLAYER и проверку активен ли ID (если не активен, еще раз рандом), и поставь это в паблик который вызывается таймером. Значения поставь примерно 600000 пример таймера SetTimer("твой_паблик_на_рандомный_заказ", 600000, 1)
... forward TimeToKill(); forward TimeToKill_TheEnd(); ... new killingfree; new killingstats=0; ... public TimeToKill_TheEnd() { KillTimer(killingfree); } ... public TimeToKill() { //алгоритм с рандомным выбором игрока по МАКС_ПЛАУЕР и проверкой залогинен ли он new meat = random(MAX_PLAYERS); if (IsPlayerConnected(meat)) { // то сделать игрока и этим ID целью } else { // еще раз к началу функции для повторого рандома } } ... public OnGameModeInit() { ... killingfree = SetTimer("TimeToKill", 600000, 1); ... } ... public OnPlayerCommandText(playerid, cmdtext[]) { ... if(strcmp(cmd, "/timetokill", true) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pAdmin] >= 6 && killingstats==0) { SetTimer("TimeToKill", 600000, 1); SendClientMessage(playerid, 0x9ACD32AA, " Автоген время для убийства вкл."); SendClientMessageToAll(0x9ACD32AA," Время убивать! Летс Роак }=]"); // (с)Дюк Нюкем killingstats=1; } if (PlayerInfo[playerid][pAdmin] >= 6 && killingstats==1) { TimeToKill_TheEnd(); SendClientMessage(playerid, 0x33CCFFAA, " Автоген время для убийства выкл."); SendClientMessageToAll(0x33CCFFAA," Время для убийст закончено."); killingstats=0; } else { SendClientMessage(playerid, 0xFF6347AA, " Вы не можете использовать эту команду"); } } return 1; } ... } ...
Вообщем как-то так. Сам не проверял, но должно быть нормально
Ах да... еще соответственно добавляем в паблик смерти выбранного игрока все, что нужно (добавление денег и изменения стата).
Если будет работать не корректно, то попробуй убрать из OnGameModeInit - killingfree и поставить в команду: killingfree = SetTimer("TimeToKill", 600000, 1); вместо SetTimer("TimeToKill", 600000, 1);. Вообщем попробуй, а там посмотрим.
*** *i** - 05%
Сообщение отредактировал I-Iero - Воскресенье, 13.04.2008, 23:18
public TimeToKill_TheEnd() { KillTimer(killingfree); } public TimeToKill() { //алгоритм с рандомным выбором игрока по МАКС_ПЛАУЕР и проверкой залогинен ли он new meat = random(MAX_PLAYERS); if (IsPlayerConnected(meat)) { // то сделать игрока и этим ID целью } else { // еще раз к началу функции для повторого рандома } }
{ SetTimer("TimeToKill", 4000, 1); SendClientMessage(playerid, 0x9ACD32AA, " Автоген время для убийства вкл."); SendClientMessageToAll(0x9ACD32AA," Время убивать! Летс Роак }=]"); // (с)Дюк Нюкем
}
} return 1; }
public OnGameModeInit() {
killingfree = SetTimer("TimeToKill", 600000, 1); То ошибак нет но он работает но команда не активирует деиствия автозаказов!!!! А если я вставляю так: forward TimeToKill(); forward TimeToKill_TheEnd();
new killingfree; new killingstats=0;
public TimeToKill_TheEnd() { KillTimer(killingfree); }
public TimeToKill() { //алгоритм с рандомным выбором игрока по МАКС_ПЛАУЕР и проверкой залогинен ли он new meat = random(MAX_PLAYERS); if (IsPlayerConnected(meat)) { // то сделать игрока и этим ID целью } else { // еще раз к началу функции для повторого рандома } }
public OnGameModeInit() {
killingfree = SetTimer("TimeToKill", 600000, 1);
}
public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp(cmd, "/timetokill", true) == 0) { if(IsPlayerConnected(playerid)) { Вот тут ощибкаif (PlayerInfo[playerid][pAdmin] >= 6 && killingstats==0) { SetTimer("TimeToKill", 600000, 1); SendClientMessage(playerid, 0x9ACD32AA, " Автоген время для убийства вкл."); SendClientMessageToAll(0x9ACD32AA," Время убивать! Летс Роак }=]"); // (с)Дюк Нюкем killingstats=1; } if (PlayerInfo[playerid][pAdmin] >= 6 && killingstats==1) { TimeToKill_TheEnd(); SendClientMessage(playerid, 0x33CCFFAA, " Автоген время для убийства выкл."); SendClientMessageToAll(0x33CCFFAA," Время для убийст закончено."); killingstats=0; } else { SendClientMessage(playerid, 0xFF6347AA, " Вы не можете использовать эту команду"); } } return 1; }
}
То вот таие ошибки: error 017: undefined symbol "PlayerInfo" : warning 215: expression has no effect : error 001: expected token: ";", but found "]" : error 029: invalid expression, assumed zero : fatal error 107: too many error messages on one line
в OnGameModeInit суй это SetTimer("rabotka", 600000, 1); а в конце мода вставь это
Code
public rabotka
{ Суда засунешь точто я скажу потом }
всё! То что я скажу потом я скажу после того как дашь свой отрывок из /hitman потомучто я не помню как это делается щас посмотрю в одном моде... ща игры нет проверять немогу