SA-MP Forums Archive
[Ajuda] Sistema de medico - 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] Sistema de medico (/showthread.php?tid=652077)



Sistema de medico - LosLipe - 02.04.2018

PHP код:
         if(strcmp(cmd"/reanimar",true)==0)
    {
        if(
PlayerInfo[playerid][Emprego] == 2)
        {
            if(
GetPlayerSkin(playerid) == 274 || GetPlayerSkin(playerid) == 275 || GetPlayerSkin(playerid) == 276 || GetPlayerSkin(playerid) == 308)
            {
                for(new 
iMAX_PLAYERSi++)
                {
                    new 
FloatxFloatyFloatz;
                    if(
PlayerSolicitoMedico[i] == true)
                    {
                        
GetPlayerPos(ixyz);
                        if(
PlayerToPoint(1.0playeridxyz))
                        {
                            
PlayerASerCurado[playerid] = i;
                             
SendClientMessage(PlayerASerCurado[playerid], -1"O mйdico estб tentando reanima-lo fazendo massagem cardнaca.");
                            
SendClientMessage(playerid, -1"Vocк estб tentando reanimar a vitima fazendo massagem cardнaca");
                            
ApplyAnimation(playerid,"MEDIC","CPR",4.1,0,1,1,1,1);
                            
Controle(playerid0);
                            
PlayerSolicitoMedico[PlayerASerCurado[playerid]] = false;
                            
SetTimerEx("LevaPacAmbulancia"75000"i"playerid);
                            return 
true;
                        } else return 
SendClientMessage(playerid, -1"Vocк nгo estб perto de nenhuma vitima.");
                    } else return 
SendClientMessage(playerid, -1"Nгo tem nenhuma vitima no momento.");
                }
            } else return 
SendClientMessage(playerid, -1"Vocк nгo estб em serviзo.");
        } else return 
SendClientMessage(playerid, -1"Vocк nгo й Mйdico.");
    } 
este comando estava funcionando perfeitamente ai do nada nгo quer entrar na funзгo so estб me retornando "Nгo tem nenhuma vitima no momento.", nгo quer entrar no if(PlayerSolicitoMedico[i] == true) sendo que esta tudo correto e esta verdadeiro a condiзгo mais nгo entra

OBS: Fiz o teste e estб funcionando com um player e com o outro retorna esta mensagem "Nгo tem nenhuma vitima no momento."


Re: Sistema de medico - arakuta - 02.04.2018

Verifique se ao solicitar um mйdico a variбvel fica verdadeira.


Re: Sistema de medico - LosLipe - 02.04.2018

Fica sim, tanto que para o player id 1 funciona quando o player id 0 faz nгo entra naquela condiзгo


Re: Sistema de medico - arakuta - 02.04.2018

Faзa um debug no sistema.


Re: Sistema de medico - arakuta - 02.04.2018

Encontrei o problema. Seu sistema possui redundвncias. Utilize o laзo apenas para encontrar o jogador, depois faзa o restante fora dele. O que estб acontencendo й que se o ID 0 nгo for o solicitante, etc, o sistema vai ignorar o restante dos jogadores. Faзa o seguinte:

PHP код:
PlayerASerCurado[playerid] = -1
for(new 
iMAX_PLAYERSi++) 

    new 
FloatxFloatyFloatz
    if(
PlayerSolicitoMedico[i] == true
    { 
        
GetPlayerPos(ixyz); 
        if(
PlayerToPoint(1.0playeridxyz)) 
        { 
            
PlayerASerCurado[playerid] = i
            break;
        } 
    }
}
// aqui vocк faz as verificaзхes
// por ex
if(PlayerASerCurado[playerid] == -1)
    return 
SendClientMessage(playerid,-1,"Nгo hб jogadores prox querendo medico");
    
// agora possui um PlayerASerCurado[playerid] querendo mйdico e estб prox
// curar, aplicar animaзгo, etc... 
Espero ter ajudado