public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)// Code de RedWebs
{
new string[256];
new sendername[MAX_PLAYER_NAME];
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new newcar = GetPlayerVehicleID(playerid);
//new Keys,ud,lr;
//GetPlayerKeys(playerid,Keys,ud,lr);
if(newkeys & KEY_SUBMISSION)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(Opened[playerid] == 0) { CheckForOpeningDoor(playerid); Opened[playerid] = 1; SetTimer("OpenDoor",3000,0); return 1; }
if(Opened[playerid] == 1) { return 1; }
}
}
mmm Creo que se hace con:
pawn Код:
pawn Код:
|
if(newkeys & KEY_SECONDARY_ATTACK) { if(IsPlayerConnected(playerid)) { if (GetPlayerState(playerid) == 1) { CheckForWalkingTeleport(playerid); for(new i = 0; i < sizeof(HouseInfo); i++) { if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez])) { if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0 || AdminDuty[playerid] == 1) { SetPlayerInterior(playerid,HouseInfo[i][hInt]); SetPlayerVirtualWorld(playerid,HouseInfo[i][hWorld]); SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]); GameTextForPlayer(playerid, "~w~Bienvenido a casa", 5000, 1); PlayerInfo[playerid][pInt] = HouseInfo[i][hInt]; PlayerInfo[playerid][pLocal] = i; HouseEntered[playerid] = i; } else { GameTextForPlayer(playerid, "~r~Cerrado", 5000, 1); } } else if (PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz])) { if(HouseEntered[playerid] == i) { SetPlayerInterior(playerid,0); SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]); PlayerInfo[playerid][pInt] = 0; PlayerInfo[playerid][pLocal] = 255; SetCameraBehindPlayer(playerid); SetPlayerVirtualWorld(playerid,0); HouseEntered[playerid] = 255; } } } for(new i = 0; i < sizeof(BizzInfo); i++) { if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ])) { if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= BizzInfo[i][bEntranceCost]) { if(PlayerInfo[playerid][pPbiskey] != i) { if(BizzInfo[i][bLocked] == 1) { GameTextForPlayer(playerid, "~r~Cerrado", 5000, 1); return 1; } SafeGivePlayerMoney(playerid,-BizzInfo[i][bEntranceCost]); format(string, sizeof(string), "~r~-$%d~n~~w~Escriba /salir~n~para salir", BizzInfo[i][bEntranceCost]); BizzInfo[i][bTill] += BizzInfo[i][bEntranceCost]; ExtortionBiz(i, BizzInfo[i][bEntranceCost]); BizzInfo[i][bProducts]--; OnPropUpdate(); GameTextForPlayer(playerid, string, 5000, 3); } SetPlayerInterior(playerid,BizzInfo[i][bInterior]); SetPlayerPos(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]); PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior]; PlayerInfo[playerid][pLocal] = i+99; new dood[MAX_PLAYER_NAME]; GetPlayerName(playerid, dood, sizeof(dood)); format(string, sizeof(string), "%s payed $%d to enter biz %d", dood, BizzInfo[i][bEntranceCost], i); printf("%s", string); //PayLog(string); //PlayerInfo[playerid][pLocal] = i; } else { GameTextForPlayer(playerid, "~r~You dont have the cash", 5000, 1); } } else if (PlayerToPoint(3, playerid,BizzInfo[i][bExitX], BizzInfo[i][bExitY], BizzInfo[i][bExitZ])) { SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0; SetPlayerPos(playerid,BizzInfo[i][bEntranceX],BizzInfo[i][bEntranceY],BizzInfo[i][bEntranceZ]); PlayerInfo[playerid][pLocal] = 255; } } for(new i = 0; i < sizeof(SBizzInfo); i++) { if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ])) { if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= SBizzInfo[i][sbEntranceCost]) { if(PlayerInfo[playerid][pPbiskey] != i) { if(SBizzInfo[i][sbLocked] == 1) { GameTextForPlayer(playerid, "~r~Closed", 5000, 1); return 1; } else { GameTextForPlayer(playerid, "~r~Closed", 5000, 1); return 1; } } } else { GameTextForPlayer(playerid, "~r~You dont have the cash", 5000, 1); } } } } } }
Eso es para abrir los "/apgarage"
El codigo para entrar a interiores / negocios / casas con ENTER es el siguiente: Код:
if(newkeys & KEY_SECONDARY_ATTACK) { if(IsPlayerConnected(playerid)) { if (GetPlayerState(playerid) == 1) { CheckForWalkingTeleport(playerid); for(new i = 0; i < sizeof(HouseInfo); i++) { if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez])) { if(PlayerInfo[playerid][pPhousekey] == i || HouseInfo[i][hLock] == 0 || AdminDuty[playerid] == 1) { SetPlayerInterior(playerid,HouseInfo[i][hInt]); SetPlayerVirtualWorld(playerid,HouseInfo[i][hWorld]); SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]); GameTextForPlayer(playerid, "~w~Bienvenido a casa", 5000, 1); PlayerInfo[playerid][pInt] = HouseInfo[i][hInt]; PlayerInfo[playerid][pLocal] = i; HouseEntered[playerid] = i; } else { GameTextForPlayer(playerid, "~r~Cerrado", 5000, 1); } } else if (PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz])) { if(HouseEntered[playerid] == i) { SetPlayerInterior(playerid,0); SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]); PlayerInfo[playerid][pInt] = 0; PlayerInfo[playerid][pLocal] = 255; SetCameraBehindPlayer(playerid); SetPlayerVirtualWorld(playerid,0); HouseEntered[playerid] = 255; } } } for(new i = 0; i < sizeof(BizzInfo); i++) { if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ])) { if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= BizzInfo[i][bEntranceCost]) { if(PlayerInfo[playerid][pPbiskey] != i) { if(BizzInfo[i][bLocked] == 1) { GameTextForPlayer(playerid, "~r~Cerrado", 5000, 1); return 1; } SafeGivePlayerMoney(playerid,-BizzInfo[i][bEntranceCost]); format(string, sizeof(string), "~r~-$%d~n~~w~Escriba /salir~n~para salir", BizzInfo[i][bEntranceCost]); BizzInfo[i][bTill] += BizzInfo[i][bEntranceCost]; ExtortionBiz(i, BizzInfo[i][bEntranceCost]); BizzInfo[i][bProducts]--; OnPropUpdate(); GameTextForPlayer(playerid, string, 5000, 3); } SetPlayerInterior(playerid,BizzInfo[i][bInterior]); SetPlayerPos(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]); PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior]; PlayerInfo[playerid][pLocal] = i+99; new dood[MAX_PLAYER_NAME]; GetPlayerName(playerid, dood, sizeof(dood)); format(string, sizeof(string), "%s payed $%d to enter biz %d", dood, BizzInfo[i][bEntranceCost], i); printf("%s", string); //PayLog(string); //PlayerInfo[playerid][pLocal] = i; } else { GameTextForPlayer(playerid, "~r~You dont have the cash", 5000, 1); } } else if (PlayerToPoint(3, playerid,BizzInfo[i][bExitX], BizzInfo[i][bExitY], BizzInfo[i][bExitZ])) { SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0; SetPlayerPos(playerid,BizzInfo[i][bEntranceX],BizzInfo[i][bEntranceY],BizzInfo[i][bEntranceZ]); PlayerInfo[playerid][pLocal] = 255; } } for(new i = 0; i < sizeof(SBizzInfo); i++) { if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ])) { if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= SBizzInfo[i][sbEntranceCost]) { if(PlayerInfo[playerid][pPbiskey] != i) { if(SBizzInfo[i][sbLocked] == 1) { GameTextForPlayer(playerid, "~r~Closed", 5000, 1); return 1; } else { GameTextForPlayer(playerid, "~r~Closed", 5000, 1); return 1; } } } else { GameTextForPlayer(playerid, "~r~You dont have the cash", 5000, 1); } } } } } } |