Sistema de rp -
LUCASSSS - 07.02.2019
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.
Re: Sistema de rp -
zGuigui2068 - 07.02.2019
Eae mano. da p fazer um loop assim:
PHP код:
new bool:unwanted[MAX_VEHICLES];
for(new player=0; player<MaiorID; player++)
{
if(unwanted[GetPlayerVehicleID(player)]=true; }
}
for(new car = 1; car <= MAX_VEHICLES; car++)
{
if(!unwanted[car]) SetVehicleToRespawn(car);
}
Re: Sistema de rp -
ipsLuan - 07.02.2019
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.
Re: Sistema de rp -
gregK - 07.02.2019
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.
Re: Sistema de rp -
AutoMatic2 - 07.02.2019
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 Respawn, Timer;
public OnGameModeInit()
{
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
forward RespawnVeiculos();
public RespawnVeiculos()
{
new string[30];
if(Timer == 0)
{
for(new i = 0; i < MAX_VEHICLES; i++)
{
if(!IsVehicleOccupied(i))
{
KillTimer(Respawn);
SetVehicleToRespawn(i);
SendClientMessageToAll(0x33AAFFFF, "| INFO-SERVER | Todos veнculos sem uso foi respawnados com sucesso!");
break;
}
}
}
format(string, sizeof(string), "~b~~h~RESPAWN VEICULOS ~w~%d", Timer);
GameTextForAll(string, 1000, 4);
Timer--;
return 1;
}
IsVehicleOccupied(vehicleid)
{
foreach(Player, i)
{
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
return 1;
}
return 0;
}
CMD:rp(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo tem permissгo!");
if(sscanf(params, "d", Timer))
return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /RP [ TEMPO ]");
Respawn = SetTimerEx("RespawnVeiculos", 1000, true, "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.
Re: Sistema de rp -
LUCASSSS - 07.02.2019
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 Respawn, Timer;
public OnGameModeInit()
{
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
forward RespawnVeiculos();
public RespawnVeiculos()
{
new string[30];
if(Timer == 0)
{
for(new i = 0; i < MAX_VEHICLES; i++)
{
if(!IsVehicleOccupied(i))
{
KillTimer(Respawn);
SetVehicleToRespawn(i);
SendClientMessageToAll(0x33AAFFFF, "| INFO-SERVER | Todos veнculos sem uso foi respawnados com sucesso!");
break;
}
}
}
format(string, sizeof(string), "~b~~h~RESPAWN VEICULOS ~w~%d", Timer);
GameTextForAll(string, 1000, 4);
Timer--;
return 1;
}
IsVehicleOccupied(vehicleid)
{
foreach(Player, i)
{
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
return 1;
}
return 0;
}
CMD:rp(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Vocк nгo tem permissгo!");
if(sscanf(params, "d", Timer))
return SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Use: /RP [ TEMPO ]");
Respawn = SetTimerEx("RespawnVeiculos", 1000, true, "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.