[INC]KHouse - Funções para criação de casas

Bom, vi que muitos estava atrás de sistema de casas, então fiz essa include com funções para criação de casas e outras coisas relacionadas ás mesmas.


Ela tem algumas funções da 0.3c




Para instalar a include no seu GM, coloque o arquivo KHouse.inc (download no final do tópico) na pasta include do seu pawno e depois coloque no topo do seu GM/FS:


#include



Notas Importantes:


Use EnableHousesEnterExits(playerid) para fazer com que o jogador entre na casa na qual ele está parado na frente (na porta, exatamente).


Exemplo, colocando pra entrar nas casas apertando F (muito comum hoje em dia ):


Exemplo:
pawn Code:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SECONDARY_ATTACK)
{
EnableHousesEnterExits(playerid);
}
return 1;
}



Funções e suas explicações:


pawn Code:
EnableHousesEnterExits(playerid);//Teleporta o jogador para dentro/fora da casa na qual ele está na entrada/saida.

AddStaticHouse(houseid,Float:EntradaX,Float:EntradaY,Float:EntradaZ,Float:SaidaX,Float:SaidaY,Float:SaidaZ,InteriorID,VirtualWorldID);//Cria uma casa. O parametro houseid deve ser maior que 0 e menor que o Limite de casas. Deve ser usada de preferência no OnGameModeInit/OnFilterScriptInit.

SetHouseOwner(houseid,playerid);//Define o dono da casa. O parametro 'playerid' refere-se ao ID do jogador que será dono.

SetHouseFree(houseid,playerid);//Vende a casa, ou seja, coloca-a como dono 'Ninguem'.

SetHousePrice(houseid,valor);//Define o preço da casa.

SetHouseText(houseid,text[]);//Define a texto de entrada da casa. Pode ser coisas como 'Bem Vindo' ou "Casa de 4 quartos".

SetHouseRequiredScore(houseid,score);//Define o Score requerido para se comprar a casa casa.

AddVehicleToHouse(houseid,modelid,Float:X,Float:Y,Float:Z,Float:Angulo,color1,color2);//Adiciona um veículo para determinada casa. Função deve ser usada de preferência no OnGameModeInit/OnFilterScriptInit.

SetVehicleHouseInfo(houseid,modelid,Float:X,Float:Y,Float:Z,Float:Angulo,color1,color2);//Redefine as informações do veículo da casa selecionada. Bom para ser usada em caso de definir a pintura do veículo,etc.

GetHouseOwner(houseid);//Captura o nome do dono da casa e retorna o mesmo em forma de variável de texto (string). Bom para usar com strcmp para checar se um jogador é dono da casa etc.

GetHousePrice(houseid);//Captura o preço da casa e retorna o mesmo em forma de número (integer). Bom para ser usados com if para checar o dinheiro do jogador etc.

GetHouseRequiredScore(houseid);//Captura o score ne da casa e retorna o mesmo em forma de número (integer). Bom para ser usado com ifs para checar o score do jogador etc.

GetHouseVehicleID(houseid);//Captura o ID do veículo de determinada casa e retorna o mesmo em forma de número (integer).

LockHouse(houseid);//Tranca uma casa. Obs: As casas já são fechadas quando o gamemode é carregado.

UnLockHouse(houseid);//Destranca uma casa.

LockVehicleHouse(houseid)//Tranca o veiculo de uma casa.

UnLockVehicleHouse(houseid)//Destranca o veiculo de uma casa.

LockAllVehicleHouse();//Tranca os veículos de todas as casas.

UnLockAllVehicleHouse();//Destranca os veículos de todas as casas.


Observações importantes:


Importante lembrar que o houseid das funções, deve ser maior que 0 e menor que 400 (limite de casas, pode ser mudado dentro do include).

As funções só poderão ser usadas se a casa de tal houseid existir ou seja, se o você a tiver criado com AddStaticHouse (use de preferência no OnGameModeInit).


Exemplo:


pawn Code:
public OnGameModeInit()
{
AddStaticHouse(1,2053.2864,844.4843,6.4813,2393.1638,-1646.0626,13.9051,8,0);//Criará a casa de ID 1.
AddVehicleToHouse(1,560,2053.2864+2,844.4843+2,6.4813,294.4047,79,79);//Adicionará um carro para a casa de ID 1.
SetHouseText(1,"Casa de 4 Quartos");//Definirá o texto de entrada da casa de ID 1.
return 1;
}


Obs: A include foi testada, mas qualquer problema ou dúvida por favor, perguntar aqui no tópico.


Download: Clique Aqui

Créditos á:


* rjjj ou [iPs]Ken pela include.

Postador

Juninho_Boy

0 comentários:

Postar um comentário