SA-MP Forums Archive
[Ajuda] Ajuda rapida em /comprarcasa - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Ajuda rapida em /comprarcasa (/showthread.php?tid=650580)

Pages: 1 2


Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

Bom galera criei um /comprarcasa porém ele não está pegando o segundo arquivo ex na pasta das casas tem:

0(casa id 0)
1(casa id 1)

quando digito /comprarcasa perto da casa id 0 ele funciona perfeitamente!

mas quando estou perto da 1 ele fala que não estou perto de uma casa obg.


Re: Ajuda rapida em /comprarcasa - rjjj - 02.03.2018

Como sempre o loop percorre do ID 0 atй o maior ID possнvel de casa, o return da primeira volta sempre interrompe todo o cуdigo quando vocк estб em outra casa que nгo seja a de ID 0 .



Retire o return da construзгo if que checa a posiзгo do jogador e reescreva a mesma para simplesmente pular o cуdigo da casa para a prуxima se o jogador nгo estiver na posiзгo dela. Logo apуs a construзгo for, coloque a mensagem referente ao jogador nгo estar na frente de nenhuma casa, jб que esse ponto do cуdigo sу rodaria nessa situaзгo.



Se vocк prestar atenзгo nesse problema, verб que terб que fazer isso de novo para o mesmo cуdigo. Sу nгo use goto .



Espero ter ajudado .


Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

Só para mim ver se entendi.

Entao essa linha

PHP Code:

if(!IsPlayerInRangeOfPoint(playerid2.0DOF2_GetFloat(string,"cX"), DOF2_GetFloat(string,"cY"), DOF2_GetFloat(string,"cZ")))return SendClientMessage(playeridvermelho"Você não está perto de uma casa."); 
Ficaria assim?

PHP Code:
if(!IsPlayerInRangeOfPoint(playerid2.0DOF2_GetFloat(string,"cX"), DOF2_GetFloat(string,"cY"), DOF2_GetFloat(string,"cZ")))SendClientMessage(playeridvermelho"Você não está perto de uma casa."); 



Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

Manim n entendi olha,

PHP Code:
if(!IsPlayerInRangeOfPoint(playerid1.0DOF2_GetFloat(string,"cX"), DOF2_GetFloat(string,"cY"), DOF2_GetFloat(string,"cZ"))) SendClientMessage(playeridvermelho"Você não está perto de uma casa.") continue ; 
Erros

C:\Users\Samuel\Documents\Diversos\BVV\gamemodes\S ERVERMUKA.pwn(793) : error 001: expected token: ";", but found "continue"
C:\Users\Samuel\Documents\Diversos\BVV\gamemodes\S ERVERMUKA.pwn(794) : warning 225: unreachable code

[Desculpa o incomodo]


Re: Ajuda rapida em /comprarcasa - rjjj - 02.03.2018

Apague tudo desde SendClientMessage atй o final da linha. Depois escreva continue; nesse mesmo lugar e teste o cуdigo .



Apesar de o procedimento nгo estar finalizado, vocк perceberб que jб terб sucesso na compra de outras casas alйm da de ID 0.



Espero ter ajudado .


Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

A man n funcionou n cara mas msm assim vlw


Re: Ajuda rapida em /comprarcasa - rjjj - 02.03.2018

Desculpe por eu ter apagado uma postagem. Expressar por palavras modificaзхes que devem ser feitas em cуdigos й complicado .



Eu estou sem o necessбrio aqui para editar um cуdigo correto e funcional para vocк. Outro membro do fуrum, porйm, deve entender o que deve ser feito e aplicar as devidas correзхes para vocк. Й uma questгo de lуgica de programaзгo.



Espero ter ajudado .


Re: Ajuda rapida em /comprarcasa - GuiKommander - 02.03.2018

