iBranch.inc -
n0minal - 08.06.2015
Intro
Estive desenvolvendo essa include desde ontem, procurando por bugs pra fixar e coisas a serem implementadas, e agora eu acho que isso estб finalmente pronto. A include й simples, ela adciona algumas callbacks bem ъteis ao seu gamemode apenas atualizando dados e fazendo simples comparaзхes. Й muito simples de ser usada, eu a desenvolvi para meu prуprio projeto mas decidi postб-la. A include tambйm usa ALS 4 - Hook Method 7 pra dar suporte a freeze/unfreeze.
Callbacks
Aqui estгo as callbacks que vocк poderб usar em seu servidor caso opte por usar a include:
Код:
forward OnPlayerSkinChange(playerid, newskin, oldskin);
forward OnPlayerNameChange(playerid, newname[], oldname[]);
forward OnPlayerMoneyChange(playerid, newmoney, oldmoney);
forward OnPlayerWantedLevelChange(playerid, newlevel, oldlevel);
forward OnPlayerScoreChange(playerid, newscore, oldscore);
forward OnPlayerWeaponSlotChange(playerid, slotid, new_weapon, oldweapon);
forward OnPlayerAmmoChange(playerid, weaponid, newammo, oldammo);
forward OnPlayerCurrentWeaponChange(playerid, new_weapon, oldweapon);
forward OnPlayerVehicleChange(playerid, new_vehicle, oldvehicle);
forward OnPlayerVehicleSeatChange(playerid, newseat, oldseat);
forward OnPlayerHealthChange(playerid, Float:newhealth, Float:oldhealth);
forward OnPlayerArmourChange(playerid, Float:newarmour, Float:oldarmour); [novo!]
forward OnPlayerVirtualWorldChange(playerid, new_world, oldworld);
forward OnPlayerPingChange(playerid, newping, oldping);
forward OnPlayerFPSChange(playerid, newfps, oldfps);
forward OnPlayerDrunkLevelChange(playerid, newlevel, oldlevel);
forward OnPlayerFreezeStateChange(playerid, newstate, oldstate);
forward OnPlayerTeamChange(playerid, newteam, oldteam);
forward OnPlayerGenderChange(playerid, newgender, oldgender); [novo!]
forward OnPlayerAimStateChange(playerid, weaponid, mode); [novo!]
Definiзхes inclusas:
Код:
#define SKIN_GENDER_NONE 0
#define SKIN_GENDER_FEMALE 1
#define SKIN_GENDER_MALE 2
#define AIM_MODE_RELEASE 0
#define AIM_MODE_HOLD 1
Como usar
Pra usar a include vocк precisa adcionб-la ao topo do seu gamemode/filterscript:
Quote:
//Exemplo:
#include <a_samp>
#include <ibranch>
|
E pronto, jб estб pronto pra ser usado!
Video(s)
[ame]http://www.youtube.com/watch?v=mLBw3LNlGz8[/ame]
Downloads e Links
GitHub
Bugs
Nгo encontrei nenhum atй o momento, caso encontre algum, reporte-o abaixo por favor e eu corrigirei o mais rбpido possнvel.
Veja tambйm:
iCMD 8.0 Beta - Processador de CMD mais rбpido!
ipsTeam Official Server em Desenvolvimento!
Changelog:
Quote:
[08/06]
-Adcionado hook no OnPlayerConnect
-Fixados alguns erros no switch
-Adcionado OnPlayerGenderChange (para detectar sexo da skin).
[11/06]
-Adcionado OnPlayerArmourChange
-Operadores XoR mudados para "!=" pra melhor otimizaзгo.
[25/06]
-Adcionado OnPlayerAimStateChange
-Adcionado Hook na OnPlayerKeyStateChange
[27/06]
- Todo o cуdigo de update foi reformulado, as verificaзхes agora serгo feitas apenas se determinada callback estiver definida no seu script, isso significa que a include estб 500% mais leve a cada update de acordo com o que vocк vб precisar, alйm de estar consumindo menos memуria visto que as variбveis agora sгo criadas apenas perante necessidade.
[22/09]
-Adcionado hook e limpeza de informaзхes no onplayerdisconnect (anteriormente causava updates falsos e desincronizados).
|
Crйditos:
-ipsLeon, ipsNan e ipsBruno;
-****** por conhecimentos e ALS Hook Methods;
-
Kalcor por criar o SA-MP.
-Pottus e SickAttack pela sugestгo de gкneros.
-Gammix por me lembrar algumas coisas.
-rjjj por testes e dicas para melhor otimizaзгo do script.
-Yashas e Adejair_Junior por sugestхes de #if defined e dicas de otimizaзгo.
Re: iBranch.inc -
ipsLuan - 08.06.2015
Ontem quando eu vi a include pensei que ia ficar apenas no seu projeto, mas que bom que decidiu postar. Й uma grande contribuiзгo que vocк vem fazendo pra board.
Re: iBranch.inc -
n0minal - 08.06.2015
Quote:
Originally Posted by ipsLuan
Ontem quando eu vi a include pensei que ia ficar apenas no seu projeto, mas que bom que decidiu postar. Й uma grande contribuiзгo que vocк vem fazendo pra board.
|
Vejo muita gente precisando de callbacks assim, й bom poder contribuir com o mбximo que eu puder pra board e pro fуrum, quando eu morrer nгo vou levar comigo nenhum de meus trabalhos haha, vou postar mais coisas em breve, espero que tambйm faзam o mesmo
Re: iBranch.inc - MacMillan_ - 08.06.2015
Difнcil encontrar includes ъteis como esta na board PT.
Bom trabalho.
Re: iBranch.inc -
n0minal - 08.06.2015
Obrigado
Re: iBranch.inc -
Locky_ - 08.06.2015
Muito bom. Parabйns.
Re: iBranch.inc -
Dolby - 08.06.2015
Foi bem escrito. A ъnica parte que talvez eu poderia criticar, seria ter utilizado
underline na nomenclatura das variбveis, mesmo sabendo que й por questгo de precauзгo com conflitos, mas existem formas mais "claras" de fugir desses conflitos.
Enfim, parabйns Leo.
Re: iBranch.inc -
Monotox - 08.06.2015
Bacana, vou utilizar em meus scripts.
Re: iBranch.inc -
n0minal - 08.06.2015
Quote:
Originally Posted by Dolby
Foi bem escrito. A ъnica parte que talvez eu poderia criticar, seria ter utilizado underline na nomenclatura das variбveis, mesmo sabendo que й por questгo de precauзгo com conflitos, mas existem formas mais "claras" de fugir desses conflitos.
Enfim, parabйns Leo.
|
Obrigado a todos galera. Obrigado pela crнtica Dolby, o Adejair tambйm me alertou da mesma coisa me informando sobre alguns conceitos do underline na engenharia de software, devo mudar novamente a include pra subsituн-los.
Minor Update: OnPlayerGenderChange adcionada, agora tendo suporte а troca de sexo/gкnero das skins.
Prуximo update: Adcionar mais branches e substituir os underscores!
Re: iBranch.inc -
#Coringa - 08.06.2015
Muito bom mesmo mano Parabйns (: