|
помогите переделать код
|
|
| Grigorio_SaN | Дата: Суббота, 27.11.2010, 20:12 | Сообщение # 1 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 208
Награды: 2
Город: Жодино
Репутация: -7
Замечания: 0%
Статус: 
| вот код Code if(check[playerid] == 1) //проверка на штуку xD {
DisablePlayerCheckpoint(playerid);//убираем чекпоинт когда он на него встанет check[playerid] = 0; //выключает штуку GivePlayerMoney(playerid, 1000);
return 1; } как сделать чтобы я мог заехать на этот чекпойнт только на определённом транспорте? пробовал делатьвот так Code if(check[playerid] == 1) //проверка на штуку xD { new newcar = GetPlayerVehicleID(playerid); if(newcar >= PizzaAuto[0] && newcar <= PizzaAuto[2]) DisablePlayerCheckpoint(playerid);//убираем чекпоинт когда он на него встанет check[playerid] = 0; //выключает штуку GivePlayerMoney(playerid, 1000);
return 1; } чекпойнт вобще отказывается работать. помогите. от меня награды и плюсы по максимальному гарантированы
|
| |
|
|
| sk47 | Дата: Суббота, 27.11.2010, 21:05 | Сообщение # 2 |
|
Освоившийся
Группа:
Пользователи
Сообщений: 86
Награды: 2
Город: Магнитогорск
Репутация: 9
Замечания: 0%
Статус: 
| а нельзя было задать в вовросе в теме по которой ты это делал?
|
| |
|
|
| NeWeR | Дата: Суббота, 27.11.2010, 21:30 | Сообщение # 3 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 79
Награды: 1
Город: SAMP-RUS
Репутация: 70
Замечания: 0%
Статус: 
| куда ты этот код вставляешь?  Добавлено (27.11.2010, 21:30) --------------------------------------------- if(check[playerid] == 1) //проверка на штуку xD { new newcar = GetPlayerVehicleID(playerid); if(newcar >= PizzaAuto[0] && newcar <= PizzaAuto[2]) { DisablePlayerCheckpoint(playerid);//убираем чекпоинт когда он на него встанет check[playerid] = 0; //выключает штуку GivePlayerMoney(playerid, 1000); return 1; } } Пробни так.
|
| |
|
|
| Grigorio_SaN | Дата: Вторник, 30.11.2010, 08:37 | Сообщение # 4 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 208
Награды: 2
Город: Жодино
Репутация: -7
Замечания: 0%
Статус: 
| а как переделать этот код чтобы надо было проехать по 2 чекпойнтам, и только тогда получить деньги? плюсы и награда от меня будут
|
| |
|
|
| Vagrant | Дата: Вторник, 30.11.2010, 10:47 | Сообщение # 5 |
|
Уважаемый человек
Группа:
I'm V.I.P.
Сообщений: 904
Награды: 21
Город: Находка
Репутация: 489
Замечания: 0%
Статус: 
| Grigorio_SaN, Я так понимаю ты используешь паблик OnPlayerEnterCheckpoint(playerid). Если да то у тебя в коде можно сделать так: if(check[playerid] == 1 && GetPlayerVehicleID(playerid) >= PizzaAuto[0] && GetPlayerVehicleID(playerid) <= PizzaAuto[2]) ) /* Проверка на нахождение игрока в машинах от PizzaAuto[0] до PizzaAuto[2] и проверка на штуку */ { DisablePlayerCheckpoint(playerid); // Чекпоинт исчезает при входе в него check[playerid] = 0; // Выключаем штуку GivePlayerMoney(playerid, 1000); return 1; } У тебя в коде ошибка только в условии. После условия без скобок всегда может стоять только одна функция. Правильно условие я написал ниже и в твоём коде. Не забывай только где-то разместить функцию SetPlayerCheckpoint. Пример: if(a == b) b=b+1; /* Всё что будет после b=b+1 будет прочитано само собой не зависимо от ложности условия или если условие будет выполнено. Исключение только если после условия стоит return 1; к примеру. */ Если ты использовал check[playerid] так: check[playerid] = SetPlayerCheckpoint(playerid,...,...,...,...); то я думаю это не вариант. Check[playerid] неизвестно чем равен будет. По крайней мере не проверял да и возможности пока нету. Пример с двумя чекпоинтами: if(check[playerid] == 1 && GetPlayerVehicleID(playerid) >= PizzaAuto[0] && GetPlayerVehicleID(playerid) <= PizzaAuto[2]) ) /* Проверка на нахождение игрока в машинах от PizzaAuto[0] до PizzaAuto[2] и проверка на штуку */ { DisablePlayerCheckpoint(playerid); /* Чекпоинт исчезает при входе в него */ SetPlayerCheckpoint(playerid, X, Y, Z, Радиус); // Создаём новый чепоинт. check[playerid] = 2; GivePlayerMoney(playerid, 1000); // + 1000 return 1; } Далее... if(check[playerid] == 2 && GetPlayerVehicleID(playerid) >= PizzaAuto[0] && GetPlayerVehicleID(playerid) <= PizzaAuto[2]) ) /* Проверка на нахождение игрока в машинах от PizzaAuto[0] до PizzaAuto[2] и проверка на штуку */ { DisablePlayerCheckpoint(playerid); /* Чекпоинт исчезает при входе в него */ check[playerid] = 0; // Штука со значением 0 GivePlayerMoney(playerid, 1000); // + ещё 1000 return 1; } В принципе всё. Повторяю если штука у тебя значение не 1 и не 2 то неодин чекпоинт не сработает. Проверить это можно так: // Перед кодом: new shtyka[256]; format(shtyka,sizeof(shtyka),"Штука имеет значение: %d",check[playerid]); SendClientMessage(playerid,0xFFFFFFAA,shtyka); if(check[playerid] == 1 && GetPlayerVehicleID(playerid) >= PizzaAuto[0] && GetPlayerVehicleID(playerid) <= PizzaAuto[2]) ) { ... return 1; } Если помог с тебя причетается 
Человек учась ходить падает, и только падая, он учится ходить! Мои работы: [GM] W.F.S.A. V. 1.0 - 100% [GM] San Fierro Enigmatic (TDM) V. 1.0 - 100% [FS] Clan House V. 1.0 - 100% [FS] Save Car Tun System V. 1.0 - 100% [FS] Vagrant Anti-CapsLock V. 2.1 - 100% [FS] Vagrant Anti-Advertise V. 1.1, V. 2.0 - 100% [APP] SA-MP Interior Viewer V. 1.0 - 100%
Принимаю заказы на помощь в скриптинге!
Сообщение отредактировал Vagrant - Вторник, 30.11.2010, 11:05 |
| |
|
|
| Kilop | Дата: Среда, 01.12.2010, 00:11 | Сообщение # 6 |
|
Новенький
Группа:
Пользователи
Сообщений: 1
Награды: 0
Город: San Fiero
Репутация: 0
Замечания: 0%
Статус: 
| а как видоизменить этот код, чтобы при заезде на каждую метку, водителя замараживало секунд на 5.
|
| |
|
|
| DiSE | Дата: Среда, 01.12.2010, 10:27 | Сообщение # 7 |
|
Группа:
I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус: 
| с помощью таймера, поищи в разделе GF тему от SMOUK'a
|
| |
|
|
| Grigorio_SaN | Дата: Понедельник, 06.12.2010, 23:49 | Сообщение # 8 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 208
Награды: 2
Город: Жодино
Репутация: -7
Замечания: 0%
Статус: 
| народ. а как сделать чтобы игрок, садившись как пассажир в автобус, с него снимало определёную сумму, а к водителю, которые на маршруте, к нему прибавляло. награда от меня гарантированаДобавлено (06.12.2010, 23:49) --------------------------------------------- помогите очень срочно надо. вопрос жизни и смерти. как изменить выше написанный код, чтобы водитель автобуса ведя команду, больше не мог её водить, и пока не проедит весь путь до последней метки, ему не даст скилл. плюсы от меня вам гарантированы
|
| |
|
|
| NeWeR | Дата: Понедельник, 13.12.2010, 15:04 | Сообщение # 9 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 79
Награды: 1
Город: SAMP-RUS
Репутация: 70
Замечания: 0%
Статус: 
| Проверку зделать, ну т.е. если неравно там 1,0 будет писать что вы уже...... Добавлено (13.12.2010, 15:04) --------------------------------------------- допустим new штука; ну и проверку if(штука != 1) в команде твоей потом при вводе команды штука = 1; после того как проедет штука = 0; штука будет за все отвечать у тебя 
|
| |
|
|