Uй, como vocк quer percorrer O maior Nъmero de casas sabendo que vocк nгo Tб usando nem nas localizaзхes?
Pega meu cуdigo de exemplo (nгo posso mandar Comando Inteiro do Meu /COMPRARCASA
PHP Code:
CMD:comprarcasa(playeridparams[]){
    for(new 
cMAX_CASAS; ++c)
    {
        if(
IsPlayerInRangeOfPoint(playerid3.0Info_Casa[c][PosicaoCasaX], Info_Casa[c][PosicaoCasaY], Info_Casa[c][PosicaoCasaZ]))
        {
            
// Cуdigo
            
return 1;
        }
    }
    return 
1;




Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

Entao man ja tentei assim mas mesmo assim n esta indo se eu usar a casa id 0 funciona agr as em diantes n


Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

Essas sao as funçoes que eu uso

PHP Code:
if(CasaInfo[i][Comprada] != 1)
if(
PlayerInfo[playerid][DonoCasa] != 1)
if(
IsPlayerInRangeOfPoint(playerid3.0CasaInfo[i][cX], CasaInfo[i][cY], CasaInfo[i][cZ])) 
mas se eu colocar return o cmd buga


Re: Ajuda rapida em /comprarcasa - GuiKommander - 02.03.2018

Mande a sua Enum CasaInfo.


Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

enum InfoCasa
{
IDCasa,
Dono[MAX_PLAYER_NAME],
Float:cX,
Float:cY,
Float:cZ,
cInt,
Float:ciX,
Float:ciY,
Float:ciZ,
VirtualWorld,
Preco,
Trancada,
PickupID,
Comprada,
Text3D:TextLabel,
MapIcon
};


Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

Up alguem ae para me ajudar?


Re: Ajuda rapida em /comprarcasa - GuiKommander - 02.03.2018

Coloque o Cуdigo
Dentro de :
[PHP]
//Code
[*/PHP] // Nesse aqui vocк tira apenas o asteristico.
PHP Code:
enum InfoCasa
{
IDCasa,
Dono[MAX_PLAYER_NAME],
Float:cX,
Float:cY,
Float:cZ,
cInt,
Float:ciX,
Float:ciY,
Float:ciZ,
VirtualWorld,
Preco,
Trancada,
PickupID,
Comprada,
Text3D:TextLabel,
MapIcon
}
new 
CasaInfo[MAX_CASAS][InfoCasa]; 



Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

qual o cod do /comprarcasa?


Re: Ajuda rapida em /comprarcasa - GuiKommander - 02.03.2018

Use como base, jб te dei o cуdigo das news ali encima.
PHP Code:
CMD:comprarcasa(playeridparams[])
{
    for(new 
cMAX_CASASc++)
    {
        if(
IsPlayerInRangeOfPoint(playerid3.0InfoCasa[c][x], InfoCasa[c][y], InfoCasa[c][z]))
        {
            
//Funзгo
        
}
    }
    return 
1;




Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 02.03.2018

sim cara mas para mim mandar a mensagem de erro eu estou falando

PHP Code:
CMD:comprarcasa(playeridparams[])
{
    for(new 
cMAX_CASASc++)
    {
        if(
IsPlayerInRangeOfPoint(playerid3.0InfoCasa[c][x], InfoCasa[c][y], InfoCasa[c][z]))
// verifica e mandar a mensagem do erro ex "Você não está em uma casa"
        
{
            
//Funзгo
        
}
    }
    return 
1;




Re: Ajuda rapida em /comprarcasa - GuiKommander - 03.03.2018

PHP Code:
CMD:comprarcasa(playeridparams[])
{
    for(new 
cMAX_CASASc++)
    {
        if(
IsPlayerInRangeOfPoint(playerid3.0InfoCasa[c][x], InfoCasa[c][y], InfoCasa[c][z]))
        {
            
//Funзгo
        
}
        else{
        
SendClientMessage(playerid, -1"| ERRO | Vocк nгo estб em uma casa !");
        }
    }
    return 
1;




Re: Ajuda rapida em /comprarcasa - SamuelMatheus05 - 03.03.2018

error 029: invalid expression, assumed zero

deu esse erro manim

[Desculpa o incomodo ae pra vc]


Re: Ajuda rapida em /comprarcasa - GuiKommander - 03.03.2018

qual linha ta dando erro? Nгo..
Estou aqui pra te ajudar.