[Ajuda] Nascer em casa
#1

Nгo consigo fazer o player spawnar na casa caso a tenha. Ele spawna no emprego.

pawn Код:
if(strcmp(cmdtext, "/nascercasa", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 1){
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
dini_FloatSet(file,"CasaX",Float:X);
dini_FloatSet(file,"CasaY",Float:Y);
dini_FloatSet(file,"CasaZ",Float:Z);
SetSpawnInfo(playerid, 1, dini_Int(file, "Skin"), dini_Int(file, "CasaX"), dini_Int(file, "CasaY"), dini_Int(file, "CasaZ"), 354.1657, 0, 0, 0, 0, 0, 0);
SendClientMessage(playerid, 0x00FF00AA, "Agora vocк vai nascer nesta casa!");
} else {
SendClientMessage(playerid, Vermelho, "** Esta casa nгo й sua.");
}
} else {
SendClientMessage(playerid, Vermelho, "** Esta casa nгo й sua.");
}
} else {
// SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade.");
}
}
}
return 1;
}
O Comando de spawn da profissгo й simples:

pawn Код:
if(dini_Int(file, "Profissao") == 16)
{
    SetPlayerPos(playerid, 1579.7961,-1635.7952,13.5602);
    return 1;
}
Reply
#2

pawn Код:
if (strcmp(cmdtext, "/nascercasa", true) == 0)
{
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(file, sizeof(file), PASTA_CONTAS, pname);
    for (new c = 0; c < MAX_CASAS; c++)
    {
        format(string, sizeof(string), "/Casas/casa%d.ini", c);
        if (dini_Exists(string))
        {
            if (dini_Int(string, "TDono") == 1)
            {
                if (strcmp(dini_Get(string, "Dono"), pname, true) == 0)
                {
                    new Float: X,
                    Float: Y,
                    Float: Z;
                    GetPlayerPos(playerid, X, Y, Z);
                    dini_FloatSet(file, "CasaX", Float: X);
                    dini_FloatSet(file, "CasaY", Float: Y);
                    dini_FloatSet(file, "CasaZ", Float: Z);
                    SetSpawnInfo(playerid, 1, dini_Int(file, "Skin"), dini_Int(file, "CasaX"), dini_Int(file, "CasaY"), dini_Int(file, "CasaZ"), 354.1657, 0, 0, 0, 0, 0, 0);
                    SpawnPlayer(playerid);
                    SetPlayerPos(playerid, dini_Int(file, "CasaX"), dini_Int(file, "CasaY"), dini_Int(file, "CasaZ"));
                    SendClientMessage(playerid, 0x00FF00AA, "Agora vocк vai nascer nesta casa!");
                }
                else
                {
                    SendClientMessage(playerid, Vermelho, "** Esta casa nгo й sua.");
                }
            }
            else
            {
                SendClientMessage(playerid, Vermelho, "** Esta casa nгo й sua.");
            }
        }
    }
    return 1;
}
Tente.
Reply
#3

Como faзo para as casas aparecerem no mapa?
Ex:

quando a casa ta avenda fica o pickup da casa verde no mapa
e vermelha quando ta comprada.
Reply
#4

add isso no comando /comprarcasa

Quote:

OnPlayerCommandText(playerid, "/nascercasa");

vai fica assim mais add no seu comprar casa aii

Quote:

if(strcmp(cmdtext, "/comprarcasa", true) == 0) {
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 0){
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco")){
if(/*dini_Int(file,"Tcasa2")==0*/(GetCasas(playerid) < 1 && dini_Int(filena(playerid),"Vip") == 0) || (GetCasas(playerid) < 3 && dini_Int(filena(playerid),"Vip") > 0)){
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", pname);
OnPlayerCommandText(playerid, "/nascercasa");
dini_IntSet(file, "Tcasa2", dini_Int(file,"Tcasa2")+1);
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
new pickupid;
new iconid;
DestroyPickup(dini_Int(string, "Id"));
pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
dini_FloatSet(pname,"CasaX",Float:X);
dini_FloatSet(pname,"CasaY",Float:Y);
dini_FloatSet(pname,"CasaZ",Float:Z);
new string2[256];
format(string2, sizeof(string2), "| CASA | O jogador %s, comprou a casa nъmero '%d'.", pname,c);
SendClientMessageToAll(0xFFFFFFAA,string2);
} else {
SendClientMessage(playerid, Vermelho, "** Vocк jб possui uma Casa!");
}
} else {
SendClientMessage(playerid, Vermelho, "Vocк nгo tem dinheiro");
}
} else {
SendClientMessage(playerid, Vermelho, "Esta casa nгo estб a venda!");
}
} else {
//SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade");
}
}
}
return 1;
}
Quote:

if(strcmp(cmdtext, "/nascercasa", true) == 0) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string)){
// new Float:X, Float:Y, Float:Z;
//GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"))){
if(dini_Int(string, "TDono") == 1){
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0){
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
dini_FloatSet(file,"CasaX",Float:X);
dini_FloatSet(file,"CasaY",Float:Y);
dini_FloatSet(file,"CasaZ",Float:Z);
SetSpawnInfo(playerid, 1, dini_Int(file, "Skin"), dini_Int(file, "CasaX"), dini_Int(file, "CasaY"), dini_Int(file, "CasaZ"), 354.1657, 0, 0, 0, 0, 0, 0);
SendClientMessage(playerid, 0x00FF00AA, "Agora vocк vai nascer nesta casa!");
} else {
SendClientMessage(playerid, Vermelho, "** Esta casa nгo й sua.");
}
} else {
SendClientMessage(playerid, Vermelho, "** Esta casa nгo й sua.");
}
} else {
// SendClientMessage(playerid, Vermelho, "Vocк nгo estб em uma propriedade.");
}
}
}
return 1;
}

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)