Remover arma num tiro -
pdonald - 08.11.2015
Se o cara atirar com uma RPG jб remover a RPG, porque queria vender RPG na loja de armas, mas pra evitar cheats de balas ou coisas do tipo
cada vez q desse um tiro tira-se a arma, alguйm pode fazer isso pra mim?
Respuesta: Remover arma num tiro -
DjonathaTM - 08.11.2015
Se nгo me engano
https://sampwiki.blast.hk/wiki/ResetPlayerWeapons
Re: Respuesta: Remover arma num tiro -
luccagomes15 - 08.11.2015
Quote:
Originally Posted by DjonathaTM
|
Nesse caso removeria todas as armas, nгo a bazuca em especifico
Respuesta: Remover arma num tiro -
DjonathaTM - 08.11.2015
Psй..
Usa
GivePlayerWeapon(playerid, IDDABAZUCA, 00)
IDDABAZUCA = Vocк poem obviamente o id da bazuca
00 = Balas
Assim ele ganharб a arma mas sem balas e dai vai perder a arma
Re: Remover arma num tiro -
Bruno13 - 08.11.2015
Criei essa funзгo a um tempo atrбs...veja se й ъtil para vocк!
pawn Code:
RemovePlayerWeapon(playerid, weaponid)
{
static weaponData[13][2], i;
for(i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, weaponData[i][0], weaponData[i][1]);
}
ResetPlayerWeapons(playerid);
for(i = 0; i < 13; i++)
{
if(weaponData[i][0] != 0 && weaponData[i][0] != weaponid)
{
GivePlayerWeapon(playerid, weaponData[i][0], weaponData[i][1]);
}
}
}
Re: Remover arma num tiro -
CZ - 08.11.2015
PHP Code:
SetPlayerArmedWeapon(playerid, ID DA ARMA);
Re: Remover arma num tiro -
Bruno13 - 08.11.2015
Quote:
Originally Posted by CZ
PHP Code:
SetPlayerArmedWeapon(playerid, ID DA ARMA);
|
Acho que o intuito dele nгo й guardar a arma, mas remover. Guardar a mesma sу camuflaria um problema grave.
Re: Remover arma num tiro -
F1N4L - 09.11.2015
Simples o que ele quer:
Por padrгo quando a arma fica sem muniзгo ela some, se vc atirar a ъnica bala da sua arma, ela automaticamente some!
Quote:
GivePlayerWeapon(playerid, 35, 1)
|
Re: Remover arma num tiro -
pdonald - 10.11.2015
Quote:
Originally Posted by Bruno13
Criei essa funзгo a um tempo atrбs...veja se й ъtil para vocк!
pawn Code:
RemovePlayerWeapon(playerid, weaponid) { static weaponData[13][2], i;
for(i = 0; i < 13; i++) { GetPlayerWeaponData(playerid, i, weaponData[i][0], weaponData[i][1]); }
ResetPlayerWeapons(playerid);
for(i = 0; i < 13; i++) { if(weaponData[i][0] != 0 && weaponData[i][0] != weaponid) { GivePlayerWeapon(playerid, weaponData[i][0], weaponData[i][1]); } } }
|
Por que nгo estб funcionando, olhando a funзгo nгo consigo achar o porque, era pra estar LOL
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
Code:
if(GetPlayerWeapon(playerid) == 16) {
RemovePlayerWeapon(playerid, 16);
}
else if(GetPlayerWeapon(playerid) == 18) {
RemovePlayerWeapon(playerid, 18);
}
else if(GetPlayerWeapon(playerid) == 35) {
RemovePlayerWeapon(playerid, 35);
}
else if(GetPlayerWeapon(playerid) == 36) {
RemovePlayerWeapon(playerid, 36);
}
Re: Remover arma num tiro -
Bruno13 - 10.11.2015
Quote:
Originally Posted by F1N4L
Simples o que ele quer:
Por padrгo quando a arma fica sem muniзгo ela some, se vc atirar a ъnica bala da sua arma, ela automaticamente some!
|
Meu deus. Acabei de postar uma funзгo que simplesmente remove a arma...vamos as conclusхes do que й mais correto:
1. Identificar que atirou com uma RPG.
2. Remover a arma pela funзгo acima postada. Logo, no exato momento que ele disparar, a arma sumirб e o disparo nгo serб vбlido.
ou
2. Dar mais uma muniзгo da mesma arma, e assim, entrara num loop, em que toda a vez que o player atirar ele ganharб mais uma bala, ou seja, a arma continuarб com ele, alйm de estar contribuindo com uma falha muito grande ainda estбs exercendo uma lуgica inexistente.
Ex: Supomos que o player obteve uma muniзгo de RPG pelo seu mйtodo proibido. Ao ele disparar com a arma, ele gastara sua unica muniзгo, e este seu mйtodo darб mais uma muniзгo.
Quote:
Originally Posted by pdonald
Por que nгo estб funcionando, olhando a funзгo nгo consigo achar o porque, era pra estar LOL
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
Code:
if(GetPlayerWeapon(playerid) == 16) {
RemovePlayerWeapon(playerid, 16);
}
else if(GetPlayerWeapon(playerid) == 18) {
RemovePlayerWeapon(playerid, 18);
}
else if(GetPlayerWeapon(playerid) == 35) {
RemovePlayerWeapon(playerid, 35);
}
else if(GetPlayerWeapon(playerid) == 36) {
RemovePlayerWeapon(playerid, 36);
}
|
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
switch(weaponid)
{
case 16, 18, 35, 36: RemovePlayerWeapon(playerid, weaponid);
}
return 0;//Importante para nгo validar o tiro.
}
Re: Remover arma num tiro -
Bruno13 - 10.11.2015
Quote:
Originally Posted by F1N4L
Simples o que ele quer:
Por padrгo quando a arma fica sem muniзгo ela some, se vc atirar a ъnica bala da sua arma, ela automaticamente some!
|
Meu deus. Acabei de postar uma funзгo que simplesmente remove a arma...vamos as conclusхes do que й mais correto:
Code:
1. Identificar que atirou com uma RPG.
2. Remover a arma pela funзгo acima postada. Logo, no exato momento que ele disparar, a arma sumirб e o disparo nгo serб vбlido.
ou
2. Dar mais uma muniзгo da mesma arma, e assim, entrara num loop, em que toda a vez que o player atirar ele ganharб mais uma bala, ou seja, a arma continuarб com ele, alйm de estar contribuindo com uma falha muito grande, ainda estбs exercendo uma lуgica inexistente.
Ex: Supomos que o player obteve uma muniзгo de RPG pelo seu mйtodo proibido. Ao ele disparar com a arma, ele gastara sua unica muniзгo, e este seu mйtodo darб mais uma muniзгo.
Quote:
Originally Posted by pdonald
Por que nгo estб funcionando, olhando a funзгo nгo consigo achar o porque, era pra estar LOL
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
Code:
if(GetPlayerWeapon(playerid) == 16) {
RemovePlayerWeapon(playerid, 16);
}
else if(GetPlayerWeapon(playerid) == 18) {
RemovePlayerWeapon(playerid, 18);
}
else if(GetPlayerWeapon(playerid) == 35) {
RemovePlayerWeapon(playerid, 35);
}
else if(GetPlayerWeapon(playerid) == 36) {
RemovePlayerWeapon(playerid, 36);
}
|
Nгo й necessбrio obter a arma que o player estб em mгos nesta funзгo. O parвmetro weaponid jб lhe passa o valor da mesma.
Tente assim:
PHP Code:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
switch(weaponid)
{
case 16, 18, 35, 36: RemovePlayerWeapon(playerid, weaponid);
}
return 0;//Importante para nгo validar o tiro.
}
Re: Remover arma num tiro -
Artista - 10.11.2015
Quote:
Originally Posted by pdonald
Por que nгo estб funcionando, olhando a funзгo nгo consigo achar o porque, era pra estar LOL
|
O cуdigo do Bruno13 estб correto, o problema й que a callback OnPlayerWeaponShot nгo detecta essas armas. Terб que usar um timer, OnPlayerKeyStateChange, ou atй mesmo a OnPlayerUpdate.
Re: Remover arma num tiro -
Bruno13 - 10.11.2015
Quote:
Originally Posted by Artista
O cуdigo do Bruno13 estб correto, o problema й que a callback OnPlayerWeaponShot nгo detecta essas armas. Terб que usar um timer, OnPlayerKeyStateChange, ou atй mesmo a OnPlayerUpdate.
|
Verdade...me passei nessa. Acho que usar OnPlayerWeaponChange resolve, como disse Artista.
https://sampforum.blast.hk/showthread.php?tid=59771
Re: Remover arma num tiro -
luccagomes15 - 12.11.2015
Valeu galera, eu atй tinha uma funзгo como essa, o problema entгo era onde eu tava usando, em ontakedamage ta funcionando! VLW LEKADA!