Mr Green
Новичок
Приветствую пользователей pawno-info.ru
Я Mr Green, и сегодня я решил выложить для Вас, копию магазина игрушек, как на сервере Megapolis RP (давно закрыт)
Внимание! Данный мануал не рассчитан на новичков, если вы не понимаете как это работает пишите в комментарии
Ко всем new добавляем:
В OnPlayerConnect добавляем:
В OnPlayerDisconnect добавляем:
В OnPlayerDeath добавляем:
В OnGamеModeInit добавляем:
В OnPlayerPickUpPickup добавляем:
К enum pInfo добавляем:
Ко всем командам добавляем:
В OnDialogResponse добавляем:
Наш магазин игрушек с сохранением, это значит что Вам нужно сохранить переменные:
PlayerInfo[playerid][pToys], PlayerInfo[playerid][pToysProz], думаю тут Вы сами справитесь.
Скриншотов нет, магазин находится в ЛС, за Мэрией, через дорогу.
Внимание! Данный скрипт подойдет на 80% модов типа rls, если же у Вас возникли ошибки, то помните мануал адресован более опытным скриптерам, поэтому пишите ошибки в комментарии, постараюсь помочь Вам в этом вопросе.
Всем спасибо за внимание!
С Вами был Mr Green
Авторские права принадлежат Mr Green (c)
Я Mr Green, и сегодня я решил выложить для Вас, копию магазина игрушек, как на сервере Megapolis RP (давно закрыт)
Внимание! Данный мануал не рассчитан на новичков, если вы не понимаете как это работает пишите в комментарии
Ко всем new добавляем:
PHP:
new ToysNum[6][2] =
{{594,5000},
{441,8000},
{464,14000},
{465,14500},
{501,14500},
{564,15500}};
new shoptoy[2];
new caridtoys[MAX_PLAYERS];
new bool:vehnoff[MAX_PLAYERS];
new Float:TeleportDest[MAX_PLAYERS][3];
PHP:
caridtoys[playerid] = -1;
vehnoff[playerid] = false;
PHP:
if(caridtoys[playerid] >= 0) DestroyVehicle(caridtoys[playerid]);
PHP:
if(caridtoys[playerid] >= 0) DestroyVehicle(caridtoys[playerid]);
PHP:
shoptoy[0] = CreatePickup(1318,23,1409.9629,-1881.7791,13.5469);
shoptoy[1] = CreatePickup(1318,23,-2240.9631,128.3762,1035.4141,1);
Create3DTextLabel( "Магазин игрушек", COLOR_YELLOW, 1409.9629,-1881.7791,13.5469, 8.0,0, 1);
Create3DTextLabel( "Введите: /buytoys", COLOR_YELLOW, -2237.3052,130.1964,1035.4141, 8.0,1, 1);
PHP:
if(pickupid == shoptoy[0])
{
SetPlayerPos(playerid,-2239.7039,129.5925,1035.4141);
SetPlayerFacingAngle(playerid, 355.4080);
SetPlayerInterior(playerid,6);
SetPlayerVirtualWorld(playerid,1);
return 1;
}
if(pickupid == shoptoy[1])
{
SetPlayerPos(playerid,1409.9015,-1879.7454,13.5469);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
return 1;
}
PHP:
pToys,
pToysProz
PHP:
if(strcmp(cmd, "/mytoy", true) == 0)
{
if(gPlayerLogged[playerid] == 0) {SendClientMessage(playerid, COLOR_WHITE, "Необходимо авторизоваться!"); return 1;}
if(PlayerInfo[playerid][pToys] <= 0) {SendClientMessage(playerid, COLOR_GRAD1, "У вас нет игрушки!");return 1;}
if(GetPlayerInterior(playerid) != 0 && GetPlayerVirtualWorld(playerid) != 0){SendClientMessage(playerid, COLOR_GRAD1, "Выйдите на улицу!"); return 1;}
switch(vehnoff[playerid])
{
case false:
{
if(IsPlayerInAnyVehicle(playerid)) {SendClientMessage(playerid, COLOR_GRAD1, "Выйдите из машины!"); return 1;}
if(PlayerInfo[playerid][pToysProz] <= 0)
{
PlayerInfo[playerid][pToysProz] = 0;
SendClientMessage(playerid, COLOR_GRAD1, "Ваша игрушка поломана купите новую!");
return 1;
}
vehnoff[playerid] = true;
GetPlayerPos(playerid,TeleportDest[0][playerid],TeleportDest[1][playerid],TeleportDest[2][playerid]);
new Float:Angle; GetPlayerFacingAngle(playerid,Angle);
PlayerInfo[playerid][pToysProz] -= 1;
caridtoys[playerid] = CreateVehicle(PlayerInfo[playerid][pToys], TeleportDest[0][playerid], TeleportDest[1] [playerid], TeleportDest[2][playerid], Angle , -1 , -1,5600);
PutPlayerInVehicle(playerid, caridtoys[playerid], 0);
SetVehicleParamsEx(caridtoys[playerid] ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
RepairVehicle(caridtoys[playerid]);
SendClientMessage(playerid, COLOR_GREY,"Чтобы завершить управление радио игрушкой наберите {FFFFFF}(( /mytoy ))");
return 1;
}
case true:
{
vehnoff[playerid] = false;
SendClientMessage(playerid, COLOR_GREY,"Вы завершили управление радио игрушкой!");
SetVehiclePos(caridtoys[playerid],TeleportDest[0][playerid],TeleportDest[1][playerid],TeleportDest[2][playerid]);
DestroyVehicle(caridtoys[playerid]);
return 1;
}
default: {SendClientMessage(playerid, COLOR_GREY,"Произошла ошибка!"); return 1;}
}
return SendClientMessage(playerid, COLOR_GREY,"Произошла ошибка!");
}
//==================================================================//
if(strcmp(cmd, "/buytoys", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 5, -2237.3052,130.1964,1035.4141))
{
return ShowPlayerDialog(playerid,1152,DIALOG_STYLE_LIST,"Список игрушек:","[1] - RC Cam - 5000$\n[2] - RC Bandit- 8000$\n[3] - RC Baron - 14000$\n[4] - RC Raider - 14500$\n[5] - RC Goblin - 14500$\n[6] - RC Tiger - 15500$","Ок","Отмена");
}
return 1;
}
PHP:
case 1152:
{
if(response)
{
if(PlayerInfo[playerid][pCash] < ToysNum[listitem][1]) return SendClientMessage(playerid, COLOR_GREY, "Недостаточно денег!");
PlayerInfo[playerid][pCash] -= ToysNum[listitem][1];
PlayerInfo[playerid][pToys] = ToysNum[listitem][0];
PlayerInfo[playerid][pToysProz] = 20;
format(string, sizeof(string), "Вы купили радио игрушку %s",VehicleNames[ToysNum[listitem][0]-400]);
SendClientMessage(playerid, 0x6495EDFF,string);
SendClientMessage(playerid, COLOR_WHITE, "Играйте осторожно, игрушки любят ломаться!");
SendClientMessage(playerid, COLOR_WHITE, "Введите: /mytoy чтобы поиграть.");
return 1;
}
else return 1;
}
PlayerInfo[playerid][pToys], PlayerInfo[playerid][pToysProz], думаю тут Вы сами справитесь.
Скриншотов нет, магазин находится в ЛС, за Мэрией, через дорогу.
Внимание! Данный скрипт подойдет на 80% модов типа rls, если же у Вас возникли ошибки, то помните мануал адресован более опытным скриптерам, поэтому пишите ошибки в комментарии, постараюсь помочь Вам в этом вопросе.
Всем спасибо за внимание!
С Вами был Mr Green
Авторские права принадлежат Mr Green (c)
Последнее редактирование:
