• Страница 1 из 1
  • 1
Форум » PAWNO » Уроки Pawno » Дома на колесах (RLS)
Дома на колесах (RLS)
Дмитрий Дата: Суббота, 17.11.2012, 23:56 | Сообщение # 1 | Сообщить о нерабочей теме


Аватар для Дмитрий

Всем привет,с вами 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
duty[playerid] =0;  


теперь ищем в моде такие строки:
Code
new liccar[10],hotdogcar[9],taxicar [41], bus[25],mehanik[13],rentcarsf[6]  


и добавляем это:
Code
Journey[8]  


далее ищем:
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!
Форум » PAWNO » Уроки Pawno » Дома на колесах (RLS)
  • Страница 1 из 1
  • 1
Поиск: