[Ajuda] CASA [MORADIA] como resolver?
#1

Quando eu convido alguйm para ser morador na casa, aparece aceitar ou recusar, atй ai tudo bem... Mas quando vc aceita nгo funciona, como resolver isso?

if(strcmp(cmd, "/convidarcasa", true) == 0)
{
new pid;

if(sscanf(cmdtext, "s[14]u", cmd, pid))
{
SendClientMessage(playerid, Vermelho, "/convidarcasa [id]");
return 1;
}
if(IsPlayerConnected(pid))
{
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), PASTA_CASAS, c);
if(IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
{
if(dini_Exists(string))
{
if(strcmp(dini_Get(string, "Dono"), GetPlayerNameEx(playerid), false) == 0)
{
if(dini_Int(string, "TMorador") == 1)
{
SendClientMessage(playerid, Vermelho, "Jб tem um morador em sua casa.");
return 1;
}
morar[pid] = 1;
moradia[pid] = c;

convitede[pid] = playerid;
MoradiaTime[pid] = SetTimerEx("Moradia", 30000, false, "d", pid);

format(STRX, sizeof(STRX), "%s (ID: %d) estб convidando vocк para morar na casa dele(a).", GetPlayerNameEx(playerid), playerid);
SendClientMessage(pid, Amarelo, STRX);

SendClientMessage(pid, Amarelo, "Para aceitar o convite, use: /aceitarmoradia || Para recusar, use: /recusarmoradia");
SendClientMessage(playerid, Vermelho, "Convite enviado.");
return 1;
}
else
{
SendClientMessage(playerid, Vermelho, "Vocк nгo tem permissгo.");
return 1;
}
}
}
}
}
else
{
SendClientMessage(playerid, Vermelho, "Valor invбlido, tente novamente!");
}
return 1;
}
Reply
#2

Cadк o comando de aceitar a moradia?
Coloque o cуdigo dentro de [php][php] para melhor visualizaзгo.
Reply
#3

nгo sei colocar isso
if(strcmp(cmd, "/aceitarmoradia", true) == 0)
{
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), PASTA_CASAS, c);
if(dini_Int(string, "TMorador") == 1)
{
if(strcmp(dini_Get(string, "Morador"), GetPlayerNameEx(playerid), false) == 0)
{
dini_IntSet(string, "TMorador", 0);
dini_Set(string, "Morador", "Ninguem");
}
}
}
format(string, sizeof(string), PASTA_CASAS, moradia[playerid]);
if(dini_Exists(string))
{
if(morar[playerid] == 1)
{
format(file, sizeof(file), PASTA_CONTAS, GetPlayerNameEx(playerid));

morar[playerid] = 0;
moradia[playerid] = 0;

KillTimer(MoradiaTime[playerid]);
convitede[playerid] = INVALID_PLAYER_ID;

dini_IntSet(string, "TMorador", 1);
dini_Set(string, "Morador", GetPlayerNameEx(playerid));
dini_FloatSet(file, "CasaX" , dini_Float(string, "PosX"));
dini_FloatSet(file, "CasaY" , dini_Float(string, "PosY"));
dini_FloatSet(file, "CasaZ" , dini_Float(string, "PosZ"));

SetSpawnInfo(playerid, 1, dini_Int(file, "Skin"), dini_Float(file, "CasaX"), dini_Float(file, "CasaY"), dini_Float(file, "CasaZ"), 354.1657, 0, 0, 0, 0, 0, 0);

format(STRX, sizeof(STRX), "{00FF00}Casa ID: {FF0000}%d\n{00FF00}Dono: {FF0000}%s\n{00FF00}Morador: {FF0000}%s\n{00FF00}Valor: {FF0000}$%d\n\n{00FF00}Ъltimo Login: {FF0000}%s", moradia[playerid], dini_Get(string, "Dono"), GetPlayerNameEx(playerid), dini_Int(string, "Preco"), dini_Get(string, "DataSet"));
UpdateDynamic3DTextLabelText(ctextoid[moradia[playerid]], -1, STRX);

SendClientMessage(playerid, Amarelo, "Agora vocк estб morando em uma casa!");
SendClientMessage(convitede[playerid], Amarelo, "O(A) jogador(a) aceitou!");
}
else
{
SendClientMessage(playerid, Vermelho, "Vocк nгo foi convidado!");
}
}
return 1;
}

if(strcmp(cmd, "/recusarmoradia", true) == 0)
{
if(morar[playerid] == 1)
{
morar[playerid] = 0;
moradia[playerid] = 0;
convitede[playerid] = INVALID_PLAYER_ID;

SendClientMessage(playerid, Amarelo, "Vocк recusou.");
SendClientMessage(convitede[playerid], Amarelo, "O(A) jogador(a) recusou!");
}
else
{
SendClientMessage(playerid, Vermelho, "Vocк nгo foi convidado!");
}
return 1;
}
Reply
#4

Nгo funciona em qual sentindo? Aparece alguma mensagem ao digitar o comando?
Reply
#5

Aparece que vocк mora, mas se vc mandar de novo e como se n tivesse morador e o nome que fica em baixo do dono da casa fica morador: mas n fica seu nome como se vc n aceitasse tbm
Reply
#6

