[AJUDA]Sistema de morte
#1

queria um sistema que quando a pessoa entrace entroca de tiro com um outro jogador apareзa na tela apenas para os COPs o local da troca de tiro....

e quando a pessoa estivece quase morta a pessoa cai no chao que os COPs tem que levar a vitima da troca de tiro para um dos ps (hosptal) para socorrer...logico tendo um tempo mais ou menos de 1 minuto se passar a pessoa vai direto para o hosptal e fica curando mais ou menos 5 minutos


vlw pela ajuda

__________________________________________________ _______________________________________________
HostName: [BMS]Brasil Master Start RPG
Address: 64.191.47.197:7736
Players: ? / 60
Ping: 100
Mode: Brasil Mastar RPG
Map: San Andreas
forum: http://brasilmasterstart.forumeiros.com/
Reply
#2

Estou fazendo um sistema aqui para o seu segundo pedido.

Talvez hoje ou amanhг de manhг eu poste aqui ... Peзo que seja paciente.
Reply
#3

OK mais vlw sei que o sistema vai ser bem dificil vlw msm pela ajuda
Reply
#4

Sei que vocк queria que os policiais fizessem isto, mas achei mais conveniente os mйdicos, para ficar mais Role-Play ...

Fiz o mais rбpido possivel, e devido а hora nгo poderei testar.

Quem achar algum erro, peзo que me avise para eu consertar, por favor.

