[Tutorial] Agregar armas alas facciones por medio de un pickup
#1

Bueno este tutorial se trata de como agregarle un comando de armas solo para la faccion deseada(ocea pararse en una pickup, poner un comando y te de armas)

bueno empesaremos,
primero creamos un comando en OnPlayerCommandText
en ese comando debera tener lo siguiente:
Код:
if(!strcmp(cmdtext, "(comando)", true)) //aqui pondras el comando del cual te dara las armas
{
     if(PlayerInfo[playerid][pLeader] == (ID faccion) || PlayerInfo[playerid][pMember] == (ID faccion)) //aqui va el ID de la faccion, el primero es para que el lider lo pueda usar y el segundo es para el miembro
     {
          if(PlayerToPoint(2.0, playerid, (Coordenadas de donde poner el comando))) //Aqui va donde poner el comando, ocea te pares en este lugar , pones el comando y te de las armas y si no estas en este lugar no te dara las armas
          {
               ResetPlayerWeapons(playerid);
               GivePlayerWeapon(playerid, (ID del arma), (municion)); //Puedes poner mas armas si quieres con GivePlayerWeapon(playerid, (ID del arma), (municion)); abajo de este
               SetPlayerArmour(playerid, (Porcentaje del chaleco));
               SetPlayerHealth(playerid, (Porcentaje del health ocea la sangre)); //el chaleco y el health es igual que las armas pones el comando y te da chaleco y vida y si no lo quieres solo quitaselos
          }
          GetPlayerName(playerid, sendername, sizeof(sendername));
	        format(string, sizeof(string), "* %s abre el compartimiento secreto y saca un pack de armas y Chaleco.", sendername); //el anuncio que hara cuando tomes las armas
      		ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
     }
     else
     {
          SendClientMessage(playerid, 0xFF0000FF, "Tu no puedes usar eso."); // si no eres de la faccion te dira esto
     }
    return 1;
}
Bueno ahora explicare como saver las coordenadas del PlayerToPoint.
Para saver las coordenadas solo vas a tu server y te paras en el lugar especifico donde quieres que te de las armas y solo pones /save, eso te enviara las coordenadas ala carpeta donde esta el GTA San Andreas, buscas donde dice savedpositions ahi se guardan todas las coordenadas, cada vez que pongas /save.

Bueno ya que tengas las coordenadas, agregar solo la Posicion X, la posicion Y, y la Posicion Z.

Y ahora para agregar la Pickup.
La pick up solo el para diferenciar donde se debe poner el comando, van a OnGameModeInit
y buscan mas abajo donde estan todas las Pickup's agregan una pickup mas o menos similar a esta:
Код:
AddStaticPickup(1239, 2, (Coordenadas)); //Comando de armas
donde dice coordenadas agregan las mismas coordenadas del PlayerToPoint del comando anterior.

Ahora les dare un Ejemplo para que no se confundan:
Код:
public OnPlayerCommandText(playerid, cmdtext[])
{

if(!strcmp(cmdtext, "/mafiarusa", true))
{
     if(PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pMember] == 17)
     {
          if(PlayerToPoint(2.0, playerid, 1209.685669, -2031.812134, 68.477295))
          {
               ResetPlayerWeapons(playerid);
               GivePlayerWeapon(playerid, 24, 160);
               GivePlayerWeapon(playerid, 30, 999);
               GivePlayerWeapon(playerid, 29, 999);
               SetPlayerArmour(playerid, 100.0);
               SetPlayerHealth(playerid, 100.0);
          }
          GetPlayerName(playerid, sendername, sizeof(sendername));
	        format(string, sizeof(string), "* %s abre el compartimiento secreto y saca un pack de armas y Chaleco.", sendername);
      		ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
     }
     else
     {
          SendClientMessage(playerid, 0xFF0000FF, "Tu no puedes usar eso.");
     }
    return 1;
}
como pueden ver yo lo hago para la faccion de la mafia rusa, la cuel le corresponde la ID 17.

Pickup:
Код:
AddStaticPickup(1239, 2, 1209.685669, -2031.812134, 68.477295); //Armas Rusa
Y eso seria todo, espero les funcione

CREDITOS: By Leoals ocea Yo
Reply
#2

Buen tuto, esto es nuevo por aca.
Reply
#3

Quote:
Originally Posted by xenowort
Посмотреть сообщение
Buen tuto, esto es nuevo por aca.
Gracias men solo lo hago por aporta
Reply
#4

esta bien explicado che, buen aporte...
Reply
#5

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
esta bien explicado che, buen aporte...
Gracias
Reply
#6

Jaja, la verdad e que es facil, buscas el comando /duty y si entiendes un poco, copias una cosa y ya lo tienes.. Lo hice sin tutos, lo entendi a la primera jeje
Reply
#7

Bueno iPerryX otros no lo saben.. Buen aporte leoals!
Reply
#8

Quote:
Originally Posted by elvago
Посмотреть сообщение
Bueno iPerryX otros no lo saben.. Buen aporte leoals!
Gracias men
Reply
#9

me tira estos errores ;S:

D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : error 017: undefined symbol "sendername"
D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : error 017: undefined symbol "sendername"
D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : error 029: invalid expression, assumed zero
D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : fatal error 107: too many error messages on one line
Reply
#10

Quote:
Originally Posted by Piipitah
Посмотреть сообщение
me tira estos errores ;S:

D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : error 017: undefined symbol "sendername"
D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : error 017: undefined symbol "sendername"
D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : error 029: invalid expression, assumed zero
D:\DOCUME~1\COSASY~1\MISCOS~1\GMENES~1\GAMEMO~1\VL-Rp.pwn(16039) : fatal error 107: too many error messages on one line
No tienes definido sendername.
Agrega:
pawn Код:
new sendername[MAX_PLAYER_NAME];
Saludos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)