NIKRUS 70 Опубликовано 24 августа, 2018 Всем привет! Недавно нашел скрипт гаражей, но меня там не устраивают команды(/ga lock, /ga sell, и т.д.). Думал изменить в pwn, но там это: if(strcmp(cmd,"/ga",true)==0) { new temp[256]; temp = strtok(cmdtext, idx); if(!strlen(temp)) return SendClientMessage(playerid,COLOR_WHITE," ???????????: /ga [buy(??????) sell(???????) lock(???????) enter(?????) exit(?????)"); if(strcmp(temp,"buy",true)==0) { for(new gar = 1; gar <= TOTALGARAGE;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { new gares = 0; if(!strcmp(Names(playerid), Garage[gar][gOwner], true)) gares++; { if(PlayerInfo[playerid][pVIP] == 3) { if(gares >= 2) return SendClientMessage(playerid, COLOR_GRAD2, "? ??? ??????? ????? ?????"); } else if(gares >= 1) return SendClientMessage(playerid, COLOR_GRAD2, "? ??? ??????? ????? ?????"); } if(!strcmp("None", Garage[gar][gOwner], true)) { if(PlayerInfo[playerid][pMoney] > Garage[gar][gPrice]) { strmid(Garage[gar][gOwner], Names(playerid), 0, strlen(Names(playerid)), 255); GiveMoney(playerid,-Garage[gar][gPrice]); format(temp,sizeof(temp),"{FF0000}????? ?????:[%d]\n{33AA33}????????:{FFFFFF}[%s]\n{FFFFFF}??? ?? ??????????????? /ga",gar,Garage[gar][gOwner]); UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp); SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," ?? ??????? ?????? ?????"); } else return SendClientMessage(playerid,COLOR_WHITE," ? ??? ???? ????? ?? ???????"); } else return SendClientMessage(playerid,COLOR_WHITE," ????? ??? ??? ?? ??????"); } } } else if(strcmp(temp,"sell",true)==0) { for(new gar = 1; gar <= TOTALGARAGE;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(!strcmp(Names(playerid), Garage[gar][gOwner], true)) { strmid(Garage[gar][gOwner], "None", 0, strlen("None"), 255); GiveMoney(playerid,Garage[gar][gPrice]/2); Garage[gar][gLock] = 1; SaveGarage(gar); format(temp,sizeof(temp),"{FF0000}????? ????? [%d]\n?????????? ???? {FFFF00}[%d ???]\n{FFFFFF}??? ?? ??????????????? /ga",gar,Garage[gar][gPrice]); UpdateDynamic3DTextLabelText(Text3DCar[gar], 0xCE9A00FF, temp); return SendClientMessage(playerid,COLOR_WHITE," ?? ??????? ??????? ???? ?????"); } else return SendClientMessage(playerid,COLOR_WHITE," ????? ?? ??????????? ???"); } } } else if(strcmp(temp,"lock",true)==0) { for(new gar = 1; gar <= TOTALGARAGE;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]) || (IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid))) { if(!strcmp(Names(playerid), Garage[gar][gOwner], true)) { if(Garage[gar][gLock] == 1) { Garage[gar][gLock] = 0; SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," ????? ??????"); } else { Garage[gar][gLock] = 1; SaveGarage(gar); return SendClientMessage(playerid,COLOR_WHITE," ????? ??????"); } } else return SendClientMessage(playerid,COLOR_WHITE," ????? ?? ??????????? ???"); } } } else if(strcmp(temp,"enter",true)==0) { for(new gar = 1; gar <= TOTALGARAGE;gar++) { if(IsPlayerInRangeOfPoint(playerid, 2.5,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ])) { if(Garage[gar][gLock] == 1) return SendClientMessage(playerid,COLOR_WHITE," ????? ??????"); if(IsPlayerInAnyVehicle(playerid)) { new carid = GetPlayerVehicleID(playerid); SetVehiclePos(carid, GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); SetPlayerPos(playerid,GARAGE_X,GARAGE_Y,GARAGE_Z+1.0); LinkVehicleToInterior(carid, GARAGE_INT); SetVehicleVirtualWorld(carid, gar); SetVehicleZAngle(carid, GARAGE_A); SetPlayerInterior(playerid,GARAGE_INT); SetPlayerVirtualWorld(playerid,gar); PutPlayerInVehicle(playerid,carid,0); } else { SetPlayerPos(playerid,GARAGE_X,GARAGE_Y-4.0,GARAGE_Z+1.0); SetPlayerInterior(playerid,GARAGE_INT); SetPlayerVirtualWorld(playerid,gar); } break; } } } else if(strcmp(temp,"exit",true)==0) { if(GetPlayerVirtualWorld(playerid) == 0) return SendClientMessage(playerid,COLOR_WHITE," ?? ?? ?????????? ? ?????? "); for(new gar = 1; gar <= TOTALGARAGE;gar++) { if(IsPlayerInRangeOfPoint(playerid, 20.0,GARAGE_X,GARAGE_Y,GARAGE_Z) && gar == GetPlayerVirtualWorld(playerid)) { if(IsPlayerInAnyVehicle(playerid)) { new carid = GetPlayerVehicleID(playerid); LinkVehicleToInterior(carid, 0); SetVehicleVirtualWorld(carid, 0); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); SetVehiclePos(carid, Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0); SetVehicleZAngle(carid, Garage[gar][gA]); SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0); PutPlayerInVehicle(playerid,carid,0); } else { SetPlayerPos(playerid,Garage[gar][gX],Garage[gar][gY],Garage[gar][gZ]+1.0); SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0); } break; } } } return true; Как тут изменить на стандартные комадны(по типу /galock, /gasell)? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 416 Опубликовано 24 августа, 2018 Создать их отдельно и вынести код отдельно из тела каждой команды. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NIKRUS 70 Опубликовано 24 августа, 2018 @Wеb, Тоесть это else if(strcmp(temp,"sell",true)==0) заменить на if(strcmp(cmd,"/sell",true)==0) Правильно понимаю? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Web 416 Опубликовано 24 августа, 2018 Да и код из тела команды переносить Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты