[Include] [INC]KHouse - Funзхes para criaзгo de casas.
#1

[INC]KHouse - Funзхes para criaзгo de casas.




Crйditos б:


* rjjj ou [iPs]Ken pela include.
* [iPs]Team.



|| Projeto [iPs] TeaM ||




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 <KHouse>



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 Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_SECONDARY_ATTACK)
    {
        EnableHousesEnterExits(playerid);
    }
    return 1;
}


Funзхes e suas explicaзхes:


pawn Код:
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 Код:
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


Obs: Nгo retire os crйditos jamais !!!

Obs: Qualquer bug, por favor, me avisar por PM ou no tуpico mesmo !!


E й isso galera, espero que tenham gostado


Agradecimentos: [iPs]TeaM.
Reply
#2

Nossa, Otima Include 10/10

Testei aqui


PARABENS!
Reply
#3

Muito Bom
10/10


@OffTopic
Ken Qual akele programa que move objeto mesmo ?
Reply
#4

Bom. 9/10
Reply
#5

Nгo testei, mas parece ser уtimo, facilita muito na hora de criar casa.(Apesar de que hoje em dia ja existe o /criarcasa)
Reply
#6

Otima Include Ken..
Reply
#7

Muito boa include..Parabйns..уtimo trabalho ^^

================================
Quote:
Originally Posted by Jonathan_Feitosa
Посмотреть сообщение
@OffTopic
Ken Qual akele programa que move objeto mesmo ?
HoldStudio ??
Reply
#8

й o hold ele me falou pelo msn ^^

muito bom ken dnv 10/10
Reply
#9

Valeu cara, tava procurando uma boa include dessa... Vamos ver =)
Reply
#10

Nuss KEN ..

Meus Parabens !!
Vooce E Muito Bom Em Script ..
Reply
#11

Muito Obrigado a Todos !!

Qualquer dъvida ou problema, poste aqui no tуpico para que o(a) mesmo(a) seja resolvido(a)

E as funзхes devem ser usadas em conjunto, ou seja, use SetHouseOwner para tornar um jogador dono da casa que foi criada com AddStaticHouse por exemplo, pois a include й um tipo de sistema de casas.


As pickups, textos 3Ds e outros acompanhamentos das casas sгo criados automaticamente quando a casa й criada.

Espero ter ajudado
Reply
#12

Parabйns mas ainda continuou com meu sistema de casas 10/10.
Reply
#13

muito bom
Reply
#14

bom.
Reply
#15

Vlw Galera


Include Atualizada.


Coloquei algumas variбveis para checar se a casa foi construнda, assim uma funзгo como por exemplo SetHousePrice sу serб ativada se a casa tiver sido criada antes


Isso evitarб possнveis problemas no funcionamento do cуdigo, pois certas funзхes nгo funcionam corretamente ou crasham outras coisas quando a casa a que elas se referem nгo foi criada .
Reply
#16

Teria alguma forma de getar o ID da casa?
Reply
#17

Nгo testei, mais aparenta estб bem foda.
Parabens
Reply
#18

Teria alguma forma deu obter o ID da casa?
Tentei.. tentei.. e nгo consegui, o criador da include, ou atй mesmo alguйm aqui do fуrum poderia me ajudar?
Reply
#19

тtimo Parabйns ken!!!!
Reply
#20

Quote:
Originally Posted by Jhones
Посмотреть сообщение
Teria alguma forma deu obter o ID da casa?
Tentei.. tentei.. e nгo consegui, o criador da include, ou atй mesmo alguйm aqui do fуrum poderia me ajudar?
Acho que vocк nгo entendeu como se usa a include , por exemplo, pra criar uma casa, eu coloco no OnGameModeInit:

Код:
AddStaticHouse(53,2053.2864,844.4843,6.4813,2393.1638,-1646.0626,13.9051,8,0);
AddStaticHouse(21,2053.2864,844.4843,6.4813,2393.1638,-1646.0626,13.9051,8,0);
O cуdigo acima criarб a casa de ID 21 e a de ID 53, como pode ver, vocк mesmo que define o ID da casa e todas as funзхes sгo utilizadas com base no conhecimento que vocк tem a respeito de esses IDs serem os de tais casas.


Entгo nгo consigo imaginar o porque de querer obter o ID da casa, se vocк mesmo jб sabe dele .


Talvez seja algo como pegar o ID da casa de um jogador se ele for o dono dela, para isso basta fazer um loop:


pawn Код:
//Essa funзгo retorna um ID da casa de um jogador, se ele for dono de alguma.
stock PegarIdDaCasaDoCara(playerid)
{
    new NomePossivelDonoCasa[MAX_PLAYER_NAME];
    GetPlayerName(playerid,NomePossivelDonoCasa,MAX_PLAYER_NAME);
    for(new x = 0; x < MAX_PLAYERS; x++)
    {
        if(strcmp(NomePossivelDonoCasa, (GetHouseOwner(x)), true) == 0)
        {
            return (x);
        }
    }
    return 0;
}
Explique melhor sua dъvida .


Obrigado a todos mais uma vez .


Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)