Há um bom tempo que olhei diversas postagens, tanto aqui no portal samp como em outros sites, à procura de um filterscript para listagem de interiores. Com isso, criei um FS básico que será bem útil para quem não gosta de ficar procurando coordenadas de interiores do game na internet.
Não é 100% dos interiores do game, com 93 interiores bem interessantes para ser listado de um forma pratica, rápida e in-game, assim o programador tento uma eficaz e uma melhor produtividade com seu tempo em buscas de interiores, e ajudando nos teste de colisão, detalhes do interior, etc.
Olá, hoje venho trazer um sistema que eu fiz dei uma testada não encontrei bugs, porem pode ocorrer algum tipo de bug simples pelo motivo de ter feito e testado rapido de mais.
Sistema de Arena Privada, onde um jogador cria uma "Sala" com uma senha, arma, local e quantidade de jogadores definido por ele mesmo!.
Caso tenha bug me reporte para eu esta corrigindo!.
Espero que todos gostem, Pois sou um script iniciante ainda.
Bom estou com este problema "(76969) : loose indentation", neste comando!!!!
Alguem me poderia ajudar?
Código:
CMD:bloquearn(playerid, params[])
{
if(gPlayerLogged[playerid] == 0) { return SendClientMessage(playerid, 0xff6347FF, "* Você não está conectado."); }
new tempo, result[64];
if(sscanf(params, "uds[64]", giveplayerid, tempo, result))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /bloquearan [Id/Nick] [Tempo (Em minutos 1 - 999)] [Motivo]");
return true;
}
if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pAdminTemp] < 1)
{
SendClientMessage(playerid, COLOR_GREY, "Você não esta autorizado a usar este comando!");
return true;
}
if(IsPlayerConnected(giveplayerid))
{
if(!admtrampando[playerid])
return SendClientMessage(playerid, COLOR_GRAD1, "Você não pode usar este comando, pois não está em modo trabalho!");
new string[220], strtempo[12];
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new settempo = PlayerInfo[giveplayerid][pBloqNoob] += tempo*60;
Estava mexendo em sistema aqui, e quando fui no morro, vi que quando alguma organização ganha e quando é anunciado, fica flodando "Los Vagos ganharam o morro" e fica flodando isso sempre. So dando /guerramorro que o flood para!!!!
Poderiam me ajudar???
Fala galera do Portal SAMP, hoje irei ensinar a como fazer um Anti Spawn Kill, o tutorial é pequeno mas é muito útil.
Em OnPlayerSpawn iremos adicionar:
Código:
public OnPlayerSpawn(playerid)
{
SetPlayerHealth(playerid, 999999);
SendClientMessage(playerid, -1, "Você está protegido contra Spawn Kill por 5 segundos.");
SetTimerEx("EndAntiSpawnKill", 5000, false, "i", playerid);
return 1;
}
A função SetPlayerHealth definirá a saúde do jogador para 999999, ou seja muito alta para que ele não possa ser morto.
A função SendClientMessage irá avisar para o jogador que ele está protegido.
A função SetTimerEx irá setar um timer de 5 segundos para a vida do jogador voltar ao normal, o timer irá repetir apenas uma vez.
Código:
forward EndAntiSpawnKill(playerid);
public EndAntiSpawnKill(playerid)
{
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, -1, "Você não está mais protegido contra Anti Spawn Kill");
return 1;
}
forward EndAntiSpawnKill(playerid) será utilizada para a public poder funcionar.
public EndAntiSpawnKill(playerid) é a função do timer o código vai ser executado quando passar 5 segundos.[/size]
SetPlayerHealth(playerid, 100) irá retornar a vida do jogador para 100% (vida normal).
SendClientMessage(playerid, -1, "Você não está mais protegido contra Anti Spawn Kill irá avisar o jogador que o anti spawn kill acabou.
Bom esse foi meu tutorial espero que tenham gostado, ele é símples mas irá ajudar muitas pessoas.
Eu peguei um exemplo de como destruir um objeto com arma, no entanto, queria saber como que faço para que o jogador atinga o objeto 10 vezes, assim, ao alcançar a meta de 10 "batidas" no objeto ele seja destruído?
Código PHP:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) { if(weaponid == WEAPON_CHAINSAW) { if(hittype == BULLET_HIT_TYPE_OBJECT) // vendo qual foi o tipo de acerto player ou objeto se for objeto continua { if(IsValidObject(hitid) == Object) // verificando se objeto é valido { SendClientMessage(playerid, -1, "Você destruiu."); // acerto objeto com tiro DestroyObject(Object); // removendo objeto do jogo } } } return 1; }