Como cambiar las balas que te da un arma -
Bandicoth - 28.01.2015
Cambio la pregunta, tengo un comando que es para agarrar un arma con balas de un cajon.
Ese comando es /tomararmas:
Код:
CMD:tomararmas(playerid, params[])
{
for(new i = 0; i < sizeof(CajonInfo); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, CajonInfo[i][PosicionCajon][0], CajonInfo[i][PosicionCajon][1], CajonInfo[i][PosicionCajon][2]))
{
if(CajonInfo[i][MunicionesCajon] == 0) return SendClientMessage(playerid, -1, "ЎYa no hay mas municiones!");
MostrarCajon(playerid);
}
}
return 1;
}
Eso abre un dialog con todas las armas y elejis la que queres, y te la da con 18927 balas.
DUDAS
Como cambio para que te la de con 200 balas nada mas?
O como hago para que puedas tomar 1 sola arma de cada tipo?
La lista que aparece es un dialog que dice:
M4
Mp5
AK47
Sniper
Deagle
y demas.. y los botones son "Tomar" y "Cancelar"
Respuesta: Como definir en este comando -
Goncho28 - 28.01.2015
Tenes que mostrar el OnDialogResponse
Respuesta: Como definir en este comando -
Bandicoth - 28.01.2015
Код:
case CRATEGUN:
{
if(response)
{
for(new i = 0; i < sizeof(CajonInfo); i++)
{
if(listitem == 0) // Shotgun
{
GivePlayerWeapon(playerid, 25, 100);
CajonInfo[i][MunicionesCajon] -= 1;
GuardarCajonMuniciones(i);
}
if(listitem == 1) // MP5
{
GivePlayerWeapon(playerid, 29, 100);
CajonInfo[i][MunicionesCajon] -= 1;
GuardarCajonMuniciones(i);
}
if(listitem == 2) // Rifle
{
GivePlayerWeapon(playerid, 33, 100);
CajonInfo[i][MunicionesCajon] -= 1;
GuardarCajonMuniciones(i);
}
if(listitem == 3) // Desert Eagle
{
GivePlayerWeapon(playerid, 24, 100);
CajonInfo[i][MunicionesCajon] -= 1;
}
if(listitem == 4) // AK-47
{
GivePlayerWeapon(playerid, 30, 100);
CajonInfo[i][MunicionesCajon] -= 1;
GuardarCajonMuniciones(i);
}
if(listitem == 5) // M4
{
GivePlayerWeapon(playerid, 31, 100);
CajonInfo[i][MunicionesCajon] -= 1;
GuardarCajonMuniciones(i);
}
if(listitem == 6) // SPAS-12
{
GivePlayerWeapon(playerid, 27, 100);
CajonInfo[i][MunicionesCajon] -= 1;
GuardarCajonMuniciones(i);
}
if(listitem == 7) // Sniper
{
GivePlayerWeapon(playerid, 34, 100);
CajonInfo[i][MunicionesCajon] -= 1;
GuardarCajonMuniciones(i);
}
if(listitem == 8) // Kevlar vest
{
SetPlayerArmour(playerid, 100.0);
}
if(listitem == 9)
{
SetPlayerHealth(playerid, 100);
}
}
}
}
Esta para que te de 100 balas por arma. Pero sobre todo quiero que se pueda elejir solo 1 ves el arma, y que cuando se hallan elejido todas las armas 1 ves, se borre el cajon.
Respuesta: Como definir en este comando -
Zume - 28.01.2015
Te dejo aquн una funciуn :
pawn Код:
stock GetWeaponSlot(weaponid)
{
switch(weaponid)
{
case 0,1: return 0;
case 2 .. 9: return 1;
case 10 .. 15: return 10;
case 16 .. 18, 39: return 8;
case 22 .. 24: return 2;
case 25 .. 27: return 3;
case 28, 29, 32: return 4;
case 30, 31: return 5;
case 33, 34: return 6;
case 35 .. 38: return 7;
case 40: return 12;
case 41 .. 43: return 9;
case 44 .. 46: return 11;
}
return 0;
}
stock HaveWeaponType(weaponid)
{
new WeaponType = 0,
_w[2]
;
if((WeaponType = GetWeaponSlot(weaponid)) > 0)
{
if(GetPlayerWeaponData(playerid, WeaponType, _w[0], _w[1]))
{
if(_w[0] > 0 && _w[1] > 0)
{
return true;
}
}
}
return false;
}
En verdad no la he probado, pero mбs bien estб la idea. Para situar que nada mбs pueda tener 200 balas puedes usar SetPlayerAmmo.
Respuesta: Como definir en este comando -
Bandicoth - 28.01.2015
Me podes explicar la funcion? No comprendo mucho de script
Respuesta: Como definir en este comando -
Zume - 28.01.2015
La primera obtiene a quй slot pertenece un ID de arma, la segunda es complementada por la primera (la puse asн por que la primera ya la tenнa hecha) entonces la segunda que es la que te podrнa servir, obtiene el slot depende del Id de un arma (En el primer if sitъa a la variable y comprueba si el valor es mayor a 0 o sea, un slot de arma), si la condiciуn se cumple obtiene quй arma tiene en ese mismo slot, luego si tiene un arma efectivamete la funciуn retorna verdadero de lo contrario falso
La puedes usar en una condiciуn para lograr que no pueda tomar un arma si ya tiene del mismo tipo.
Respuesta: Como definir en este comando -
Bandicoth - 28.01.2015
Entonces yo en la primera tengo que cambiar los numeros que pusiste por las armas que tengo yo en la lista de /tomararmas?