[Include] iBranch.inc
#1

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.
Reply
#2

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.
Reply
#3

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
Reply
#4

Difнcil encontrar includes ъteis como esta na board PT.

Bom trabalho.
Reply
#5

Obrigado
Reply
#6

Muito bom. Parabйns.
Reply
#7

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.
Reply
#8

Bacana, vou utilizar em meus scripts.
Reply
#9

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!
Reply
#10

Muito bom mesmo mano Parabйns (:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)