Quote:
Originally Posted by shirouz
View Post
Aparece que vocк mora, mas se vc mandar de novo e como se n tivesse morador e o nome que fica em baixo do dono da casa fica morador: mas n fica seu nome como se vc n aceitasse tbm
Nгo entendi nada.
Reply
#7

me add no discord eu te explico melhor ShirouZ
#0341
Reply
#8

nгo funciona quando ele aceita o convite para ser morador, simples.
Reply
#9

PHP Code:
if(strcmp(cmd"/convidarcasa"true) == 0) {
    new 
pid;
    if(
sscanf(cmdtext"s[14]u"cmdpid)) return SendClientMessage(playeridVermelho"/convidarcasa [id]");
    if(!
IsPlayerConnected(pid)) return SendClientMessage(playeridVermelho"[ ERRO ] Este player nгo estб conectado !");
    for(new 
0MAX_CASASc++) {
        
format(stringsizeof(string), PASTA_CASASc);
        if(
dini_Exists(string)) {
            if(
IsPlayerInRangeOfPoint(playerid2.0dini_Float(string"PosX"), dini_Float(string"PosY"), dini_Float(string"PosZ"))) {
                if(
strcmp(dini_Get(string"Dono"), GetPlayerNameEx(playerid), false) == 0) {
                    if(
dini_Int(string"TMorador") == 1) return SendClientMessage(playeridVermelho"Jб tem um morador em sua casa.");
                    
morar[pid] = 1;
                    
moradia[pid] = c;
                    
convitede[pid] = playerid;
                    
MoradiaTime[pid] = SetTimerEx("Moradia"30000false"d"pid);
                    
format(STRXsizeof(STRX), "%s (ID: %d) estб convidando vocк para morar na casa dele(a)."GetPlayerNameEx(playerid), playerid);
                    
SendClientMessage(pidAmareloSTRX);
                    
SendClientMessage(pidAmarelo"Para aceitar o convite, use: /aceitarmoradia || Para recusar, use: /recusarmoradia");
                    
SendClientMessage(playeridVermelho"Convite enviado.");
                    return 
1;
                }
                else
                {
                    
SendClientMessage(playeridVermelho"Vocк nгo tem permissгo.");
                    return 
1;
                }
            }
        }
    }
    return 
1;
}
if(
strcmp(cmd"/aceitarmoradia"true) == 0) {
    if(
morar[playerid] != 1) return SendClientMessage(playeridVermelho"Vocк nгo foi convidado!");
    
format(stringsizeof(string), PASTA_CASASmoradia[playerid]);
    if(
dini_Exists(string)) {    
        for(new 
0MAX_CASASc++)
        {
            
format(stringsizeof(string), PASTA_CASASc);
            if(
dini_Int(string"TMorador") == 1) {
                if(
strcmp(dini_Get(string"Morador"), GetPlayerNameEx(playerid), false) == 0) {
                    
dini_IntSet(string"TMorador"0);
                    
dini_Set(string"Morador""Ninguem");
                }
            }
        }
        
format(stringsizeof(string), PASTA_CASASmoradia[playerid]);
        
dini_IntSet(string"TMorador"1);
        
dini_Set(string"Morador"GetPlayerNameEx(playerid));
        
format(filesizeof(file), PASTA_CONTASGetPlayerNameEx(playerid));
        
dini_FloatSet(file"CasaX" dini_Float(string"PosX"));
        
dini_FloatSet(file"CasaY" dini_Float(string"PosY"));
        
dini_FloatSet(file"CasaZ" dini_Float(string"PosZ"));
        
SetSpawnInfo(playerid1dini_Int(file"Skin"), dini_Float(file"CasaX"), dini_Float(file"CasaY"), dini_Float(file"CasaZ"), 354.1657000000);
        
format(STRXsizeof(STRX), "{00FF00}Casa ID: {FF0000}%d\n{00FF00}Dono: {FF0000}%s\n{00FF00}Morador: {FF0000}%s\n{00FF00}Valor: {FF0000}$%d\n\n{00FF00}Ъltimo Login: {FF0000}%s"moradia[playerid], dini_Get(string"Dono"), GetPlayerNameEx(playerid), dini_Int(string"Preco"), dini_Get(string"DataSet"));
        
UpdateDynamic3DTextLabelText(ctextoid[moradia[playerid]], -1STRX);
        
SendClientMessage(playeridAmarelo"Agora vocк estб morando em uma casa!");
        
SendClientMessage(convitede[playerid], Amarelo"O(A) jogador(a) aceitou!");
        
        
convitede[playerid] = INVALID_PLAYER_ID;        
        
morar[playerid] = moradia[playerid] = 0;
        
KillTimer(MoradiaTime[playerid]);            
    }
    return 
1;
}
if(
strcmp(cmd"/recusarmoradia"true) == 0) {
    if(
morar[playerid] != 1) return SendClientMessage(playeridVermelho"Vocк nгo foi convidado!");
    
SendClientMessage(playeridAmarelo"Vocк recusou.");
    
SendClientMessage(convitede[playerid], Amarelo"O(A) jogador(a) recusou!");
    
    
morar[playerid] = moradia[playerid] = 0;
    
convitede[playerid] = INVALID_PLAYER_ID;
    
KillTimer(MoradiaTime[playerid]);
    return 
1;

Reply
#10

Muito obrigado LEONARDO
Reply
#11

Muito obrigado Leonardo, vocк ajudou bastante!
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)