Eae galera da ssgamers, eu sou o Galarc e estou aqui para fazer alguns tutoriais pra vocês, serão 3. Irei ensinar alguns códigos básicos aqui, ou seja, vai servir
apenas para novatos, e não pra quem já é antigo, mas claro, também pode servir de estudos pra quem já é antigo. Os tutoriais serão para criar e fazer funcionar portões
pelo mapa (pode ser em hq de org, hq de família, isso quem vai determinar é você), sistema de teleporte e por fim um sistema de rádio simples.
Sistema de portão:
Primeiramente, você deve obter o código de criação do portão, isso você pode conseguir com algum filterscript de mapeação, e caso você seja pc também vai conseguir pelo
Samp Map Editor (só procurar na internet que acha). Após você determinar a posição do portão, você vai receber um código parecido com esse:
(caso esteja com o plugin streamer)
Irei dar uma breve explicação do createobject, se quiser pode pular essa parte pois não é muito importante. O CreateObject como diz seu próprio nome, cria um objeto
no mapa, onde 980 será o id do objeto (no caso 980 é um tipo de portão), -1422 será a coordenada x, 494.5 a coordenada y, 4.8 a coordenada z (que determina a altura do objeto)
o primeiro 0 determina a coordenada rx (rotação x), o segundo ry (rotação y) e o 270 determina o rz (rotação z), após esse 270 você também pode determinar a draw distance
do objeto, mas se não for determinada ela terá o valor de 0.
Após você pegar o código de criação do objeto, deve colocar ele na public OnGameModeInit, que quando o servidor iniciar ele já vai criar o objeto, mas antes você deve
criar uma variável para ter o valor dele, ela vai servir para "pegarmos o id" depois.
no topo da gamemode coloque:
dentro da OnGameModeInit:
Após isso devemos criar o comando que vai mover o objeto, ou melhor, o portão (usei a include zcmd para isso):
Também criaremos essa callback, que vai servir para mover o objeto para seu local de origem:
Vocês também podem colocar outras funções dentro dessas acima, como por exemplo colocar um Game Text na tela do player que abrir, ou até mesmo um som.
apenas para novatos, e não pra quem já é antigo, mas claro, também pode servir de estudos pra quem já é antigo. Os tutoriais serão para criar e fazer funcionar portões
pelo mapa (pode ser em hq de org, hq de família, isso quem vai determinar é você), sistema de teleporte e por fim um sistema de rádio simples.
Sistema de portão:
Primeiramente, você deve obter o código de criação do portão, isso você pode conseguir com algum filterscript de mapeação, e caso você seja pc também vai conseguir pelo
Samp Map Editor (só procurar na internet que acha). Após você determinar a posição do portão, você vai receber um código parecido com esse:
- Código:
CreateObject(980, -1422, 494.5, 4.8, 0, 0, 270); ou CreateDynamicObject(980, -1422, 494.5, 4.8, 0, 0, 270);
(caso esteja com o plugin streamer)
Irei dar uma breve explicação do createobject, se quiser pode pular essa parte pois não é muito importante. O CreateObject como diz seu próprio nome, cria um objeto
no mapa, onde 980 será o id do objeto (no caso 980 é um tipo de portão), -1422 será a coordenada x, 494.5 a coordenada y, 4.8 a coordenada z (que determina a altura do objeto)
o primeiro 0 determina a coordenada rx (rotação x), o segundo ry (rotação y) e o 270 determina o rz (rotação z), após esse 270 você também pode determinar a draw distance
do objeto, mas se não for determinada ela terá o valor de 0.
Após você pegar o código de criação do objeto, deve colocar ele na public OnGameModeInit, que quando o servidor iniciar ele já vai criar o objeto, mas antes você deve
criar uma variável para ter o valor dele, ela vai servir para "pegarmos o id" depois.
no topo da gamemode coloque:
- Código:
new PortaoTutorial;
dentro da OnGameModeInit:
- Código:
PortaoTutorial = CreateObject(980, -1422, 494.5, 4.8, 0, 0, 270);// (aqui você vai colocar o código de criação do seu objeto)
Após isso devemos criar o comando que vai mover o objeto, ou melhor, o portão (usei a include zcmd para isso):
- Código:
CMD:ptutorial(playerid)// aqui será o comando para abrir o portão
{
if(Coloque o que é necessário aqui dentro)// Dentro desse if você pode colocar o que é necessário pra abrir esse portão, ou seja, necessário ser cop, ser gang, ou ser de família, ou estar em um certo local (usando o PlayerToPoint).
{
MoveObject(PortaoTutorial, -1422, 494.5, 4.8, 3, 0, 0, 270);//isso aqui move o objeto para o novo local, porém o código é um pouco diferente do createobject, PortaoTutorial é a variável que definimos para o portão, -1422 vai ser a coordenada x nova, 494.5 será a y nova, 4.8 será a z nova, 3 será a velocidade em que o objeto vai se mover, 0 a rx nova, o segundo zero a ry nova e o 270 a rz nova.
SetTimer("FecharPortao", 10000, false);//Esse é o timer que vai chamar a função FecharPortao, ou seja, vai fazer o portão se mover novamente ao seu local de origem, 10000 é o tempo em que ele vai voltar, cada 1k corresponde a 1 segundo, ou seja, ele vai voltar em 10 segundos
}
return 1;//Esse é o retorno final, sempre coloque 1 pra não dar Palavrão bloqueado
}
Também criaremos essa callback, que vai servir para mover o objeto para seu local de origem:
- Código:
forward FecharPortao();
public FecharPortao()
{
MoveObject(PortaoTutorial, -1422, 494.5, 4.8, 3, 0, 0, 270);//isso vai fazer o portão voltar ao seu local de origem, é só colocar as coordenadas do create object normalmente, mas claro, colocando a velocidade no local correto
return 1;
}
Vocês também podem colocar outras funções dentro dessas acima, como por exemplo colocar um Game Text na tela do player que abrir, ou até mesmo um som.
PS: Qualquer duvida, comente no topico.
Creditos:
Galarc_Hale