4 de janeiro de 2021

SAMP: Navio Pirata controlável com comandos (command-controlled pirate ship)

 O seguinte script recria o navio pirata de Las Venturas com alguns enfeites e controlado por comandos na caixa de texto do chat.

Sem limites de distância ou filtros de classe para operar o navio.

EN: The following script remakes the pirate ship of Las Venturas with a few ornament and controlled by commands in the chat. No class-filters or distance limits for control.

The followiong lines are used in OnGameModeInit()

{ // NAVIO PIRATA

- comentarios em portugues and comments in english

new Npirata = CreateObject(8493, 365.0259,-2125.4492,17.0, 0,0,0); // 19 nesse caso eh o id de objeto, a o numero desse objeto apos todos os outros, deve ser lembrado para substituir para o especifico do seu script mais aa frente. Essas coordenadas colocam o navio na roda gigante de Santa Maria Beach.

// 19 - nineteen is the objectid, remind to replace by the order in which this object is created. The coordinates are for Santa Maria Beach ferris wheel.

new pirataVelas = CreateObject(9159, 365.0259,-2111.4492,15.0, 0,0,0); 

new pirataCordas = CreateObject(8981, 365.0259,-2111.4492,15.0, 0,0,0);

         // sails and ropes are created and attached. Feel free to attach anything else you find necessary BELOW this line

        //as cordas e as velas sao adicionadas, senta-se aa vontade para colocar o que mais quiser ABAIXO dessa linha

AttachObjectToObject(pirataVelas, Npirata, 0,0,0, 0,0,0, 1);

AttachObjectToObject(pirataCordas, Npirata, -0.6,-6.2,-0.5, 0,0,0, 1);

}

The following lines are used in OnPlayerCommandText()

//                      COMANDOS DO NAVIO PIRATA


  //

// GUINADA DO  navio pirata - YAWING

if(strcmp(cmdtext,"/npd")==0) // para a direita - TO THE RIGHT

// a partir desta linha substitua o numero em "(19" pelo numero de objeto do casco no seu script

//from this line all the way to the end of the script replace the number in '(19' by the objectid of your hull: new Npirata

{

new Float:RotX, Float:RotY, Float:RotZ;

new Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z); 

GetObjectRot(19, RotX, RotY, RotZ);

switch(RotZ)

{

case 180.0:

{

MoveObject(19, x-20, y-20, z, 0.9, RotX, RotY, 90);

}

case 270.0:

{

MoveObject(19, x+20, y-20, z, 0.9, RotX, RotY, 180);

}

case 0.0:

{

MoveObject(19, x+20, y+20, z, 0.9, RotX, RotY, 270);

}

case 90.0:

{

MoveObject(19, x-20, y+20, z, 0.9, RotX, RotY, 0);

}


}//switch

SendClientMessageToAll(-1, "proa para estibordo, NP"); 

//uma mensagem para que todos os jogadores do servidor saibam o que o navio esta fazendo

// this is a message for all players stating what the ship is doing

return 1;

}//direita


if(strcmp(cmdtext,"/npe")==0) // para a esquerda // yawing to the left

{

new Float:RotX, Float:RotY, Float:RotZ;

new Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

GetObjectRot(19, RotX, RotY, RotZ);

switch(RotZ)

{

case 180.0:

{

MoveObject(19, x+20, y-20, z, 0.9, RotX, RotY, 270);

}

case 270.0:

{

MoveObject(19, x+20, y+20, z, 0.9, RotX, RotY, 0);

}

case 0.0:

{

MoveObject(19, x-20, y+20, z, 0.9, RotX, RotY, 90);

}

case 90.0:

{

MoveObject(19, x-20, y+20, z, 0.9, RotX, RotY, 180);

}


}//switch

SendClientMessageToAll(-1, "proa para bombordo, NP");

return 1;

}//esquerda


if(strcmp(cmdtext,"/npf")==0) //comando do  navio pirata devagar para a frente - slow ahead

{

new Float:RotX, Float:RotY, Float:RotZ, Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

GetObjectRot(19, RotX, RotY, RotZ);

SendClientMessageToAll(-1, "Devagar a frente, NP");

switch (RotZ) // soma  ou subtrai x ou y dependendo da proa do  navio pirata

  {

  case 270.0: // proa em graus

  {

MoveObject(19, x+10000, y, z, 2.0);

return 1;

}

case 0.0:

{

MoveObject(19, x, y+10000, z, 2.0);

return 1;

}

case 90.0:

{

MoveObject(19, x-10000, y, z, 2.0);

return 1;

}

case 180.0:

{

MoveObject(19, x, y-10000, z, 2.0);

return 1;

}

}//switch

/////////////////////////////////////

} // IF a frente



if(strcmp(cmdtext,"/npff")==0) //comando do  navio pirata para frente - mid speed ahead

{

new Float:RotX, Float:RotY, Float:RotZ, Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

GetObjectRot(19, RotX, RotY, RotZ);

    SendClientMessageToAll(-1, "Velocidade mediana a frente, NP");

switch (RotZ) // soma  ou subtrai x ou y dependendo da proa do  navio1

  {

case 270.0: // proa em graus

    {

MoveObject(19, x+10000, y, z, 9.0);

return 1;

}

case 0.0:

{

MoveObject(19, x, y+10000, z, 9.0);

return 1;

}

case 90.0:

{

MoveObject(19, x-10000, y, z, 9.0);

return 1;

}

case 180.0:

{

MoveObject(19, x, y-10000, z, 9.0);

return 1;

}

}//switch


/////////////////////////////////////

} // IF a frente


if(strcmp(cmdtext,"/npfff")==0) //comando do  navio pirata rapido para frente - full speed ahead

