14.10.2011, 00:16
(
Последний раз редактировалось Shelby; 20.11.2014 в 16:03.
)
Informaзхes:
Uma include na qual permite controlar mбquinas de sprunk/candy/soda pelo mapa.
Vantagens:
Com isso, vocк pode fazer essas maquinas totalmente server-sided. Caso o seu servidor use dinheiro server-side por prevenзгo de cheats vocк pode fazer as maquinas sу funcionarem com o dinheiro do seu servidor. E juntamente com a nova funзгo do sa-mp 0.3d RemoveBuildingForPlayer, vocк poderб remover as outras maquinas e deixar apenas as server-side.
ChangeLOG:
Natives:
Mбquinas:
Maquinas:
Atenзгo:
Й necessбrio adicionar a seu script esta callback:
Como criar uma mбquina?
Saнda:
Como usar OnPlayerUseMachine?
Aqui um pequeno exemplo de como esta callback funciona:
Agradecimentos:
• ****** - Modo fбcil e prбtico de chamar callbacks.
• Equipe SAMP(past/present/future) - SAMP
Uma include na qual permite controlar mбquinas de sprunk/candy/soda pelo mapa.
Vantagens:
Com isso, vocк pode fazer essas maquinas totalmente server-sided. Caso o seu servidor use dinheiro server-side por prevenзгo de cheats vocк pode fazer as maquinas sу funcionarem com o dinheiro do seu servidor. E juntamente com a nova funзгo do sa-mp 0.3d RemoveBuildingForPlayer, vocк poderб remover as outras maquinas e deixar apenas as server-side.
ChangeLOG:
Код:
Versгo 2.5 • Nova callback(OnPlayerUseMachine), na qual permite vocк ter controle total das maquinas. Versгo 2.1 • Corrigido problemas com radiaзгo das mбquinas. Versгo 2.0 • Adicionado duas novas mбquinas. • Quantia de vida que a mбquina recupera pode ser configurada. • Mбquinas podem ser ativadas e desativadas a qualquer momento. Versгo 1.0 • Primeiro lanзamento.
pawn Код:
native CreateMachine(machineid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:life = 35.0, bool:active = true);
native OnPlayerUseMachine(playerid, machineid, Float:oldhealth, Float:newhealth);
native GetXYInFrontOfMachine(machineid, &Float:x, &Float:y, Float:distance);
native GetMachineRotation(machineid, &Float:rx, &Float:ry, &Float:rz);
native SetMachineRotation(machineid, Float:rx, Float:ry, Float:rz);
native GetMachinePos(machineid, &Float:x, &Float:y, &Float:z);
native SetMachinePos(machineid, Float:x, Float:y, Float:z);
native SetMachineRecover(machineid, Float:life);
native SetMachineActive(machineid, bool:active);
native GetMachineRecover(machineid);
native GetMachineActive(machineid);
native DeleteMachine(machineid);
native mexist(machineid);
pawn Код:
#define MACHINE_CANDY (956)
#define MACHINE_SPRUNK (955)
#define MACHINE_SODA (1302)
Atenзгo:
Й necessбrio adicionar a seu script esta callback:
pawn Код:
public OnPlayerUseMachine(playerid, machineid, Float:oldhealth, Float:newhealth)
{
return 1;
}
pawn Код:
#include <mLibrary>
public OnGameModeInit()
{
CreateMachine(MACHINE_SPRUNK, 2325.66, -1650.79, 13.15, 0.00, 0.00, 0.00);
return 1;
}
Como usar OnPlayerUseMachine?
Aqui um pequeno exemplo de como esta callback funciona:
pawn Код:
public OnPlayerUseMachine(playerid, machineid, Float:oldhealth, Float:newhealth)
{
if(!GetMachineActive(machineid))
return SendClientMessage(playerid, -1, "(*) Desculpe esta maquina estб com defeito."), 0;
if(GetPlayerMoney(playerid) < 1)
return SendClientMessage(playerid, -1, "(*) Vocк nгo possui dinheiro suficiente."), 0;
GivePlayerMoney(playerid, -1);
new MACHINE_STRING[128];
format(MACHINE_STRING, sizeof MACHINE_STRING, "(*) Vocк bebeu na maquina %i com %f de vida e ficou com %f de vida. Valor recuperado: %f", machineid, oldhealth, newhealth, newhealth-oldhealth);
SendClientMessage(playerid, -1, MACHINE_STRING);
return 1;
}
• ****** - Modo fбcil e prбtico de chamar callbacks.
• Equipe SAMP(past/present/future) - SAMP