Дмитрий |
Дата: Суббота, 17.11.2012, 23:56 | Сообщение # 1 | Сообщить о нерабочей теме
|
Регистрация: | 03.12.2011
|
Страна: | Российская Федерация |
Репутация: |
14
|
Сообщений: | 1421 |
Награды: |
4
+
|
Статус: |
|
| Всем привет,с вами Nevagno и я хочу представить вам свою сис-му домов на колесах,она довольно таки простая написанна мною за 10 или 15 минут,но в том числе довольно таки не плохая (для меня :D) я думаю что для новичков или просто любителей пойдет. [spoiler="Скриншоты самой сис-мы:"] [Увеличить] [Увеличить] [Увеличить] [/spoiler]
итак для начала ко всем new добавим Code new duty[MAX_PLAYERS]; new openincar;
в public OnPlayerPickUpPickup(playerid, pickupid) // Code if(pickupid == openincar) { if (PlayerInfo[playerid][pAdmin] >= 0) { if (GetPlayerState(playerid) == 2) { new tmpcar = GetPlayerVehicleID(playerid); SetVehiclePos(tmpcar, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]); TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0; } else { SetPlayerPos(playerid, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]); } SendClientMessage(playerid, COLOR_WHITE, "Вы вышли из дома на колесах закройте дверь!"); SetPlayerVirtualWorld(playerid,0); SetPlayerInterior(playerid,0); } return 1; }
чуть пожже в public OnGameModeInit() Code openincar = CreatePickup(1318,23,-141.4006,-1180.1803,1281.1589,-1);
ТУДА ЖЕ: Code // CreateObject(19377,-140.66299438477,-1185.1240234375,1280.0729980469,0,90,0); CreateObject(19377,-140.662109375,-1175.5,1280.0729980469,0,90,0); CreateObject(19370,-137.27900695801,-1173.6929931641,1281.9090576172,0,0,0); CreateObject(19443,-139.59100341797,-1175.212890625,1283.4000244141,90,90,0); CreateObject(19370,-140.3759765625,-1181.4930419922,1281.9090576172,0,0,90); CreateObject(19370,-141.896484375,-1173.7099609375,1281.9090576172,0,0,0); CreateObject(19443,-138,-1172.1826171875,1281.9090576172,0,0,90); CreateObject(19443,-138.03999328613,-1175.212890625,1281.9090576172,0,0,90); CreateObject(19370,-141.88400268555,-1176.7979736328,1281.9090576172,0,0,0); CreateObject(19370,-137.28700256348,-1179.9689941406,1281.9090576172,0,0,0); CreateObject(19370,-141.87600708008,-1179.9689941406,1281.9090576172,0,0,0); CreateObject(19370,-137.2861328125,-1176.7978515625,1281.9090576172,0,0,0); CreateObject(19443,-138,-1181.4720458984,1281.9090576172,0,0,90); CreateObject(19370,-140.3759765625,-1172.1826171875,1281.9090576172,0,0,90); CreateObject(19377,-139.60600280762,-1177,1283.0999755859,0,90,0); CreateObject(2522,-137.82299804688,-1174.0500488281,1280.1590576172,0,0,90); CreateObject(2523,-139.54400634766,-1172.7919921875,1280.1590576172,0,0,0); CreateObject(2525,-139.71899414063,-1172.7719726563,1280.1590576172,0,0,0); CreateObject(2836,-139.72399902344,-1177.0930175781,1280.1590576172,0,0,90); CreateObject(1796,-141.3159942627,-1178.7459716797,1280,0,0,0); CreateObject(1502,-140.3630065918,-1175.2600097656,1280.1590576172,0,0,0); CreateObject(1535,-141.78300476074,-1181.0400390625,1280.1590576172,0,0,90); CreateObject(1717,-139.50399780273,-1180.458984375,1280.1590576172,0,0,135); CreateObject(2136,-137.86500549316,-1179.8609619141,1280.1590576172,0,0,270); CreateObject(2135,-137.86500549316,-1178.9010009766,1280.1590576172,0,0,270); CreateObject(2269,-138.09300231934,-1175.7790527344,1281.5,0,0,0); CreateObject(1703,-137.84100341797,-1175.9809570313,1280.1590576172,0,0,270); CreateObject(2140,-139.19999694824,-1180.9189453125,1280.1590576172,0,0,180); CreateObject(19443,-141.1494140625,-1175.212890625,1281.9090576172,0,0,90); CreateObject(1208,-141.40699768066,-1174.8060302734,1280.1590576172,0,0,0); //
дальше в public OnPlayerConnect(playerid)
добавим:
теперь ищем в моде такие строки: Code new liccar[10],hotdogcar[9],taxicar [41], bus[25],mehanik[13],rentcarsf[6]
и добавляем это:
далее ищем: Code if(newcar >= liccar[0] && newcar <= liccar[9])
и добавляем: Code if(newcar >= Journey[0] && newcar <= Journey[7]) { if(arenda[playerid] != 1) { ShowPlayerDialog(playerid,9127,DIALOG_STYLE_MSGBOX,"Аренда дом","Стоимость аренды машины 310000 вирт","Снять","Отмена"); TogglePlayerControllable(playerid, 0); } }
теперь найдите в моде case 9126:
и ниже добавьте: Code case 9127: { if(response) { if(PlayerInfo[playerid][pCash] <= 0) { SendClientMessage(playerid, COLOR_GRAD2, "У Вас нет столько денег!"); RemovePlayerFromVehicleRich(playerid); TogglePlayerControllable(playerid, 1); return 1; } PlayerInfo[playerid][pCash] -= 310000; arenda[playerid] = 1; TogglePlayerControllable(playerid, 1); SendClientMessage(playerid, COLOR_WHITE, "Вы сняли {00BFFF}дом {FFFFFF}на {00BFFF}колесах"); SendClientMessage(playerid, COLOR_WHITE, "Что бы {00BFFF}войти в дом {FFFFFF}напишите {00BFFF}/incv {FFFFFF}Но!сначло откройте дом {00BFFF}/openincv"); SendClientMessage(playerid, COLOR_WHITE, "Что бы {00BFFF}закрыть машину {FFFFFF}напишите {00BFFF}/flock {FFFFFF}Что бы открыть{00BFFF}/funlock"); return 1; } else { RemovePlayerFromVehicleRich(playerid); TogglePlayerControllable(playerid, 1); return 1; } }
теперь в public CreateVehicles() пихаем: Code //////////////////////////////////////////////////////////////////// Journey[0] = AddStaticVehicleEx(508,1258.8713,-1833.9001,13.7631,358.1424,1,1,1100); // дом на колесах Journey[1] = AddStaticVehicleEx(508,1253.9198,-1833.9010,13.7661,359.9788,1,1,1100); // дом на колесах Journey[2] = AddStaticVehicleEx(508,1248.7173,-1834.2484,13.7671,1.6168,1,1,1100); // дом на колесах Journey[3] = AddStaticVehicleEx(508,1243.9336,-1834.3418,13.7666,1.7349,1,1,1100); // дом на колесах Journey[4] = AddStaticVehicleEx(508,1238.8624,-1834.6613,13.7793,4.1733,1,1,1100); // дом на колесах Journey[5] = AddStaticVehicleEx(508,1234.2463,-1834.6150,13.7768,358.5997,1,1,1100); // дом на колесах Journey[6] = AddStaticVehicleEx(508,1228.9646,-1834.4387,13.7664,359.9985,1,1,1100); // дом на колесах Journey[7] = AddStaticVehicleEx(508,1224.9135,-1834.6676,13.7855,359.9893,1,1,1100); // дом на колесах //////////////////////////////////////////////////////////////////////////
теперь public OnPlayerCommandText(playerid, cmdtext[])
пихаем: Code if(strcmp(cmd,"/incv",true)==0) { world2[playerid] = random(50); new nearveh = GetNearestVehicle(playerid); if(GetVehicleModel(nearveh) != 508) return SendClientMessage(playerid,COLOR_WHITE,"{ff001d}x {FFFFFF}Вы не рядом с домом на колесах"); if(duty[playerid] ==0) return SendClientMessage(playerid, COLOR_WHITE, "{ff001d}x {FFFFFF}Вам нужно быть возле двери (на улице) и открыть дверь командой /openincv!"); SetPlayerPos(playerid,-139.804,-1178.481,1281.1589); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,world2[playerid]); return 1; }
и ниже: Code else if(strcmp(cmd, "/openincv", true) == 0) { new nearveh = GetNearestVehicle(playerid); if(arenda[playerid] ==0) return SendClientMessage(playerid, COLOR_WHITE, "{ff001d}x {FFFFFF}Для этого вам нужно арендовать один из этих Домов!"); if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "{ff001d}x {bbbbbb}Вы не у двери входа в дом на колесах"); if(GetVehicleModel(nearveh) != 508) return SendClientMessage(playerid,COLOR_WHITE, "{ff001d}x {FFFFFF}Вы не рядом с домом на колесах"); GetPlayerName(playerid, sendername, sizeof(sendername)); GetPlayerPos(playerid, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]); { if(duty[playerid] == 0) { format(string, sizeof(string), "%s открыл(а) дверь машины", sendername); ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); duty[playerid] =1; } else { format(string, sizeof(string), "%s закрыл(а) дверь машины", sendername); ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); duty[playerid] =0; } } }
И добавим команды открыть и закрыть машину Code if(strcmp(cmd, "/flock", true) == 0) { new nearveh = GetNearestVehicle(playerid); new carid; GetPlayerName(playerid, sendername, sizeof(sendername)); if(arenda[playerid] ==0) return SendClientMessage(playerid, COLOR_GRAD1, "Для этого вам нужно арендовать один из этих Домов!"); { carid = nearveh; new Float:cx,Float:cy,Float:cz; GetVehiclePos(carid, cx, cy, cz); if(PlayerToPoint(4.0, playerid, cx, cy, cz) ) { SendClientMessage(playerid, COLOR_BLUE, "Машина закрыта!"); LockCar(carid); IsLocked[carid] = 1; } } return 1; } if(strcmp(cmd, "/funlock", true) == 0) { new nearveh = GetNearestVehicle(playerid); new carid; GetPlayerName(playerid, sendername, sizeof(sendername)); if(arenda[playerid] ==0) return SendClientMessage(playerid, COLOR_GRAD1, "Для этого вам нужно арендовать один из этих Домов!"); { carid = nearveh; new Float:cx,Float:cy,Float:cz; GetVehiclePos(carid, cx, cy, cz); if(PlayerToPoint(4.0, playerid, cx, cy, cz) ) { SendClientMessage(playerid, COLOR_GRAD1, "Машина открыта!"); UnLockCar(carid); IsLocked[carid] = 0; } } return 1; }
Автор: nevagno
From Russia With Love!
|
|
|
|