[Tutorial] Hospital System Tutorial.
#1




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

parabйns, bom tutorial!

usa 'bool' na prуxima vez =)
Reply
#3

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

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

й 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.
Reply
#5

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

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

Bom Tutorial..

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

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)
Reply
#9

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

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)).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)