Теперь сделал без ошибок ,но всёравнооткрываются откуда угодно(из далека ) .. Пробуй. Code if (strcmp(cmdtext, "/lcnopen", true)==0) { if(PlayerToPoint(20.0,playerid,1264.104,-2046.411,66.301)) { if((PlayerInfo[ playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)) { MoveObject(pdgateLKNVorota,1264.104,-2046.411,66.301, 2.5); SetTimer("GateCloseLKNVorota", 5000, 0);/ SendClientMessage(playerid, COLOR_GREEN," Ворота открыти и закроются через 5 сек "); } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы не из ЛКН!");} } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы слишком далеко от ближайших ворот!");} } if(PlayerToPoint(20.0,playerid,1264.104,-2046.411,66.301)) {
Может это и так ,но у меня происходит вот что: Pawn Compiler library - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства. Отправить отчёт неотправлять отчёт Что я делаю нетак?
if (strcmp(cmdtext, "/lcnopen", true)==0) { if(PlayerToPoint(20.0,playerid,1264.104,-2046.411,66.301)) { if((PlayerInfo[ playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)) { MoveObject(pdgateLKNVorota,1264.104,-2046.411,66.301, 2.5); SetTimer("GateCloseLKNVorota", 5000, 0);/ SendClientMessage(playerid, COLOR_GREEN," Ворота открыти и закроются через 5 сек "); } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы не из ЛКН!");} } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы слишком далеко от ближайших ворот!");} }
Лишних нет!!!Че сам чтоли невидишь???? три { и три } ...Должно быть = открытия и закрытя скобок токо я retorn 0; ненаблюдаю
ОМГ покупай очки там 5 } и 3 {
Выелил Красненьким { и сининьким }
[pwn]if (strcmp(cmdtext, "/lcnopen", true)==0) { if(PlayerToPoint(20.0,playerid,1264.104,-2046.411,66.301)) { if((PlayerInfo[ playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)) { MoveObject(pdgateLKNVorota,1264.104,-2046.411,66.301, 2.5); SetTimer("GateCloseLKNVorota", 5000, 0);/ SendClientMessage(playerid, COLOR_GREEN," Ворота открыти и закроются через 5 сек "); } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы не из ЛКН!");} } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы слишком далеко от ближайших ворот!");} }[/pwn]
Вставляй так[pwn]if (strcmp(cmdtext, "/lcnopen", true)==0) { if(PlayerToPoint(20.0,playerid,1264.104,-2046.411,66.301)) { if((PlayerInfo[ playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)) { MoveObject(pdgateLKNVorota,1264.104,-2046.411,66.301, 2.5); SetTimer("GateCloseLKNVorota", 5000, 0);/ SendClientMessage(playerid, COLOR_GREEN," Ворота открыти и закроются через 5 сек "); } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы не из ЛКН!"); } else{SendClientMessage(playerid, COLOR_YELLOW, " Вы слишком далеко от ближайших ворот!"); }[/pwn]
Сообщение отредактировал HELKERN - Понедельник, 10.11.2008, 10:41
Вот тот самый скрипт но кода я пишу /lopen шлакбаун неоткрывается вверх а кудато уезжает ! Как исправить !? Подскажите пожалусто . Я знаю что MoveObject(wkola, 1816.725830 , -1406.428955 , 13.102972 , 3.5); координаты не те ! А как зделать чтоб он по оси крутился !???
Не неполучилось ! Он теперь вниз уезжает ! А надо чтоб он как шлакбаун открывался ! Тоесть если он стоял горизонтально то после команды становится вертикально ! Но всеровно спс за помошь !
Добавлено (12.11.2008, 21:59) --------------------------------------------- Можете плз если у кого есть выложить скрипт со шлакбаумом (не с воротами) для примера !:) Буду очень блогодарин а то уже 4день сижу немогу зделать !
Добавлено (15.11.2008, 00:27) --------------------------------------------- Ктонибуть тут может помоч с етой проблемой !???
1)В вначали а именно в forward пишем forward SFPDGate1Close(); это есле вы хотите чтоб ворота закрывались сами по таймеру 2)ТОже в начале пишите new SFPDGate1; 3)new SFPDGate1Timer; это нужно для таймера 4)Далее в public IsAtSFPDGate(playerid) пишите { if(IsPlayerConnected(playerid)) { if(PlayerToPoint(8.0,playerid,Координаты)) { return 1; } } return 0; }
Это для того чтоб отерывались ворота когда вы рядом с ними!
5)Потом в public OnGameModeInit() пишите SFPDGate1 = CreateObject(Ид ворот, координаты ворот); (помните сдесь они должны быть в закрытом виде)
6) В public OnPlayerCommandText(playerid, cmdtext[]) пишите
if (strcmp(cmdtext, "/opengate", true) == 0) Сама команда { if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3) - Ид фракций которые смогут открывать эти ворота { if(IsPlayerConnected(playerid)) { if(IsAtSFPDGate(playerid)) { MoveObject(SFPDGate1,Координаты ворот); (Помните тут должны бать координаты открытых ворот) SetTimer("SFPDGate1Close", 10000, 0); - Это таймер в данном случаи ворота сами закроются через 10 сек после открытия killersgatetimer = SetTimer("SFPDGate1Close", 10000, 0); return 1; } else { SendClientMessage(playerid, COLOR_GREY, " Âû íå ó âîðîò SFPD!"); return 1; } } } else { SendClientMessage(playerid, COLOR_GREY, " Âû íå ÷àñòü ñèëîâûõ ñòðóêòóð!"); return 1; } }
7) И заключительный этап в самом конце пишите public SFPDGate1Close() {
MoveObject(SFPDGate1, координаты ворот); Помните тут должны бать координаты закрытых ворот KillTimer(SFPDGate1Timer); return 1;
Конечно спс ! Ну вопрос в другом . Ворота я знаю как ставить но я неумею шлакбаун ! Вернее незнаю как правильно координаты вписать чтоб он открывался как шлакбаун на переездах ! Для ворот вписывают по x;y;z а вот для шлакбауна я незнаю как вот и хочу узнать ! Допустим MoveObject(SFPDGate1,Координаты ворот); и как вписать координаты чтоб они недвигались а становились вертикально не x;y;z а подругому наверно както !