PHP код:
new MED[MAX_PLAYERS]; //TROQUE AS VARIAVEIS MED PELAS VARIAVEIS QUE DEFINEM OS MEDICOS NO SEU GM
forward Morte();
forward Sair(playerid);
forward Checar(playerid);
public 
OnGameModeInit()
{
    
SetTimer("Morte"7,5*60000true);
    return 
1;
}
public 
Checar(playerid)
{
    if(
GetPVarInt(playerid"Pena") == 1)
    {
        if(
IsPlayerInRangeOfPoint(playerid6.02026.6992, -1408.738616.9922) && GetVehicleModel(GetPlayerVehicleID(playerid)) == 416)
        {
            
SendClientMessage(playerid, -1"Vocк voltou ao veiculo e por isso nгo perdera nenhum dinheiro.");
            
SetPVarInt(playerid"Pena"0);
        }
        else
        {
            
GivePlayerMoney(playerid, -7500);
            
SendClientMessage(playerid, -1"Vocк perdeu 7500 dуlares e caso nгo volte continuarб a perder.");
        }
    }
    return 
1;
}
public 
Sair(playerid)
{
    if(
GetPVarInt(playerid"Curando") == 1)
    {
        
SetPlayerPos(playeridXYZ); //TROQUE PELAS COORDENADAS EM QUE O PACIENTE DEVE FICAR APУS SAIR DO HOSPITAL
        
SendClientMessage(playerid, -1"Vocк acaba de ser curado e perdeu 1000 dуlares por isso.");
        
GivePlayerMoney(playerid, -1000;
        
DeletePVarInt(playerid"Curando");
        return 
1;
    }
    return 
1;
}
public 
Morte()
{
    for(new 
0MAX_PLAYERS++)
    {
        new 
Float:Vn[24], Float:XYZ[3], id;
        if(
MED[i] == 0) return GetPlayerHealth(iVida);
        if(
Vida <= 8)
        {    
            
ApplyAnimation(i,"CRACK""crckdeth2"4.001110);
            
SendClientMessage(i"Vocк estб quase morrendo ! Chame uma ambulвncia: /ambu.");
            
SetPVarInt(i,"Med",1);
            
GetPlayerName(in24);
            
GetPlayerPos(iXYZ[0], XYZ[1], XYZ[2]);
            
id i;
            return 
1;
        }
        if(
MED[i] == && GetPVarInt(i"SMed") == && GetPVarInt(i"Ocupado" == 1)
        {
            new 
str[128];
            
format(strsizeof(str),"%s estб praticamente morrendo ! Siga o checkpoint com uma ambulвncia para salvб-lo.")
            
SendClientMessage(i, -1str);
            
SetPlayerCheckpoint(iXYZ[0], XYZ[1], XYZ[2], 4.0);
            
SetPVarInt(i"Ocupado"1);
            
SetPVarInt(i"User"i);
            return 
1;
        }
    }
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/smed"true) == 0)
    {
        if(
MED[playerid] == 0) return SendClientMessage(playerid, -1"Vocк nгo й medico.");
        if(
GetPVarInt(playerid"SMed") == 1)
        {
            
SetPVarInt(playerid"SMed"0);
            new 
str[100];
            
format(strsizeof(str),"ID %d saiu do serviзo mйdico e estб de folga.");
            
SendClientMessageToAll(-1str);
        else
        {
            
SetPVarInt(playerid"SMed"1);
            new 
str[100];
            
format(strsizeof(str),"ID %d entrou no serviзo mйdico. Agora ele irб te proteger.");
            
SendClientMessageToAll(-1str);
        }
    }
    if(
strcmp(cmdtext"/hospital"true) == 0)
    {
        if(
MED[playerid] == 0) return SendClientMessage(playerid, -1"Vocк nгo й medico.");
        if(
GetPVarInt(playerid"Ocupado") != 2) return SendClientMessage(playerid, -1"Vocк ainda nгo colocou o paciente na ambulвncia.");
        if(
GetPVarInt(GetPVarInt(playerid"User"), "Curando") == 1) return SendClientMessage(playerid, -1"Este jogador jб estб sendo curado.");
        
SetPlayerPos(GetPVarInt(playerid"User"), XYZ); //TROQUE X, Y, Z PELAS COORDENADAS ONDE O PACIENTE DEVE FICAR AO CHEGAR NO HOSPITAL
        
SendClientMessage(GetPVarInt(playerid"User"), -1"Vocк acaba de chegar ao hospital e em instantes serб liberado.");
        
TogglePlayerControllable(GetPVarInt(playerid"User"),1);
        
SendClientMessage(playerid, -1"Parabйns ! Vocк salvou um paciente. Agora vocк estб livre para salvar outras pessoas.");
        
SetPVarInt(playerid"Ocupado"0);
        
SetPVarInt(GetPVarInt(playerid"User"), "Curando"1);
        
SetTimerEx("Sair"300000false"i"GetPVarInt(playerid"User"));
        
GivePlayerMoney(playerid1000);
        
DeletePVar(playerid"User");
        return 
1;
    }
    return 
0;
}
public 
OnPlayerEnterCheckpoint(playerid)
{
    if(
GetPVarInt(playerid"Ocupado") == 1)
    {
        
SendClientMessage(playerid, -1"Vocк chegou ao paciente ! Agora coloque-o em uma ambulвncia e leve-o ao hospital.");
        
SetPlayerCheckpoint(playerid2026.6992, -1408.738616.99224.0);
        return 
1;
    }
    if(
GetPVarInt(playerid"Ocupado") == 2)
    {
        
SendClientMessage(playerid, -1"Vocк chegou no hospital ! Digite /hospital para colocar o paciente no hospital.");
        
DisablePlayerCheckpoint(playerid);
        return 
1;
    }
    return 
1;
}
public 
OnPlayerStateChange(playerid,newstate,oldstate)
{
    if(
newstate == 2)
    {
        if(
GetPVarInt(playerid"Ocupado") == 1)
        {
            if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 416)
            {
                
SendClientMessage(playerid, -1"Vocк acaba de entrar na ambulвncia e o paciente estб na parte de trбs ! Caso nгo chegue rбpido ao hospital, ele morrerб.");
                
SendClientMessage(GetPVarInt(playerid"User"), -1"Vocк foi colocado dentro da ambulвncia e serб levado ao hospital.");
                
PutPlayerInVehicle(GetPVarInt(playerid"User"), GetPlayerVehicleID(playerid), 3);
                
TogglePlayerControllable(GetPVarInt(playerid"User"),0);
                
SetPVarInt(playerid"Ocupado"2);
            }
            else
            {
                
RemovePlayerFromVehicle(playerid);
                
SendClientMessage(playerid, -1"Vocк sу pode levar o paciente em uma ambulвncia !");
            }
        }
        return 
1;
    }
    if(
oldstate == && GetPVarInt(playerid"Ocupado") == && !IsPlayerInRangeOfPoint(playerid6.02026.6992, -1408.738616.9922))
    {
        
SendClientMessage(playerid, -1"Vocк saiu da ambulвncia sem deixar o paciente no hospital.");
        
SendClientMessage(playerid, -1"Volte para o veiculo ou vocк serб penalizado em 7500 dуlares !");
        
SetPVarInt(playerid"Pena"1);
        
SetTimerEx("Checar"30000false"i"playerid);
        return 
1;
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)