Последние Файлы GTA 4
Последние Файлы GTA-MP
Реклама
[Manual]Рифы возят материалы
KARLIONE000 Дата: Среда, 11.08.2010, 14:05 | Сообщение # 16
Уверенный в себе
Группа:
Продвинутые
Сообщений: 193
Награды:
1
Город: Привморск
Репутация:
-8
Замечания:
20%
Статус:
У меня ошибки вот в этих строках C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11754) : error 017: undefined symbol "cmd" C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11764) : error 017: undefined symbol "idx" C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11779) : error 017: undefined symbol "tmp" C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11779) : error 017: undefined symbol "idx" C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11780) : error 017: undefined symbol "tmp" C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11785) : error 017: undefined symbol "tmp" C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11797) : error 017: undefined symbol "string" C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11797) : error 017: undefined symbol "string"
Вот строки if(strcmp(cmd,"/mats",true)==0) { if(IsPlayerConnected(playerid)) { if (!IsAnRifa(playerid)) { SendClientMessage(playerid,COLOR_GREY,"Âû íå ðèôà"); return 1; } new x_nr[256]; x_nr = strtok(cmdtext, idx); if(!strlen(x_nr)) { SendClientMessage(playerid, COLOR_WHITE, "..::13 - rus::..: Ââåäèòå: /mats [name]"); SendClientMessage(playerid, COLOR_WHITE, "Èñïîëüçóéòå: buy, sell, load."); return 1; } if(strcmp(x_nr,"buy",true) == 0) // buy Durak (xD) { if(IsPlayerConnected(playerid)) { if(!PlayerToPoint(2.0, playerid, 2799.3376,-2356.4172,13.6383))//Êîîðäèíàòû ïîêóïêè { SendClientMessage(playerid, COLOR_GREY, "Âû íå íà çàâîäå");//Åñëè íå ðàâíî êîîðäèíàòîì ïîêóïêè òî âûâîäæèò òàêîå ñîîáùåíèå return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "..::13 - rus::..: /mats buy [êîëè÷åñòâî]");//Åñëè ââåäåííî íå ïðàâåëüíî, òî âûâîäèò ýòî return 1; } mammount = strval(tmp); if(mammount < 1 || mammount > 1000)//Ïîêóïàòü íå ìåíüøå 1 è íå áîëüøå 1000 { SendClientMessage(playerid, COLOR_GREY, "Íå ìåíüøå 1 è íå áîëüøå 1000"); return 1; } if(GetPlayerMoney(playerid) < mammount * 5)//Ïðîâåðêà, åñëè äåíåã ìåíüøå òî { SendClientMessage(playerid, COLOR_GREY, "Ó âàñ íå õâàòàåò äåíåã"); return 1; } palammm[playerid] = mammount; format(string, sizeof(string), " Âû êóïèëè %d çàãîòîâîê çà %d$ !", palammm[playerid], mammount * 5); SendClientMessage(playerid, COLOR_GREY, string); GivePlayerMoney(playerid, - mammount * 5); } } else if(strcmp(x_nr,"sell",true) == 0) { if(IsPlayerConnected(playerid)) { if(!PlayerToPoint(2.0, playerid, -2119.5625,-178.4151,35.3203)) { SendClientMessage(playerid, COLOR_GREY, "Âû íå íà çàâîäå"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "..::13 - rus::..: /mats sell [êîëè÷åñòâî]"); return 1; } if (matbi>=30000) { SendClientMessage(playerid, COLOR_GREY, "Çàâîä ïîëîí"); return 1; } else { new xyun = (10)*(palammm[playerid]); format(string, sizeof(string), "Âû ïðîäàëè %d çàãîòîâîê çà %d$!", palammm[playerid], xyun); SendClientMessage(playerid, COLOR_GREY, string); GivePlayerMoney(playerid, (10)*(palammm[playerid])); matbi += palammm[playerid]; palammm[playerid] = 0; } } } else if(strcmp(x_nr,"load",true) == 0) { if(IsPlayerConnected(playerid)) { if(!PlayerToPoint(2.0, playerid, -2119.5625,-178.4151,35.3203)) { SendClientMessage(playerid, COLOR_GREY, "Âû íå íà çàâîäå"); return 1; } format(string, sizeof(string), "Íà ñêëàäå %d/30000 ìàòîâ", matbi); SendClientMessage(playerid, COLOR_GREY, string); } } } }
Satellite Дата: Среда, 11.08.2010, 14:35 | Сообщение # 17
Местный
Группа:
Продвинутые
Сообщений: 622
Награды:
10
Город: Хмельницкий
Замечания:
20%
Статус:
Система УГ ибо нет сохранения в файл
Dmitrij_Medvedev Дата: Суббота, 14.08.2010, 20:53 | Сообщение # 18
Новенький
Группа:
Продвинутые
Сообщений: 35
Награды:
0
Город: Москва
Репутация:
0
Замечания:
0%
Статус:
Эт вещь конечно,как на родном ГВ
Jumpman23 Дата: Суббота, 14.08.2010, 23:41 | Сообщение # 19
Группа:
I'm V.I.P.
Сообщений: 1359
Награды:
23
Город: Kingston, Rastapolis
Репутация:
504
Замечания:
100%
Статус:
Quote (KARLIONE000 )
У меня ошибки вот в этих строках
ты в правильный паблик вставлял комманды?
Добавлено (14.08.2010, 23:41) ---------------------------------------------
Quote (Satellite )
Система УГ ибо нет сохранения в файл
перефразирую : Система УГ ибо нет сохранения вообще
Тсссс, тссс, отключите снисходительный тон. Помните: вас уже лишали права слова на этом форуме. Прошу прощения у всех кого я заебал или оскорбил (Кроме икварпа и чеза - вы ибланы). Великс ты красава.
Satellite Дата: Воскресенье, 15.08.2010, 00:18 | Сообщение # 20
Местный
Группа:
Продвинутые
Сообщений: 622
Награды:
10
Город: Хмельницкий
Замечания:
20%
Статус:
Quote (Dmitrij_Medvedev )
Эт вещь конечно,как на родном ГВ
Охх какие люди, здарова, мб помнишь, Grey_Winston с сансити йа)
Drago_Jeka Дата: Воскресенье, 15.08.2010, 13:16 | Сообщение # 21
Группа:
I'm V.I.P.
Сообщений: 754
Награды:
41
Город: Где-то там...
Замечания:
0%
Статус:
код ужасен [off]20 симфалов пилять[/off]
FiLE Дата: Среда, 18.08.2010, 18:53 | Сообщение # 22
Группа:
Разработчики
Сообщений: 681
Награды:
70
Город: Одесса
Замечания:
0%
Статус:
Делать было нечего, вот сварганил чтото похожее с сохранением в фаил + бонус, работа водителя билазов. Имхо код страшноват, но вроде работает Первое что делаем - заносим forwards
Code
forward LoadMaterials(); forward SaveMaterials(); forward ruda(playerid); forward IsAnRifa(playerid);
Следующий шаг - заносим переменные Code
new encarier; // Вход в карьер new excarier; // Выход из карьера new Rudabox = 0; // Склад руды new Materialsbox = 0; // Склад завода new Bilaz1 = 0; new Bilaz2 = 0; new Bilaz3 = 0; new Bilaz4 = 0; new Bilaz5 = 0; new Bilaz6 = 0; new mammount; // Покупка материалов (введеное кол-во) new palammm[MAX_PLAYERS]; new rudaslots = 1;
Находим public IsAnInstructor(playerid) Перед ним вставляем Code
public ruda(playerid) { new newcar = GetPlayerVehicleID(playerid); SendClientMessage(playerid, COLOR_GREY, "Погрузка руды окончена. Отвезите руду в указанное место!"); TogglePlayerControllable(playerid, 1); SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0); if(newcar == 453) { Bilaz1 = 100; } if(newcar == 454) { Bilaz2 = 100; } if(newcar == 455) { Bilaz3 = 100; } if(newcar == 456) { Bilaz4 = 100; } if(newcar == 457) { Bilaz5 = 100; } if(newcar == 458) { Bilaz6 = 100; } SaveMaterials(); return 1; } public IsAnRifa(playerid) { if(IsPlayerConnected(playerid)) { new leader = PlayerInfo[playerid][pLeader]; new member = PlayerInfo[playerid][pMember]; if(member==17)//Вместо 17 Вставляем ид Фракции Рифы { return 1; } if(leader==17)//Тут тоже вместо 17 ид Фракции Рифы { return 1; } } return 0; }
Находим public LoadStuff() и перед ним вставляем Code
public LoadMaterials() { new arrCoords[9][64]; new strFromFile2[256]; new File: file = fopen("materials.ini", io_read); if (file) { fread(file, strFromFile2); split(strFromFile2, arrCoords, '|'); Rudabox = strval(arrCoords[0]); Materialsbox = strval(arrCoords[1]); Bilaz1 = strval(arrCoords[2]); Bilaz2 = strval(arrCoords[3]); Bilaz3 = strval(arrCoords[4]); Bilaz4 = strval(arrCoords[5]); Bilaz5 = strval(arrCoords[6]); Bilaz6 = strval(arrCoords[7]); fclose(file); } return 1; } public SaveMaterials() { new coordsstring[256]; format(coordsstring, sizeof(coordsstring), "%d|%d|%d|%d|%d|%d|%d|%d", Rudabox, Materialsbox, Bilaz1, Bilaz2, Bilaz3, Bilaz4, Bilaz5, Bilaz6); new File: file2 = fopen("materials.ini", io_write); fwrite(file2, coordsstring); fclose(file2); return 1; }
В паблик OnPlayerCommandText Code
if(strcmp(cmd, "/loadruda", true) == 0)// Узнать кол-ко руды на складе { if(PlayerInfo[playerid][pJob] != 17 ) { SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!"); return 1; } if (PlayerToPoint(8.0, playerid,804.801,842.090,10.732)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не около склада складе!"); return 1; } format(string, sizeof(string), "Количество руды на складе: %d из 50000!", Rudabox); SendClientMessage(playerid, COLOR_GREY, string); return 1; } if(strcmp(cmd, "/ruda", true) == 0)// Загрузить руду в грузовик { if(PlayerInfo[playerid][pJob] != 17) { SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!"); return 1; } new newcar = GetPlayerVehicleID(playerid); if(newcar == 453 || newcar == 454 || newcar == 455 || newcar == 456 || newcar == 457 || newcar == 458) {} else { SendClientMessage(playerid, COLOR_GREY, "Вы не в Билазе"); return 1; } if(newcar == 453) { if(Bilaz1 == 100) { SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!"); SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0); return 1; } } if(newcar == 454) { if(Bilaz2 == 100) { SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!"); SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0); return 1; } } if(newcar == 455) { if(Bilaz3 == 100) { SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!"); SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0); return 1; } } if(newcar == 456) { if(Bilaz4 == 100) { SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!"); SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0); return 1; } } if(newcar == 457) { if(Bilaz5 == 100) { SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!"); SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0); return 1; } } if(newcar == 458) { if(Bilaz6 == 100) { SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!"); SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0); return 1; } } SendClientMessage(playerid, COLOR_WHITE, "Следуйте к месту погрузки руды."); if(rudaslots == 1) { SetPlayerCheckpoint(playerid, 599.036,932.729,-40.953, 8.0); rudaslots += 1; } else if(rudaslots == 2) { SetPlayerCheckpoint(playerid, 556.766,923.956,-42.960, 8.0); rudaslots += 1; } else if(rudaslots == 3) { SetPlayerCheckpoint(playerid, 576.121,871.943,-43.616, 8.0); rudaslots += 1; } else if(rudaslots == 4) { SetPlayerCheckpoint(playerid, 551.299,878.674,-42.683, 8.0); rudaslots += 1; } else if(rudaslots == 5) { SetPlayerCheckpoint(playerid, 540.563,844.478,-41.794, 8.0); rudaslots += 1; } else if(rudaslots == 6) { SetPlayerCheckpoint(playerid, 585.906,844.187,-42.469, 8.0); rudaslots = 1; } return 1; }
Добавлено (18.08.2010, 13:01) ---------------------------------------------
Code
if(strcmp(cmd, "/takeruda", true) == 0) { if(PlayerInfo[playerid][pJob] != 17) { SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!"); return 1; } new newcar = GetPlayerVehicleID(playerid); if(newcar == 453 || newcar == 454 || newcar == 455 || newcar == 456 || newcar == 457 || newcar == 458) {} else { SendClientMessage(playerid, COLOR_GREY, "Вы не в Билазе"); return 1; } if(IsPlayerInCheckpoint(playerid)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; } if (PlayerToPoint(8.0, playerid,599.036,932.729,-40.953) || PlayerToPoint(8.0, playerid,556.766,923.956,-42.960) || PlayerToPoint(8.0, playerid,576.121,871.943,-43.616) || PlayerToPoint(8.0, playerid,551.299,878.674,-42.683) || PlayerToPoint(8.0, playerid,540.563,844.478,-41.794) || PlayerToPoint(8.0, playerid,585.906,844.187,-42.469)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; } SendClientMessage(playerid, COLOR_WHITE, "Началась погрузка руды. Подождите 2 минуты!"); TogglePlayerControllable(playerid,0); DisablePlayerCheckpoint(playerid); SetTimerEx("ruda", 120000, 0, "d", playerid); return 1; } if(strcmp(cmd, "/sellruda", true) == 0)// Сдать руду на склад { if(PlayerInfo[playerid][pJob] != 17) { SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!"); return 1; } new newcar = GetPlayerVehicleID(playerid); if(newcar == 453 || newcar == 454 || newcar == 455 || newcar == 456 || newcar == 457 || newcar == 458) {} else { SendClientMessage(playerid, COLOR_GREY, "Вы не в Билазе"); return 1; } if(IsPlayerInCheckpoint(playerid)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не возле склада!"); return 1; } if (PlayerToPoint(8.0, playerid,804.801,842.090,10.732)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не возле склада!"); return 1; } if (Rudabox >= 50000) { SendClientMessage(playerid, COLOR_RED, "Извените, склад полон. Попробуйте позже!"); return 1; } if(newcar == 453) { Bilaz1 = 0; } if(newcar == 454) { Bilaz2 = 0; } if(newcar == 455) { Bilaz3 = 0; } if(newcar == 456) { Bilaz4 = 0; } if(newcar == 457) { Bilaz5 = 0; } if(newcar == 458) { Bilaz6 = 0; } SendClientMessage(playerid, COLOR_RED, "Доставлено, вы заработали $5000!"); Rudabox +=100; new sellmoney = 5000; GivePlayerMoney(playerid, sellmoney); DisablePlayerCheckpoint(playerid); SaveMaterials(); return 1; } if(strcmp(cmd,"/mats",true)==0) { if(IsPlayerConnected(playerid)) { if (!IsAnRifa(playerid)) { SendClientMessage(playerid,COLOR_GREY,"Перевозкой материалов занимается Rifa Gang"); return 1; } new x_nr[256]; x_nr = strtok(cmdtext, idx); if(!strlen(x_nr)) { SendClientMessage(playerid, COLOR_WHITE, "..::Virtual City::..: Используйте: /mats [название]"); SendClientMessage(playerid, COLOR_WHITE, "Используйте: buy, sell, load."); return 1; } if(strcmp(x_nr,"buy",true) == 0) // покупка { if(IsPlayerConnected(playerid)) { if(!PlayerToPoint(5.0, playerid, 321.816741,916.144958,22.131235))//Координаты покупки { SendClientMessage(playerid, COLOR_GREY, "Вы не на месте покупки материалов");// return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "..::Virtual City::..: Используйте: /mats buy [количество]");// return 1; } mammount = strval(tmp); if(mammount < 1 || mammount > 100)// Диапазон покупки { SendClientMessage(playerid, COLOR_GREY, "Покупка материалов не должна превышать в 100 штук."); return 1; } if(GetPlayerMoney(playerid) < mammount * 50)// Кол-во материалов умножаем на 50, это и будет оплата за маты + проверка на наличные { SendClientMessage(playerid, COLOR_GREY, "У вас не хватает наличных."); return 1; } if(Rudabox < mammount) { SendClientMessage(playerid, COLOR_GREY, "На складе недостаточно заготовок."); return 1; } palammm[playerid] = mammount; format(string, sizeof(string), "Вы купили %d заготовок за %d$ !", palammm[playerid], mammount * 50); SendClientMessage(playerid, COLOR_GREY, string); GivePlayerMoney(playerid, - mammount * 50); Rudabox -= palammm[playerid]; SaveMaterials(); } } else if(strcmp(x_nr,"sell",true) == 0) { if(IsPlayerConnected(playerid)) { if(!PlayerToPoint(5.0, playerid, 89.951538,-311.614837,1.381098)) { SendClientMessage(playerid, COLOR_GREY, "Вы не на оптовой базе."); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "..::Virtual City::..: Используйте: /mats sell [количество]"); return 1; } if (Materialsbox >= 50000) { SendClientMessage(playerid, COLOR_GREY, "Приём материалов окончен, база полна!"); return 1; } else { new sellprice = (100)*(palammm[playerid]); // Цена на продажу format(string, sizeof(string), "Вы продали %d заготовок за %d$!", palammm[playerid], sellprice); SendClientMessage(playerid, COLOR_GREY, string); GivePlayerMoney(playerid, (100)*(palammm[playerid])); Materialsbox += palammm[playerid]; palammm[playerid] = 0; SaveMaterials(); } } } else if(strcmp(x_nr,"load",true) == 0) { if(IsPlayerConnected(playerid)) { if(!PlayerToPoint(10.0, playerid, 89.951538,-311.614837,1.381098)) { SendClientMessage(playerid, COLOR_GREY, "Вы не на складе"); return 1; } format(string, sizeof(string), "На складе %d/50000 материалов", Materialsbox); SendClientMessage(playerid, COLOR_GREY, string); } } } }
Добавлено (18.08.2010, 13:02) --------------------------------------------- Исправляем materials deliver
Code
else if(strcmp(x_nr,"deliver",true) == 0) { if(PlayerToPoint(3.0,playerid,49.759590,-224.803787,1.776501)) { if (Materialsbox > 0) { if(MatsHolding[playerid] > 0) { new payout = (50)*(MatsHolding[playerid]); format(string, sizeof(string), "* Фабрика дала вам %d материалов за ваши %d пакетов.", payout, MatsHolding[playerid]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); PlayerInfo[playerid][pMats] += payout; Materialsbox -= payout; MatsHolding[playerid] = 0; } else { SendClientMessage(playerid, COLOR_GREY, " У вас нет пакетов материалов!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Вы не на фабрике материалов !"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " Не действительное название материалов!"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, "На складе нет материалов!"); return 1; } } return 1; }
Вставляем объекты Code
CreateStreamObject(11081,327.55908203,906.82421875,29.18076706,0.00000000,352.00000000,303.99914551, 250.0); //object(crackfacttanks_sfs) (1) CreateStreamObject(12941,822.45507812,848.72753906,9.78227806,355.99548340,0.00000000,113.99963379, 250.0); //object(sw_lastdrop) (1) CreateStreamObject(3867,820.21386719,864.98046875,9.28411293,0.00000000,0.00000000,199.99511719, 250.0); //object(ws_scaffolding_sfx) (1) CreateStreamObject(9361,50.22949219,-224.23339844,3.15150118,0.00000000,0.00000000,41.99523926, 250.0); //object(boatoffice_sfn) (1) CreateStreamObject(3795,49.87942886,-227.43286133,1.11750674,0.00000000,0.00000000,356.00000000, 250.0); //object(missile_04_sfxr) (1) CreateStreamObject(3794,47.81445312,-225.91308594,1.37590325,0.00000000,0.00000000,265.99548340, 250.0); //object(missile_07_sfxr) (1) CreateStreamObject(3396,49.85042191,-226.11399841,0.77650118,0.00000000,0.00000000,266.00000000, 250.0); //object(a51_sdsk_4_) (1)
И чуть ниже, где все Load'ы добавляем Находим пикап Code
Materials Package building
Заменяем его на Code
AddStaticPickup(1239, 1, 49.759590,-224.803787,1.776501); //Materials Package building Create3DTextLabel( "Продажа материалов\nВведите /materials ", 0x008080FF, 49.759590,-224.803787,2.776501, 40.0, 0 );
Ниже дописываем Code
AddStaticPickup(1239, 1, 835.904968,858.773803,12.753187); //Работа водителя билаза Create3DTextLabel( "Работа водителя Билаза\nЧтобы устроится введите /go", 0x008080FF, 835.904968,858.773803,13.5, 40.0, 0 ); encarier = CreatePickup(1318,1,835.898498,854.819152,12.614954); // Вход в карьер excarier = CreatePickup(1318,1,814.163818,839.041259,10.970828); // Выход из карьера
Добавляем Дамперы (Билазы), кстати узнайте их id'ы и исправте их в выше написанных командах (для наглядности я написал свои иды в коментах) Code
AddStaticVehicleEx(406,677.848,838.661,-42.209,61.986,-1,-1,600000); //Dumper 453 AddStaticVehicleEx(406,689.033,853.925,-42.209,59.986,-1,-1,600000); //Dumper 454 AddStaticVehicleEx(406,668.415,821.055,-42.202,59.985,-1,-1,600000); //Dumper 455 AddStaticVehicleEx(406,677.759,926.492,-40.087,59.985,-1,-1,600000); //Dumper 456 AddStaticVehicleEx(406,543.247,834.544,-39.816,319.985,-1,-1,600000); //Dumper 457 AddStaticVehicleEx(406,598.033,873.089,-42.209,359.982,-1,-1,600000); //Dumper 458
Находим if(strcmp(cmd, "/go", true) == 0) и в самый конец к else if'ам добавляем Code
else if (GetPlayerState(playerid) == 1 && PlayerToPoint(3.0, playerid,835.904968,858.773803,12.753187)) { if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pFMember] < 255) { SendClientMessage(playerid, COLOR_GREY, " Families cannot take on this Job !"); return 1; } SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Вы собираетесь стать Водителем Билаза, и получить 5-часовой Контракт."); SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Если у вас есть другая работа то сначало пропишите /quitjob."); SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Если вы уверены что хотите стать Водителем грузовика, напечатайте /accept job."); GettingJob[playerid] = 17; // id профессии (поменяйте на свой) }
Вроде-бы все, ах да, создайте в scriptfiles файл materials.ini Еще, забыл... находите public OnPlayerPickUpPickup и по аналогии вставляете
Code
else if(pickupid == encarier) { SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 811.919921,837.891418,9.830896); } else if(pickupid == excarier) { SetPlayerInterior(playerid, 0); SetPlayerPos(playerid, 839.547973,857.159484,12.895117); }
Таким образом мы имеем сохранение 2-х складов + сохранение в каждом дампере.
Если возникнут проблемы или хотите чтото тут улучшить то готов выслушать.
Добавлено (18.08.2010, 18:53) --------------------------------------------- Видео, примерно как работает и где находится...
Сообщение отредактировал FiLE95 - Среда, 18.08.2010, 14:09
Fifa4ka Дата: Среда, 29.09.2010, 17:51 | Сообщение # 23
Местный
Группа:
I'm V.I.P.
Сообщений: 748
Награды:
38
Город: Рига
Замечания:
0%
Статус:
Я заметила ошибку слишком много всего напихана что не работает потом воть
Code
if(IsPlayerInCheckpoint(playerid)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; } if (PlayerToPoint(8.0, playerid,599.036,932.729,-40.953) || PlayerToPoint(8.0, playerid,556.766,923.956,-42.960) || PlayerToPoint(8.0, playerid,576.121,871.943,-43.616) || PlayerToPoint(8.0, playerid,551.299,878.674,-42.683) || PlayerToPoint(8.0, playerid,540.563,844.478,-41.794) || PlayerToPoint(8.0, playerid,585.906,844.187,-42.469)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; }
сносите это вообще
Code
if(IsPlayerInCheckpoint(playerid)) {} else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; }
тогда будет всё работать
А так всё работает,полезный скрипт молодец держи +1 и подарочек
Кому нужна моя версия скину сделано под GF мод! тут чуть по другому)
Сообщение отредактировал Fifa4ka - Среда, 29.09.2010, 17:54
Demon_Wolf Дата: Среда, 29.09.2010, 18:08 | Сообщение # 24
Освоившийся
Группа:
Пользователи
Сообщений: 90
Награды:
0
Город: Ульяновск
Репутация:
-1
Замечания:
0%
Статус:
Fifa4ka скидывай! Буду благодарен.
DiSE Дата: Среда, 29.09.2010, 20:00 | Сообщение # 25
Группа:
I'm V.I.P.
Сообщений: 1759
Награды:
23
Город: Уфа
Репутация:
337
Замечания:
80%
Статус:
Fifa4ka, всё работает нормально
Nikon Дата: Четверг, 30.09.2010, 16:26 | Сообщение # 26
Постоялец
Группа:
I'm V.I.P.
Сообщений: 481
Награды:
14
Город: Kiev
Репутация:
432
Замечания:
40%
Статус:
Quote (FiLE95 )
Вроде-бы все, ах да, создайте в scriptfiles файл materials.ini
А в файле materials.ini что то прописовать нужно?
FiLE Дата: Четверг, 30.09.2010, 16:47 | Сообщение # 27
Группа:
Разработчики
Сообщений: 681
Награды:
70
Город: Одесса
Замечания:
0%
Статус:
Quote (Zhekan )
А в файле materials.ini что то прописовать нужно?
Наверное ненужно, но на всякий добав строчку
Nikon Дата: Четверг, 30.09.2010, 18:36 | Сообщение # 28
Постоялец
Группа:
I'm V.I.P.
Сообщений: 481
Награды:
14
Город: Kiev
Репутация:
432
Замечания:
40%
Статус:
Quote (FiLE95 )
Quote (Zhekan)
А в файле materials.ini что то прописовать нужно?
Наверное ненужно, но на всякий добав строчку Code
0|0|0|0|0|0|0|0
Спасибо, добавлю
DiSE Дата: Пятница, 01.10.2010, 13:10 | Сообщение # 29
Группа:
I'm V.I.P.
Сообщений: 1759
Награды:
23
Город: Уфа
Репутация:
337
Замечания:
80%
Статус:
Quote
if (PlayerToPoint(8.0, playerid,599.036,932.729,-40.953) || PlayerToPoint(8.0, playerid,556.766,923.956,-42.960) || PlayerToPoint(8.0, playerid,576.121,871.943,-43.616) || PlayerToPoint(8.0, playerid,551.299,878.674,-42.683) || PlayerToPoint(8.0, playerid,540.563,844.478,-41.794) || PlayerToPoint(8.0, playerid,585.906,844.187,-42.469))
Fifa4ka
знаешь, этим мы узнаём где находится игрок. Так вот вопрос: зачем нам загружать руду, где угодно? Надо же в определённом месте
FiLE Дата: Понедельник, 04.10.2010, 23:37 | Сообщение # 30
Группа:
Разработчики
Сообщений: 681
Награды:
70
Город: Одесса
Замечания:
0%
Статус:
Quote (Fifa4ka )
сносите это вообще
это повлечет за собой баг при котором команда /sellruda будет бесконечной говоря образно.
И нужно будет фиксить проверку билазов типа:
Code
if(newcar == 453) { if(Bilaz1 == 0) { SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò"); return 1; } Bilaz1 = 0; } if(newcar == 454) { if(Bilaz2 == 0) { SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò"); return 1; } Bilaz2 = 0; } if(newcar == 455) { if(Bilaz3 == 0) { SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò"); return 1; } Bilaz3 = 0; } if(newcar == 456) { if(Bilaz4 == 0) { SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò"); return 1; } Bilaz4 = 0; } if(newcar == 457) { if(Bilaz5 == 0) { SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò"); return 1; } Bilaz5 = 0; } if(newcar == 458) { if(Bilaz6 == 0) { SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò"); return 1; } Bilaz6 = 0; }
где Áèëàç ïóñò - билаз пуст или чтото типа такого Также спасибо Fifa4ka , с обнаружением подводного камня. /mats buy можно было много раз куплять (а машина то не резиновая )
Замените buy
Code
if(strcmp(x_nr,"buy",true) == 0) // покупка { if(IsPlayerConnected(playerid)) { if(!PlayerToPoint(5.0, playerid, 321.816741,916.144958,22.131235))//Координаты покупки { SendClientMessage(playerid, COLOR_GREY, "Вы не на месте покупки материалов");// return 1; } tmp = strtok(cmdtext, idx); mammount = strval(tmp); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "+++:::Crazy_Universe:::+++ Используйте: /mats buy [количество]");// return 1; } new manybag = palammm[playerid] + mammount; if(manybag > 100) { SendClientMessage(playerid, COLOR_GREY, "Вы не можете взять больше"); return 1; } if(mammount < 1 || mammount > 100)// Диапазон покупки { SendClientMessage(playerid, COLOR_GREY, "Покупка материалов не должна превышать в 100 штук."); return 1; } if(GetPlayerMoney(playerid) < mammount * 50)// Кол-во материалов умножаем на 50, это и будет оплата за маты + проверка на наличные { SendClientMessage(playerid, COLOR_GREY, "У вас не хватает наличных."); return 1; } palammm[playerid] = mammount; format(string, sizeof(string), "Вы купили %d заготовок за %d$ !", palammm[playerid], mammount * 50); SendClientMessage(playerid, COLOR_GREY, string); GivePlayerMoney(playerid, - mammount * 50); Rudabox -= palammm[playerid]; SaveMaterials(); } }
Сообщение отредактировал FiLE95 - Вторник, 05.10.2010, 00:02