-
Recently Browsing 0 members
No registered users viewing this page.
-
Similar Content
-
By Chopick
Всем здравствуйте! Делаю систему домов/бизнесов по туториалу knox know с плагином GoodArea. Есть проблема, если заходишь в интерьер бизнеса, то когда выходишь спавнит почему-то на пикап дома.
Вот енумы:
#define MAX_HOUSES 1000 #define MAX_BIZS 1000 enum house { hID, STREAMER_TAG_PICKUP:hPICKUP, STREAMER_TAG_AREA:hAREA, hOWNER[MAX_PLAYER_NAME], STREAMER_TAG_3D_TEXT_LABEL:hTEXT[256], STREAMER_TAG_MAP_ICON:hICON, hPRICE, hCLASS, hINTERIOR, Float:hX, Float:hY, Float:hZ, Float:hA, hCONDITION // Закрыт/Открыт } new House[MAX_HOUSES][house]; new Houses; new HouseGroup; enum biz { bID, STREAMER_TAG_PICKUP:bPICKUP, STREAMER_TAG_AREA:bAREA, bOWNER[MAX_PLAYER_NAME], STREAMER_TAG_3D_TEXT_LABEL:bTEXT[256], STREAMER_TAG_MAP_ICON:bICON, bNAME[25], bPRICE, bTYPE, bINTERIOR, Float:bX, Float:bY, Float:bZ, Float:bA } new Biz[MAX_BIZS][biz]; new Bizs; new BizGroup; enum interior_info { intID, intNAME[41], intINTERIOR, Float:intX, Float:intY, Float:intZ, Float:intA, STREAMER_TAG_AREA:intAREA } new Interior[MAX_INTERIORS][interior_info]; new Interiors; new InteriorGroup; Вот что у меня в OnGameModeInit:
HouseGroup = CreateGroupGoodAreas(GoodArea:HouseEnter); InteriorGroup = CreateGroupGoodAreas(GoodArea:InteriorExit); BizGroup = CreateGroupGoodAreas(GoodArea:BizArea);
Вот стоки:
GAResponse:HouseEnter(playerid, response, key, index) { switch(response) { case GA_RESPONSE_PRESS_KEY: { if(key & KEY_WALK) { if(House[index][hCONDITION] > 0 && House[index][hOWNER] == player_info[playerid][NAME] || House[index][hCONDITION] == 0) { GoToInterior(playerid, House[index][hINTERIOR]); SetPlayerVirtualWorld(playerid, index); } else if(House[index][hCONDITION] > 0 && House[index][hOWNER] != player_info[playerid][NAME]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Этот дом закрыт на ключ!"); } } case GA_RESPONSE_ENTER: { if(House[index][hOWNER] == 0) { CreateNoOwnerHouseTD(playerid); for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++) { PlayerTextDrawShow(playerid, NoOwnerTextDraw_PTD[playerid][i]); } new price[8]; format(price, sizeof(price), "%d$", House[index][hPRICE]); PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][2], price); new id[9]; format(id, sizeof(id), "%d", House[index][hID]); PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][0], id); switch(House[index][hCLASS]) { case 1: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "A"); case 2: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "B"); case 3: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "C"); } for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++) { TextDrawShowForPlayer(playerid, NoOwnerTextDraw_TD[i]); } } } case GA_RESPONSE_LEAVE: { for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++) { PlayerTextDrawHide(playerid, NoOwnerTextDraw_PTD[playerid][i]); } for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++) { TextDrawHideForPlayer(playerid, NoOwnerTextDraw_TD[i]); } } } return 1; } GAResponse:BizArea(playerid, response, key, index) { switch(response) { case GA_RESPONSE_PRESS_KEY: { if(key & KEY_WALK) { GoToInteriorBiz(playerid, Biz[index][bINTERIOR]); SetPlayerVirtualWorld(playerid, index); } } } return 1; } GAResponse:InteriorExit(playerid, response, key, index) { switch(response) { case GA_RESPONSE_PRESS_KEY: { new world = GetPlayerVirtualWorld(playerid); if(key & KEY_WALK) { if(world < MAX_HOUSES) { SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, House[world][hX], House[world][hY], House[world][hZ]); SetPlayerFacingAngle(playerid, House[world][hA]); } else if(world < MAX_HOUSES + MAX_BIZS) { world -= MAX_HOUSES; printf("%d index world", world); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, Biz[world][bX], Biz[world][bY], Biz[world][bZ]); SetPlayerFacingAngle(playerid, Biz[world][bA]); } } if(key & KEY_CTRL_BACK) { if(player_info[playerid][HOUSE] != House[world][hID]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Вы не владелец данного дома!"); new dialog[256]; format(dialog, sizeof(dialog), "{ffd900}[1]{ffffff}Информация о доме\n\ {ffd900}[2]{ffffff}%s дом", (House[world][hCONDITION] == 1) ? ("{00ff00}Открыть") : ("{ff0000}Закрыть")); SPD(playerid, DLG_HMENU, DIALOG_STYLE_LIST, "{ffd900}Меню дома", dialog, "Выбрать", "Закрыть"); return 1; } } } return 1; } stock GoToInterior(playerid, interior) { for(new i = 0; i < Interiors; i++) { if(Interior[i][intID] != interior) continue; SetPlayerInterior(playerid, Interior[i][intINTERIOR]); SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]); SetPlayerFacingAngle(playerid, Interior[i][intA]); SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0); new str[128]; format(str, sizeof(str), "Нажмите \"ALT\" для выхода\n\ Нажмите \"H\", чтобы открыть меню дома"); Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1); return 1; } return 0; } stock GoToInteriorBiz(playerid, interior) { for(new i = 0; i < Interiors; i++) { if(Interior[i][intID] != interior) continue; SetPlayerInterior(playerid, Interior[i][intINTERIOR]); SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]); SetPlayerFacingAngle(playerid, Interior[i][intA]); SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0); new str[128]; format(str, sizeof(str), "Нажмите \"ALT\" для выхода"); Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1); return 1; } return 0; }
Что мне делать, подскажите пожалуйста?
-
By Jdjdjd
Как сделать открытие закрытие ворот в Радмир рп на копии,и куд а нужно вставлять код?
-
Posted · Report post
Суть такая. Есть такое проект нубо рп, Россия Рп. Там есть радужный клист переливается светом. Я хочу такой же установить помогите
Share this post
Link to post