Fala galera do Forum SAMP , hj , um dia chato decidi fazer uma coisa para postar para vocкs !
Um sistema de hospital que ao morrer vocк fica um tempo dentro do mesmo repousando e depois disso, й liberado, mas , tem que pagar o valor de $200 . Dentro do FS tem um unico comando , o /hinfo , que mostra o seu registro no Hospital , o numero de vezes que esteve no hospital e o dinheiro gasto com o mesmo.
pawn Код:
//Nгo retire os crйditos - By Ghost_
#include <a_samp>
#include <Dini>
#define COR_VERMELHO 0xFF8080FF
#define HINFO 1561
#define GH "gH/%s.ini"
forward TempoHospital(playerid);
enum gHInfo
{
MorreuHospital,
FoiHospital,
PagouHospital,
};
new gHospitalInfo[MAX_PLAYERS][gHInfo];
public OnPlayerConnect(playerid)
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new str[20];
format(str, sizeof(str), GH, Nome);
if(!dini_Exists(str))
{
dini_Create(str);
dini_IntSet(str,"MorreuHospital",0);
dini_IntSet(str,"FoiHospital",0);
dini_IntSet(str,"PagouHospital",0);
}
else
{
gHospitalInfo[playerid][MorreuHospital] = dini_Int(str, "MorreuHospital");
gHospitalInfo[playerid][FoiHospital] = dini_Int(str, "FoiHospital");
gHospitalInfo[playerid][PagouHospital] = dini_Int(str, "PagouHospital");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new str[20];
format(str, sizeof(str), GH, Nome);
dini_IntSet(str,"MorreuHospital", gHospitalInfo[playerid][MorreuHospital]);
dini_IntSet(str,"PagouHospital", gHospitalInfo[playerid][PagouHospital]);
dini_IntSet(str,"FoiHospital", gHospitalInfo[playerid][FoiHospital]);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(gHospitalInfo[playerid][MorreuHospital] == 1)
{
SetPlayerPos(playerid, 275.2320,1859.6525,9.8133);
TogglePlayerControllable(playerid, 0);
ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~Voce precisa ~r~descansar ~w~agora...", 15000, 3);
SetTimerEx("TempoHospital", 15000, false, "i", playerid);
gHospitalInfo[playerid][FoiHospital] += 1;
return 1;
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
gHospitalInfo[playerid][MorreuHospital] = 1;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/hinfo", cmdtext, true, 10) == 0)
{
new string[256];
format(string, sizeof(string), "{FFFFFF}Vocк visitou o Hospital de All Saints {FF8080}%d vezes.\n{FFFFFF}Vocк pagou {00FF00}$%d {FFFFFF}para o Hospital de All Saints.", gHospitalInfo[playerid][FoiHospital],gHospitalInfo[playerid][PagouHospital]);
ShowPlayerDialog(playerid,HINFO,DIALOG_STYLE_MSGBOX,"All Saints Hospital",string,"Fechar","");
return 1;
}
return 0;
}
public TempoHospital(playerid)
{
SendClientMessage(playerid, -1, "Doutor diz: Vocк jб estб se sentindo melhor, pode ir para casa.");
SendClientMessage(playerid, COR_VERMELHO, "* Fatura mйdica custou $200.");
gHospitalInfo[playerid][PagouHospital] += 200;
GivePlayerMoney(playerid, -200);
SpawnPlayer(playerid);
ClearAnimations(playerid);
TogglePlayerControllable(playerid, 1);
SetPlayerPos(playerid, 1182.5638,-1323.5256,13.5790);
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerInterior(playerid,0);
gHospitalInfo[playerid][MorreuHospital] = 0;
return 1;
}