18.05.2012, 21:49
b_weapons.inc
BlueX Weapon Include
IntroduзгoBlueX Weapon Include
Boas pessoal, hoje trago-vos uma include que eu fiz hoje, ela ainda й uma versгo BETA, digamos que й mais ou menos a base da include, nas prуximas versхes pretendo criar coisas mais dinвmicas e adicionar mais coisas.
Funзгo
Esta include tem como funзгo de adicionar mais modelos a arma X, por exemplo, a Deagle como muitos chamam nesta include tem apenas trкs modelos, Deagle1, Deagle2 e Deagle3, vocк tambйm pode alterar o damage de cada modelo.
Modo de uso
Para usar esta include й muito simples.
Quando vocк dб alguma arma ao jogador, vocк terб que colocar a funзгo:
- GivePlayerWeaponEx(playerid,weaponi,weapont,ammo);
- playerid - jogador que irб receber a arma.
- weaponi - id da arma, ex: 24 (Deagle)
- weapont - modelo da arma, ex: 1 (Deagle1)
- ammo - muniзгo
pawn Code:
CMD:deagle1(playerid){
GivePlayerWeaponEx(playerid,24,1,100);
SendClientMessage(playerid,-1,"Sucesso");
return 1;
}
- ResetPlayerWeaponsEx(playerid);
- playerid - id que irб ficar sem as armas.
Para alterar o Damage da arma basta fazer o seguinte, no topo do seu gamemode/filterscript
pawn Code:
#undef DEAGLE1
#define DEAGLE1 50.0
Creative Commons
Code:
Portugal: Tem o direito de: Compartilhar - reproduzir, distribuir e transmitir o trabalho Remisturar - adaptar o trabalho. De acordo com as seguintes condiзхes: Atribuiзгo - Tem de fazer a atribuiзгo do trabalho, da maneira estabelecida pelo titular originбrio ou licenciante (mas sem sugerir que este o apoia, ou que subscreve o seu uso do trabalho). Nгo Comercial - Nгo pode usar este trabalho para fins comerciais. No entendimento de que: Renъncia - Qualquer uma das condiзхes acima pode ser renunciada pelo titular do direito de autor ou pelo titular dos direitos conexos, se obtiver deste uma autorizaзгo para usar o trabalho sem essa condiзгo. Domнnio Pъblico - Quando a obra ou qualquer dos seus elementos se encontrar no domнnio pъblico, nos termos da lei aplicбvel, esse estatuto nгo й de nenhuma forma afectado pela licenзa. Outros Direitos - A licenзa nгo afecta, de nenhuma forma, qualquer dos seguintes direitos: • Os seus direitos de "uso legнtimo" (fair dealing ou fair use) condecidos por lei, ou outras excepзхes e limitaзхes aplicбveis ao direito de autor e aos direitos conexos; • Os direitos morais do autor; • Direitos de que outras pessoas possam ser titulares, quer sobre o trabalho em si quer sobre a forma como este й usado, tais como direitos da personalidade ou direito а privacidade. Aviso - Em todas as reutilizaзхes ou distribuiзхes, tem de deixar claro quais sгo os termos da licenзa deste trabalho. A melhor forma de fazк-lo, й colocando um link para esta pбgina. Link - http://creativecommons.org/licenses/by-n...3.31160612 Brasil: Vocк tem a liberdade de: Compartilhar - copiar, distribuir e transmitir a obra. Remixar - criar obras derivadas. Sob as seguntes condiзхes: Atribuiзгo - Vocк deve creditar a obra de forma especificada pelo autor ou licenciante (mas nгo de maneira que sugira que estes concedem qualquer aval a vocк ou ao seu uso da obra). Uso nгo comercial - Vocк nгo pode usar esta obra para fins comerciais. Ficando claro que: Renъncia - Qualquer das condiзхes acima pode ser renunciada se vocк obtiver permissгo do titular dos direitos autoriais. Domнnio Pъblico - One a obra ou qualquer de seus elementos estiver em dominio pъblico sob o direito aplicбvel, esta condiзгo nгo й, de maneira alguma, afetada pela licenзa. Outros Direitos - Os seguintes direitos nгo sгo, de maneira alguma, afetados pela licenзa: • Limitaзхes e exceзхes aos direitos autorais ou quaisquer usos livres aplicбveis; • Os direitos morais do autor; • Direitos que outras pessoas podem ter sobre a obra ou sobre a utilizaзгo da obra, tais como direitos de imagem ou privacidade. Aviso - Para qualquer reutilizaзгo ou distribuiзгo, vocк deve deixar claro a terceiros os termos da licenзa a que se encontra submetida esta obra. A melhor maneira de fazer isso й com um link para a pбgina. Link - http://creativecommons.org/licenses/by-nc/3.0/br/
Code:
Vesгo Atual: 0.5 (BETA) Changelog: 18/0/2012: Lanзamento da versгo BETA.
Code:
Contribuidor: ******, Wups, dMagnus, ricardorico97,billiejoe Obrigado: ****** - criador o y_hooks e um grande programador. Wups - criador da include OPSP. dMagnus - um cara legal e foi um beta tester na include. ricardorico97 - um grande amigo e foi um beta tester na include. billiejoe - grandes conversas e foi um beta tester na include. Um grande obrigado a: Key/Kalcor - SA:MP. SA_MP Team.
pawn Code:
/*----------------------------------------------------------------------------*\
====================
BlueX Weapon Include
====================
Descriзгo:
Esta include tem como funзгo de adicionar mais modelos a arma X, por exemplo,
a Deagle como muitos chamam nesta include tem apenas trкs modelos, Deagle1,
Deagle2 e Deagle3, claro que vocк pode alterar os nomes como obvio,
vocк tambйm pode alterar o damage de cada modelo.
Creative Commons:
Portugal:
Tem o direito de:
Compartilhar - reproduzir, distribuir e transmitir o trabalho
Remisturar - adaptar o trabalho.
De acordo com as seguintes condiзхes:
Atribuiзгo - Tem de fazer a atribuiзгo do trabalho,
da maneira estabelecida pelo titular originбrio ou licenciante
(mas sem sugerir que este o apoia, ou que subscreve o seu uso do
trabalho).
Nгo Comercial - Nгo pode usar este trabalho para fins comerciais.
No entendimento de que:
Renъncia - Qualquer uma das condiзхes acima pode ser renunciada pelo
titular do direito de autor ou pelo titular dos direitos conexos, se
obtiver deste uma autorizaзгo para usar o trabalho sem essa condiзгo.
Domнnio Pъblico - Quando a obra ou qualquer dos seus elementos se
encontrar no domнnio pъblico, nos termos da lei aplicбvel, esse
estatuto nгo й de nenhuma forma afectado pela licenзa.
Outros Direitos - A licenзa nгo afecta, de nenhuma forma, qualquer dos seguintes direitos:
• Os seus direitos de "uso legнtimo" (fair dealing ou fair use)
condecidos por lei, ou outras excepзхes e limitaзхes aplicбveis
ao direito de autor e aos direitos conexos;
• Os direitos morais do autor;
• Direitos de que outras pessoas possam ser titulares, quer
sobre o trabalho em si quer sobre a forma como este й usado,
tais como direitos da personalidade ou direito а privacidade.
Aviso - Em todas as reutilizaзхes ou distribuiзхes, tem de deixar claro quais
sгo os termos da licenзa deste trabalho. A melhor forma de fazк-lo, й colocando
um link para esta pбgina.
Link - http://creativecommons.org/licenses/by-n...pt/deed.pt
Brasil:
Vocк tem a liberdade de:
Compartilhar - copiar, distribuir e transmitir a obra.
Remixar - criar obras derivadas.
Sob as seguntes condiзхes:
Atribuiзгo - Vocк deve creditar a obra de forma especificada
pelo autor ou licenciante (mas nгo de maneira que sugira que
estes concedem qualquer aval a vocк ou ao seu uso da obra).
Uso nгo comercial - Vocк nгo pode usar esta obra para fins
comerciais.
Ficando claro que:
Renъncia - Qualquer das condiзхes acima pode ser renunciada se vocк
obtiver permissгo do titular dos direitos autoriais.
Domнnio Pъblico - One a obra ou qualquer de seus elementos estiver
em dominio pъblico sob o direito aplicбvel, esta condiзгo nгo й, de
maneira alguma, afetada pela licenзa.
Outros Direitos - Os seguintes direitos nгo sгo, de maneira alguma, afetados pela licenзa:
• Limitaзхes e exceзхes aos direitos autorais ou quaisquer
usos livres aplicбveis;
• Os direitos morais do autor;
• Direitos que outras pessoas podem ter sobre a obra ou
sobre a utilizaзгo da obra, tais como direitos de imagem
ou privacidade.
Aviso - Para qualquer reutilizaзгo ou distribuiзгo, vocк deve deixar
claro a terceiros os termos da licenзa a que se encontra submetida
esta obra. A melhor maneira de fazer isso й com um link para a pбgina.
Link - http://creativecommons.org/licenses/by-nc/3.0/br/
Contribuidor:
******, Wups, dMagnus, ricardorico97,billiejoe.
Obrigado:
****** - criador o y_hooks e um grande programador.
Wups - criador da include OPSP.
dMagnus - um cara legal e foi um beta tester na include.
ricardorico97 - um grande amigo e foi um beta tester na include.
billiejoe - grandes conversas e foi um beta tester na include.
Um grande obrigado a:
Key/Kalcor - SA:MP.
SA_MP Team.
Vesгo Atual:
0.5 (BETA)
Changelog:
18/0/2012:
Lanзamento da versгo BETA.
Definiзхes:
DEAGLE1 - Modelo numero 1 da arma 24 (Deagle);
DEAGLE2 - Modelo numero 2 da arma 24 (Deagle);
DEAGLE3 - Modelo numero 3 da arma 24 (Deagle);
DEBUG - caso vocк queria ver os debugs apenas use true, se nгo quer use false
Variaveis:
Globais:
WeaponInfo - varuavel principal que segura o code todo.
Locais:
arma - variavel que pega o id da arma do jogador
Enumeraзхes:
wInfo - enumaraзгo responsavel pelos dados das armas de cada jogador.
Stocks:
GivePlayerWeaponEx - Seta a arma do jogador
ResetPlayerWeaponEx - Retira as armas do jogador
GetWeaponDamage - Pega o damage da arma que o jogador tem.
\*----------------------------------------------------------------------------*/
#if defined _b_weapons_include
#endinput
#endif
#define _b_weapons_include
#include <a_samp>
#include <YSI\y_hooks>
#include <OPSP>
#define DEBUG true
#if defined DEAGLE1
#endinput
#endif
#define DEAGLE1 40.0
#if defined DEAGLE2
#endinput
#endif
#define DEAGLE2 30.5
#if defined DEAGLE3
#endinput
#endif
#define DEAGLE3 25.0
#define B_VERSION_MAJOR 0
#define B_VERSION_MINOR 50
#define B_VERSION_BUILD 0000
#define B_VERSION #B_VERSION_MAJOR "." #B_VERSION_MINOR "." #B_VERSION_BUILD
enum wInfo{
WeaponID,
Float:Damage,
WeaponType,
WeaponModel
};
new WeaponInfo[MAX_PLAYERS][wInfo];
stock GivePlayerWeaponEx(playerid,weaponi,weapont,ammo){
GivePlayerWeapon(playerid,weapont,ammo);
WeaponInfo[playerid][WeaponID] = weaponi;
WeaponInfo[playerid][WeaponType] = weapont;
return 1;
}
stock ResetPlayerWeaponEx(playerid){
ResetPlayerWeapons(playerid);
WeaponInfo[playerid][WeaponID] = 0;
WeaponInfo[playerid][WeaponType] = 0;
return 1;
}
stock GetWeaponDamage(playerid){
new arma = GetPlayerWeapon(playerid);
if(WeaponInfo[playerid][WeaponID] == arma){
if(WeaponInfo[playerid][WeaponType] == 1){
WeaponInfo[playerid][Damage] = DEAGLE1;
WeaponInfo[playerid][WeaponModel] = 24;
}
else if(WeaponInfo[playerid][WeaponType] == 2){
WeaponInfo[playerid][Damage] = DEAGLE2;
WeaponInfo[playerid][WeaponModel] = 24;
}
else if(WeaponInfo[playerid][WeaponType] == 3){
WeaponInfo[playerid][Damage] = DEAGLE3;
WeaponInfo[playerid][WeaponModel] = 24;
}
else {
WeaponInfo[playerid][Damage] = 0;
WeaponInfo[playerid][WeaponModel] = 0;
}
}
return 1;
}
hook OnFilterScriptInit(){
print(" ");
print(" ======================================= ");
print(" | | ");
print(" | b_weapons " B_VERSION " | ");
print(" | By BlueX | ");
print(" | | ");
print(" ======================================= ");
print(" ");
return 1;
}
hook OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
if(Target != INVALID_PLAYER_ID){
GetWeaponDamage(Shooter);
new Float:Life;
GetPlayerHealth(Target,Life);
SetPlayerHealth(Target,Life-WeaponInfo[Shooter][Damage]);
#if DEBUG == true
{
printf("Vitima: %d , OVida: %f , NVida: %f , ArmaID: %d , ArmaType: %d, Damage: %f, Atacante: %d",Target,Life,Life-WeaponInfo[Shooter][Damage],WeaponInfo[Shooter][WeaponModel],WeaponInfo[Shooter][WeaponType],WeaponInfo[Shooter][Damage],Shooter);
}
#endif
}
return 1;
}
hook OnPlayerDeath(playerid,reason){
ResetPlayerWeaponEx(playerid);
#if DEBUG == true
{
printf("Player: %d weapons reseted.",playerid);
}
#endif
return 1;
}
Download
Versгo beta
http://www.mediafire.com/?v38hb36mnehttyb
Bugs
Caso ocorram bugs durante o uso da include mande-me por via PM, pois nada й perfeito, ainda por cima esta versгo й uma versгo BETA, й provбvel ter alguns bugs.