|
Нужна помощь по созданию функции !
|
|
| raen | Дата: Пятница, 18.01.2008, 09:16 | Сообщение # 1 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус: 
| Плиз подскажите что и куда нужно написать в моде, чтобы к примеру при введении команды "/911" определённое сообщение поступало определённому классу в игре (к примеру сообщение полицейским о помощи) и игрок приминивший эту команду начинал домустим мигать либо как-то выделяться... и по использованию команды к примеру "/911off" эта функция выключалась (определённому классу бы приходило сообщение (пример: к полиции приходило бы сообщение мол плеер отменил сообщение о помощи) а сам игрок отменивший эту функцию переставал бы мигать и ему вернулся его первоначальный цвет. Плиз подскажите как сделать такую функцию либо дайте ФС ? очень надо ! за ранее спс !
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
|
| |
|
|
| EKup | Дата: Пятница, 18.01.2008, 11:02 | Сообщение # 2 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 75
Награды: 2
Город: Ульяновск
Репутация: 10
Замечания: 0%
Статус: 
| Поскольку классы реализованы програмно(скриптами), то чтобы сделать то, что ты просишь, необходимо иметь исходники скриптов, что у тебя на сервере. Хотя, можешь попробовать следующее: if (strcmp("/911", cmdtext, true) == 0) { for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) { new skinID = GetPlayerSkin(i); new tmp[100]; new name[30]; GetPlayerName(playerid, name, sizeof(name)); format(tmp, sizeof(tmp), " Игрок %s(id=%d) нуждается в помощи!!!", name, playerid); if((skinID == 71) || (skinID == 265) || (skinID == 266) || (skinID == 267) || (skinID == 280) || (skinID == 281) || (skinID == 282) || (skinID == 283) || (skinID == 284) || (skinID == 285) || (skinID == 288)) { SendClientMessage(i, 0xAA3333AA, tmp); SetPlayerMarkerForPlayer(i, playerid, 0xAA3333AA); } } } return 1; } if (strcmp("/911off", cmdtext, true) == 0) { for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) { new skinID = GetPlayerSkin(i); new tmp[100]; new name[30]; GetPlayerName(playerid, name, sizeof(name)); format(tmp, sizeof(tmp), " Игрок %s(id=%d) отказался от помощи!!!", name, playerid); if((skinID == 71) || (skinID == 265) || (skinID == 266) || (skinID == 267) || (skinID == 280) || (skinID == 281) || (skinID == 282) || (skinID == 283) || (skinID == 284) || (skinID == 285) || (skinID == 288)) { SendClientMessage(i, 0xAA3333AA, tmp); SetPlayerMarkerForPlayer(i, playerid, GetPlayerColor(playerid)); } } } return 1; } Коряво немного вышло. У сеья не проверял, но работать должно
Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009) http://3val.ru/games/samp/changelistServ.php
|
| |
|
|
| raen | Дата: Пятница, 18.01.2008, 14:06 | Сообщение # 3 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус: 
| А куда эту строчку вставлять плиз напиши, а то разобраться не могу ? Добавлено (18.01.2008, 14:06) --------------------------------------------- C:\Games\GTA_San_Andreas1111\Test server\gamemodes\lvdmMM.pwn(2684) : error 001: expected token: ")", but found "{" C:\Games\GTA_San_Andreas1111\Test server\gamemodes\lvdmMM.pwn(2699) : warning 217: loose indentation C:\Games\GTA_San_Andreas1111\Test server\gamemodes\lvdmMM.pwn(2704) : error 001: expected token: ")", but found "{" C:\Games\GTA_San_Andreas1111\Test server\gamemodes\lvdmMM.pwn(2723) : warning 217: loose indentation Вот выдаёт ошибку при компиляции 
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
Сообщение отредактировал raen - Пятница, 18.01.2008, 14:06 |
| |
|
|
| EKup | Дата: Пятница, 18.01.2008, 17:26 | Сообщение # 4 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 75
Награды: 2
Город: Ульяновск
Репутация: 10
Замечания: 0%
Статус: 
| Найди в тексте Code public OnPlayerCommandText(playerid, cmdtext[]) { сразу после и вставляй
Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009) http://3val.ru/games/samp/changelistServ.php
|
| |
|
|
| raen | Дата: Суббота, 19.01.2008, 04:11 | Сообщение # 5 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус: 
| Опять такая же ошибка при компиляции: C:\Games\GTA_San_Andreas1111\Test server\gamemodes\lvdmMM.pwn(2640) : error 001: expected token: ")", but found "{" C:\Games\GTA_San_Andreas1111\Test server\gamemodes\lvdmMM.pwn(2660) : error 001: expected token: ")", but found "{" C:\Games\GTA_San_Andreas1111\Test server\gamemodes\lvdmMM.pwn(2675) : warning 217: loose indentation
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
|
| |
|
|
| EKup | Дата: Суббота, 19.01.2008, 10:11 | Сообщение # 6 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 75
Награды: 2
Город: Ульяновск
Репутация: 10
Замечания: 0%
Статус: 
| Code if(IsPlayerConnected(i) замени на Code if(IsPlayerConnected(i)) (скобка в конце)
Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009) http://3val.ru/games/samp/changelistServ.php
|
| |
|
|
| raen | Дата: Суббота, 19.01.2008, 13:09 | Сообщение # 7 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 785
Награды: 25
Город: PакунСити
Репутация: 154
Замечания: 20%
Статус: 
| Так всё получалось, но почему-то когда применяешь команду /911 то игрок мигает всего 1 раз и всё, как сделать чтоб он мигал постоянно, пока не наберёт команду /911off ?
- Social Roleplay - ucp.gtamir.ru - 77.220.182.241:7777
|
| |
|
|
| OKStyle™ | Дата: Среда, 06.02.2008, 06:42 | Сообщение # 8 |
|
Мастер джэдай
Группа:
I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус: 
| Пользуйся циклом while: Code if (strcmp("/911", cmdtext, true) == 0) { for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) { new skinID = GetPlayerSkin(i); new tmp[100]; new name[30]; GetPlayerName(playerid, name, sizeof(name)); format(tmp, sizeof(tmp), " Игрок %s(id=%d) нуждается в помощи!!!", name, playerid); if((skinID == 71) || (skinID == 265) || (skinID == 266) || (skinID == 267) || (skinID == 280) || (skinID == 281) || (skinID == 282) || (skinID == 283) || (skinID == 284) || (skinID == 285) || (skinID == 288)) { SendClientMessage(i, 0xAA3333AA, tmp); while (strcmp("/911off", cmdtext, true) == 0) { SetPlayerMarkerForPlayer(i, playerid, 0xAA3333AA); } } } } return 1; } Видимо так, если что - поправьте.
Да потому что когда человек делает на заказ он не старается. © kRiSyo Кланяимся нофаму королю анимаций =))))))) © Manusya В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
|
| |
|
|