{

new Float:RotX, Float:RotY, Float:RotZ, Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

GetObjectRot(19, RotX, RotY, RotZ);

    SendClientMessageToAll(-1, "Toda velocidade a frente, NP");

switch (RotZ) // soma  ou subtrai x ou y dependendo da proa do  navio1

  {

case 270.0: // proa em graus

    {

MoveObject(19, x+10000, y, z, 15.0);

return 1;

}

case 0.0:

{

MoveObject(19, x, y+10000, z, 15.0);

return 1;

}

case 90.0:

{

MoveObject(19, x-10000, y, z, 15.0);

return 1;

}

case 180.0:

{

MoveObject(19, x, y-10000, z, 15.0);

return 1;

}

}//switch

} //IF muito a frente


if(strcmp(cmdtext,"/npr")==0) //comando do  navio pirata para trás - reverse

{

new Float:RotX, Float:RotY, Float:RotZ, Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

GetObjectRot(19, RotX, RotY, RotZ);

    SendClientMessageToAll(-1, "Reversao, NP");

switch (RotZ) // soma  ou subtrai x ou y dependendo da proa do  navio pirata

  {

  case 270.0: // proa em graus

    {

MoveObject(19, x-10000, y, z, 2.0);

return 1;

}

case 0.0:

{

MoveObject(19, x, y-10000, z, 2.0);

return 1;

}

case 90.0:

{

MoveObject(19, x+10000, y, z, 2.0);

return 1;

}

case 180.0:

{

MoveObject(19, x, y+10000, z, 2.0);

return 1;

}

}//switch

} // IF a ré


if(strcmp(cmdtext,"/npld")==0) //comando do  navio pirata derivar a direita - SWAY to the right

{

new Float:RotX, Float:RotY, Float:RotZ, Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

GetObjectRot(19, RotX, RotY, RotZ);

SendClientMessageToAll(-1, "Derivando a estibordo, NP");

switch (RotZ) // soma  ou subtrai x ou y dependendo da proa do  navio pirata

  {

case 270.0: // proa em graus

    {

MoveObject(19, x, y-100, z, 1.0);

return 1;

}

case 0.0:

{

MoveObject(19, x+100, y, z, 1.0);

return 1;

}

case 90.0:

{

MoveObject(19, x, y+100, z, 1.0);

return 1;

}

case 180.0:

{

MoveObject(19, x-100, y, z, 1.0);

return 1;

}

}//switch

} // IF a lateral direita


if(strcmp(cmdtext,"/nple")==0) //comando do  navio pirata derivar aa esquerda - SWAY to the left

{

new Float:RotX, Float:RotY, Float:RotZ, Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

GetObjectRot(19, RotX, RotY, RotZ);

SendClientMessageToAll(-1, "Derivando a bombordo, NP");

switch (RotZ) // soma  ou subtrai x ou y dependendo da proa do  navio pirata

  {

  case 270.0: // proa em graus

    {

MoveObject(19, x, y+100, z, 1.0);

return 1;

}

case 0.0:

{

MoveObject(19, x-100, y, z, 1.0);

return 1;

}

case 90.0:

{

MoveObject(19, x, y-100, z, 1.0);

return 1;

}

case 180.0:

{

MoveObject(19, x+100, y, z, 1.0);

return 1;

}

}//switch

} // IF a lateral esquerda


if(strcmp(cmdtext,"/npp")==0) //comando do  navio pirata PARAR - STOP

{

new Float:x, Float:y, Float:z;

GetObjectPos(19, x, y, z);

MoveObject(19, x, y, z, 0.5);

SendClientMessageToAll(-1, "Cessando movimento, NP");

return 1;

} // IF PARADO

//////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////

// FIM DOS COMANDOS DO  navio pirata

//--------------------------------------------------------------------

//--------------------------------------------------------------------

SAMP

 Estive criando meu próprio servidor de SAMP para jogar entre amigos. Recentemente voltei a jogar e descobri que o forum e a wiki não existem mais. Para evitar esses inconvenientes e manter algum legado das minhas criações estarei incluindo nesse blog algumas informações pertinentes a San Andreas MultiPlayer.

9 de setembro de 2018

Foto estranha no jogo

Há uma foto muito estranha presente nos quadros de algumas casas de GTA SA.


Retirada das texturas do jogo. Nome original: mp_apt1_pic1
Caminho: gta_int.img > dr_gsbits.txd > mp_apt1_pic1

Eu não faço a mínima idéia do que é isso.






Essas estavam na casa do Madd Dogg.

30 de junho de 2018

Resistência dos carros a tiros

Quantos tiros um carro pode levar até pegar fogo? Existe alguma diferença entre um carro comum, o carro-forte e o Enforcer?


20 de janeiro de 2018

Curiosidade: banhistas boiam

 

Qual seria o objetivo da Rockstar ao dar essa capacidade aos pedestres de praia? Pode ter alguma relação com o triatlo?

10 de janeiro de 2018

GTA San Andreas: 2018 newest glitches

Canal Eduu vem descobrindo novos glitches no GTA San Andreas 14 anos após o lançamento do jogo.
Eu pesquisei em outros canais e em inglês e não achei nada referente a esses glitches. Já testei no meu GTA e são reais.



English:

It's amazing how new stuff can be found in a 14 years old game. That playlist linked above contains new glitches recently found in GTA San Andreas. I did the test and they were also present in my game.

11 de setembro de 2017

Mount Chilliad - 2


Estrada não descrita no mapa

This road is not in the map


Essa estrada também está fora do mapa (e o mapa mostra uma estrada onde não há)

Where the map shows a road there is nothing