[Include] BlockWeaponsInInterior - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (
https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Include] BlockWeaponsInInterior (
/showthread.php?tid=372267)
BlockWeaponsInInterior -
FeelLikeASir_ - 25.08.2012
Diferente de AllowInteriorWeapons, BlockWeaponsInInterior bloqueia armas no interior que desejar.
Exemplo:
pawn Код:
main() {
BlockWeaponsInInterior(true, 2, 3, 5);
}
*Le cуdigo*
pawn Код:
#define MAX_INTS 18
new Interiors[MAX_INTS char];
BlockWeaponsInInterior(bool:block, ...) {
for(new i = numargs(); i > 1; --i) {
Interiors{getarg(i)} = _:block;
}
}
public OnPlayerUpdate(playerid) {
if(Interiors{GetPlayerInterior(playerid)}) {
SetPlayerArmedWeapon(playerid, 0);
}
return CallLocalFunction("OnPlayerUpdateEx", "i", playerid);
}
#if defined _ALS_OnPlayerUpdate
#undef OnPlayerUpdate
#else
#define _ALS_OnPlayerUpdate
#endif
#define OnPlayerUpdate OnPlayerUpdateEx
OnPlayerUpdateEx(playerid);
Fiz em 1min, nem testei direito, qualquer bug, avisar.
FellLikeASir_.
Respuesta: BlockWeaponsInInterior -
Luciano* - 25.08.2012
Eu nгo testei, mais se realmente funcionar й уtimo!
Re: BlockWeaponsInInterior -
Tony_Rodrigues - 25.08.2012
Nгo gostei e eu achei (na minha opiniгo nгo sei a dos outros) um codigo ъtil
Re: BlockWeaponsInInterior -
leonardo1434 - 25.08.2012
Quote:
Originally Posted by Tony_Rodrigues
Nгo gostei e eu achei (na minha opiniгo nгo sei a dos outros) um codigo ъtil 
|
+1...
Re: BlockWeaponsInInterior -
jpeg - 25.08.2012
acho que nao era necessaria uso disso pra bloquear armas, bastava usar resetplayerweapons entгo, sendo q nem salva as armas q ele tava antes.
Re: Respuesta: BlockWeaponsInInterior -
FeelLikeASir_ - 25.08.2012
Quote:
Originally Posted by Luciano*
Eu nгo testei, mais se realmente funcionar й уtimo!
|
Sim, funciona.
pawn Код:
main() {
BlockWeaponsInInterior(true, 0, 1, 2, 3, 4, 5);
for(new i; i < MAX_INTS; i++) {
if(Interiors{i}) {
printf("Interior %i nгo permite armas!", i);
}
}
}
Quote:
Originally Posted by jpeg
acho que nao era necessaria uso disso pra bloquear armas, bastava usar resetplayerweapons entгo, sendo q nem salva as armas q ele tava antes.
|
Nгo, usar esse mйtodo alйm de ocupar mais linhas tem vбrias maneiras de burlar, usando hack por exemplo. O meu mйtodo ele seta o punho constantemente, impedindo (ou quase) ele de atirar.
Obrigado aos demais.
Re: BlockWeaponsInInterior -
Juninho_Oakley - 26.08.2012
Nгo testei vo testar pra ve como fica...
Respuesta: BlockWeaponsInInterior -
ipsBruno - 26.08.2012
Ficou bem bom, sу melhore a condiзгo do loop
pawn Код:
BlockWeaponsInInterior(bool:block, ...) {
for(new i = numargs(); i > 1; --i) {
Interiors{getarg(i)} = _: block; // pois _: block estб bool e Interiors nгo.
}
}
Tambйm й
CallLocalFunction e nгo
CallRemoteFunction
Re: Respuesta: BlockWeaponsInInterior -
FeelLikeASir_ - 26.08.2012
Quote:
Originally Posted by ipsBruno
Ficou bem bom, sу melhore a condiзгo do loop
pawn Код:
BlockWeaponsInInterior(bool:block, ...) { for(new i = numargs(); i > 1; --i) { Interiors{getarg(i)} = _: block; // pois _: block estб bool e Interiors nгo. } }
Tambйm й CallLocalFunction e nгo CallRemoteFunction
|
O sim, bem observado.
Re: BlockWeaponsInInterior -
paulor - 26.08.2012
Ta errado esse loop nгo й ?
pawn Код:
BlockWeaponsInInterior(bool:block, ...) {
for(new i = numargs(); i > 1; --i) {
Interiors{getarg(i)} = _:block;
}
}
Pois numargs() irб retornar 4 argumentos, mais como a contagem comeзa no 0 irб atй o 3 entгo pegando um argumento inexistente alйm de que i > 1 nгo pegarб o argumento 1.
pawn Код:
BlockWeaponsInInterior(bool:block, ...) {
for(new i = (numargs() - 1); i > 0; --i) {
Interiors{getarg(i)} = _:block;
}
}
Fora isso ta muito simples para ser uma Include.