[Pedido] Sistema de rp
#1

Olб galera tudo bem com vocкs? gostaria de pedir pra vocкs ou se tem algum link de um fs parecido com esse RP.

Ex: /rp

[Respawn - Todos os veнculos irгo respawnar em 30 Segundos]
Dps de 10 sug. [Respawn - Todos os veнculos irгo respawnar em 20 segundos]
Dps dos + 10 sug [Respawn - Todos os veнculos irгo respawnar em 10 segundos]

no fim [ Todos os veнculos sem uso foram respawnados com sucesso]

Se alguйm poder fazer em strcmp eu agradeceria muito, fiquem com deus.
Reply
#2

Eae mano. da p fazer um loop assim:


PHP код:
            new bool:unwanted[MAX_VEHICLES];
            for(new 
player=0player<MaiorIDplayer++)
             {
                if(
unwanted[GetPlayerVehicleID(player)]=true; }
             }
            for(new 
car 1car <= MAX_VEHICLEScar++)
            {
                if(!
unwanted[car]) SetVehicleToRespawn(car);
            } 
Reply
#3

Fazer, eu nгo faзo. Mas vou te dar a dica de como fazer.
Existe uma callback que faz a verificaзгo se o veнculo estб ocupado ou nгo.

PHP код:
stock IsVehicleOccupied(vehicleid)
{
    foreach(
Player,i)
    {
        if(
IsPlayerInAnyVehicle(i))
        {
            if(
GetPlayerVehicleID(i)==vehicleid)
            {
                return 
1;
            }
            else
            {
                return 
0;
            }
        }
    }

Ela estб com foreach, se vocк nгo usa, basta substituir pelo loop simples.
Com ela, vocк verifica se o veнculo estб ocupado ou nгo.

Entгo, basicamente, vocк precisa fazer a verificaзгo se todos os veнculos criados no jogo tem ocupante ou nгo.
Com uma simples funзгo de condiзгo, vocк faz isso.

PHP код:
if(!IsVehicleOccupied(vehicleid)) return SpawnVehicle(vehicleid); 
Este й o exemplo.
Lembrando que vocк deverб substituir vehicleid pela numeraзгo obtida no loop e tambйm a funзгo SpawnVehicle.

Feito isso, vocк terб o seu comando funcionando.
Caso queira, vocк tambйm pode pesquisar pela funзгo que verifica IsVehicleOccupied que vocк encontra algo do tipo.
Reply
#4

Nгo hб como vocк pedir algo assim, VOCК й quem deve fazк-lo. Seria necessбrio vocк adaptar o respawn ao seu sistema de salvamento de veнculos, o que ninguйm pode fazer porque nгo conhece seu gamemode.

Й atй possнvel conseguir o que vocк quer com esses cуdigos acima, mas, acredite, seu gamemode parecerб bugado.
Reply
#5

O que eu fiz pra vc n vai ser nada de diferente aqui, Eu apenas coloque um timer de 30 segundos para da respawn e todos os veнculos sem uso. Ate porque 1 jб colocou a mesma opзгo que eu citei e + 2 que ngm citou, e tbm ninguйm fez o codigo ate agora. :/

PHP код:
#include <a_samp>
#include <sscanf2>
#include <foreach>
#include <zcmd>
main() {}
new 
RespawnTimer;
public 
OnGameModeInit()
{
    
AddPlayerClass(01958.37831343.157215.3746269.1425000000);
    return 
1;
}
forward RespawnVeiculos();
public 
RespawnVeiculos()
{
    new 
string[30];
    if(
Timer == 0)
    {
        for(new 
0MAX_VEHICLESi++)
        {
            if(!
IsVehicleOccupied(i))
            {
                
KillTimer(Respawn);
                
SetVehicleToRespawn(i);
                
SendClientMessageToAll(0x33AAFFFF"| INFO-SERVER | Todos veнculos sem uso foi respawnados com sucesso!");
                break;
            }
        }
    }
    
format(stringsizeof(string), "~b~~h~RESPAWN VEICULOS ~w~%d"Timer);
    
GameTextForAll(string10004);
    
Timer--;
    return 
1;
}
IsVehicleOccupied(vehicleid)
{
    foreach(
Playeri)
    {
       if(
IsPlayerInVehicle(ivehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
          return 
1;
    }
    return 
0;
}
CMD:rp(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid))
        return 
SendClientMessage(playerid0xFF0000FF"| ERRO | Vocк nгo tem permissгo!");
    if(
sscanf(params"d"Timer))
        return 
SendClientMessage(playerid0xFF0000FF"| ERRO | Use: /RP [ TEMPO ]");
    
Respawn SetTimerEx("RespawnVeiculos"1000true"d"Timer);
    return 
1;

estб por zcmd, Eu sei que funciona ingame, porйm esse e diferenciado tem que dar

/RP [TEMPO]

/RP 20 - 20 Segundos para dar respawn.

Reply
#6

Quote:
Originally Posted by AutoMatic2
Посмотреть сообщение
O que eu fiz pra vc n vai ser nada de diferente aqui, Eu apenas coloque um timer de 30 segundos para da respawn e todos os veнculos sem uso. Ate porque 1 jб colocou a mesma opзгo que eu citei e + 2 que ngm citou, e tbm ninguйm fez o codigo ate agora. :/

PHP код:
#include <a_samp>
#include <sscanf2>
#include <foreach>
#include <zcmd>
main() {}
new 
RespawnTimer;
public 
OnGameModeInit()
{
    
AddPlayerClass(01958.37831343.157215.3746269.1425000000);
    return 
1;
}
forward RespawnVeiculos();
public 
RespawnVeiculos()
{
    new 
string[30];
    if(
Timer == 0)
    {
        for(new 
0MAX_VEHICLESi++)
        {
            if(!
IsVehicleOccupied(i))
            {
                
KillTimer(Respawn);
                
SetVehicleToRespawn(i);
                
SendClientMessageToAll(0x33AAFFFF"| INFO-SERVER | Todos veнculos sem uso foi respawnados com sucesso!");
                break;
            }
        }
    }
    
format(stringsizeof(string), "~b~~h~RESPAWN VEICULOS ~w~%d"Timer);
    
GameTextForAll(string10004);
    
Timer--;
    return 
1;
}
IsVehicleOccupied(vehicleid)
{
    foreach(
Playeri)
    {
       if(
IsPlayerInVehicle(ivehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
          return 
1;
    }
    return 
0;
}
CMD:rp(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid))
        return 
SendClientMessage(playerid0xFF0000FF"| ERRO | Vocк nгo tem permissгo!");
    if(
sscanf(params"d"Timer))
        return 
SendClientMessage(playerid0xFF0000FF"| ERRO | Use: /RP [ TEMPO ]");
    
Respawn SetTimerEx("RespawnVeiculos"1000true"d"Timer);
    return 
1;

estб por zcmd, Eu sei que funciona ingame, porйm esse e diferenciado tem que dar

/RP [TEMPO]

/RP 20 - 20 Segundos para dar respawn.

Valeu meu querido.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)