SA-MP Forums Archive
[Tutorial] Hospital System Tutorial. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Hospital System Tutorial. (/showthread.php?tid=289753)



Hospital System Tutorial. - Lipe_Stronda - 12.10.2011




Irei mostrar a vocкs como criar um basico sistema de hospital, como varios servers rpg usam uns bugados, irei disponibilizar meu tutorial de como criar um.

Descriзгo: Sistema basico, serve tanto para servidores de DeathMatch ou RolePlaying
Detalhes: Irei explicar detalhe por detalhe
pawn Код:
new Hospital[MAX_PLAYERS];
new Hospital[MAX_PLAYERS]; Essa varial vai ser usada para fazer o sistema.
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    Hospital[playerid] = 1;
    return 1;
}
public OnPlayerDeath(playerid, killerid, reason) Public de quando a pessoa morre.
{ Abre a chave
Hospital[playerid] = 1; Usamos a varial que definimos no topo, setamos Hospital para 1
return 1; Retorna a 1
} Fecha a chave
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(Hospital[playerid] == 1)
    {
        SetPlayerPos(playerid, X,Y,Z);
        TogglePlayerControllable(playerid, false);
        SetTimerEx("Curando", 5000, false, "i", playerid);
        SendClientMessage(playerid, 0xFF3030FF,"[Hospital] Vocк estб sendo curado.");
        // Vocк pode acrescentar mais coisas ao seu gosto.
    }
    return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate) Public que usamos para fazer o sistema, ela checa tudo se hospital й igual a 1 ou igual a 0.
{ Abre a chave
if(Hospital[playerid] == 1) Verifica se Hospital й igual a 1
{ Abre outra Chave
SetPlayerPos(playerid, X,Y,Z); Seta o player para uma coordenada. Troque X Y Z pela coordenada que vocк queira.
TogglePlayerControllable(playerid, false); Congela o player, True Descongela False congela
SetTimerEx("Curando", 5000, false, "i", playerid); Timer de 5000 = 5 segundos, False = Nгo vai chamar a timer novamente so vai ser executada quando tiver com hospital igual a 1.
SendClientMessage(playerid, 0xFF3030FF,"[Hospital] Vocк estб sendo curado.");
Manda a mensagem para o player, 0xFF3030FF й a cor, [Hospital] Vocк estб sendo curado. й a mensagem que manda.
} fecha a primeira chave
return 1; retorna a 1
}
fecha a segunda chave aberta.
pawn Код:
forward Curando(playerid);
public Curando(playerid)
{
    TogglePlayerControllable(playerid, true);
    Hospital[playerid] = 0;
    SetPlayerPos(playerid, X,Y,Z);
    GivePlayerMoney(playerid, -200);
    SendClientMessage(playerid, 0xFF3030FF,"[Hospital] Medico KidBengala le curou, preзo: 200");
}
forward Curando(playerid); Define a callback Curando ( Usada no timer )
public Curando(playerid) Callback jб definida, quando estб com hospital igual a 1, ela й chamada
{ Abre a Chave
TogglePlayerControllable(playerid, true); Como expliquei la em cima, True descongela e False Congela
Hospital[playerid] = 0; Seta a varial Hospital a 0
SetPlayerPos(playerid, X,Y,Z); Seta o player para uma coordenada. Troque X Y Z pela coordenada que vocк queira.
GivePlayerMoney(playerid, -200); Tira 200 reais do player.
SendClientMessage(playerid, 0xFF3030FF,"[Hospital] Medico KidBengala le curou, preзo: 200"); Manda a mensagem, 0xFF3030FF й a cor, [Hospital] Medico KidBengala le curou, preзo: 200 й a mensagem
} Fecha a chave
Caso estiver algo errado me avise. obg

Creditos: Lipe_Stronda



Re: Hospital System Tutorial. - [O.z]Caroline - 12.10.2011

parabйns, bom tutorial!

usa 'bool' na prуxima vez =)


Re: Hospital System Tutorial. - Lipe_Stronda - 12.10.2011

Quote:
Originally Posted by [O.z]Caroline
Посмотреть сообщение
parabйns, bom tutorial!

usa 'bool' na prуxima vez =)
nunca usei, pode me mostrar algum tutorial?


Re: Hospital System Tutorial. - [O.z]Caroline - 12.10.2011

й muito fбcil usar.

pawn Код:
new bool:Admin[MAX_PLAYERS];


Virar Admin:

pawn Код:
Admin[playerid] = true;

if(Admin[playerid] == true)
{
     print("й admin");
}
if(Admin[playerid] == false)
{
     print("nгo й admin");
}

Ps: nome 'Admin' й sу um exemplo.


Re: Hospital System Tutorial. - Lipe_Stronda - 12.10.2011

Quote:
Originally Posted by [O.z]Caroline
Посмотреть сообщение
й muito fбcil usar.

pawn Код:
new bool:Admin[MAX_PLAYERS];


Virar Admin:

pawn Код:
Admin[playerid] = true;

if(Admin[playerid] == true)
{
     print("й admin");
}
if(Admin[playerid] == false)
{
     print("nгo й admin");
}

Ps: nome 'Admin' й sу um exemplo.
facil, obg caroline.


Re: Hospital System Tutorial. - Liba.Nakajima - 12.10.2011

Bom tutorial.
Se tivesse feito a dois dias atrбs eu teria muito menos trabalho.
O GM que eu uso que й o que vocк cita na descriзгo que estб bugado, ele nгo seta a variбvel pra 1 quando o player morre.
Era esse o problema.
Enfim, muito bom, explicou tudo.


Re: Hospital System Tutorial. - Dolby - 12.10.2011

Bom Tutorial..

@Vale Lembrar que Bool trabalha somente com True e False,e nao 0 e 1.


Re: Hospital System Tutorial. - [O.z]Caroline - 12.10.2011

Quote:
Originally Posted by Gustavo_Araujo
Посмотреть сообщение
@Vale Lembrar que Bool trabalha somente com True e False,e nao 0 e 1.
errado.
a tйcnica boorleana trabalha com True, False, 1, 0 , 0x1 , 0x0.
como tambйm:

pawn Код:
new bool:carol;



if(!carol) // mesma coisa que if(carol == true)
if(carol) // mesma coisa que if(carol == false)



Re: Hospital System Tutorial. - Lipe_Stronda - 12.10.2011

Quote:
Originally Posted by Liba.Nakajima
Посмотреть сообщение
Bom tutorial.
Se tivesse feito a dois dias atrбs eu teria muito menos trabalho.
O GM que eu uso que й o que vocк cita na descriзгo que estб bugado, ele nгo seta a variбvel pra 1 quando o player morre.
Era esse o problema.
Enfim, muito bom, explicou tudo.
obg.

Quote:
Originally Posted by Gustavo_Araujo
Посмотреть сообщение
Bom Tutorial..

@Vale Lembrar que Bool trabalha somente com True e False,e nao 0 e 1.
obg.


Re: Hospital System Tutorial. - Shelby - 12.10.2011

Quote:
Originally Posted by [O.z]Caroline
Посмотреть сообщение
errado.
a tйcnica boorleana trabalha com True, False, 1, 0 , 0x1 , 0x0.
como tambйm:

pawn Код:
new bool:carol;



if(!carol) // mesma coisa que if(carol == true)
if(carol) // mesma coisa que if(carol == false)
O bool(pelo menos em pawn) sу aceita true e false(em comparaзгo pode se usar if(!bool) ou if(bool)).