[Ajuda] Ajuda rapida em /comprarcasa
#1

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.
Reply
#2

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 .
Reply
#3

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."); 
Reply
#4

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]
Reply
#5

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 .
Reply
#6

A man n funcionou n cara mas msm assim vlw
Reply
#7

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 .
Reply
#8

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;

Reply
#9

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

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
Reply
#11

Mande a sua Enum CasaInfo.
Reply
#12

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
};
Reply
#13

Up alguem ae para me ajudar?
Reply
#14

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]; 
Reply
#15

qual o cod do /comprarcasa?
Reply
#16

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;

Reply
#17

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;

Reply
#18

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;

Reply
#19

error 029: invalid expression, assumed zero

deu esse erro manim

[Desculpa o incomodo ae pra vc]
Reply
#20

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


Forum Jump:


Users browsing this thread: 4 Guest(s)