Anteriormente eu fiz um tutorial de doenças e agora vou criar um tutorial de farmacia.
Para poder acompanhar esse tutorial direitinho leia o de criação de doenças antes. Clique aqui para ve-lo.
Primeiro você precisa do include para criar Checkpoints muito mais facilmente.
*Tio Cr0Nos porque vamos usar um Cheackpoint?
Resposta: Para ficar mais real, vamos fazer um local onde você possa executar o comando de comprar o remédio. Na vida real não é só você imaginar o remédio em qualquer lugar e ele vai aparecer, não é mesmo?
Vamos criar uma array no topo do gamemode para representar o Checkpoint:
new CP_FARMACIA;
Agora no OnGameModeInit vamos fazer com que a variavel represente o Checkpoint:
CP_FARMACIA = CPS_AddCheckpoint(X,Y,Z,TAMANHO,DISTANCIA);
X: Coordenada X
Y: Coordenada Y
Z: Coordenada Z
TAMANHO: Tamanho do Checkpoint (Aconselhavel 2.0)
DISTANCIA Distancia para o Checkpoint aparecer
Agora vamos fazer com que quando alguem entre no Checkpoint apareça uma mensagem na tela. No OnPlayerEnterCheckpoint use o comparador If para ver se o player está no checkpoint da farmacia para aparecer a mensagem:
if(CPS_IsPlayerInCheckpoint(playerid,CP_FARMACIA))
{
GameTextForPlayer(playerid,"~n~~n~~r~FARMACIA~n~~w~/comprarremedio",TEMPO,ESTILO);
}
TEMPO: Tempo que a mensagem vai ficar na tela(Aconselhavel 10000 milesimos de segundos(10 segundos)).
ESTILO: Estilo do GameText (estilos de 1 à 6).
Agora vamos criar o comando de comprar remédio. No OnPlayerCommandText:
if(strcmp(cmd, "/comprarremedio", true) == 0)
{
if(IsPlayerInCheckpoint(playerid) == CP_FARMACIA) //se você estiver no checkpoint certo o comando será executado
{
if(GetPlayerMoney(playerid) >= 50) // se o dinheiro do player for maior ou igual a 50 ele poderá comprar o remédio
if(Gripe[playerid] > 0) // se a gripe for maior que zero ele poderá comprar o remédio
{
GivePlayerMoney(playerid, -50); //diminue $50 do player
Gripe[playerid] = 0; //seta a array da gripe para 0
SetPlayerHealth(playerid, 100.0); //seta a vida do player para 100%
}
else if(GetPlayerMoney(playerid) < 50) //mais se o dinheiro do player for menor que $50 o comando não é executado e um aviso aparecerá no chat
{
SendClientMessage(playerid, COR, "Você não tem $50 para comprar o remédio!"); //mensagem que aparecerá no chat
}
else if(Gripe[playerid] <= 0) //mais se a array Gripe for menor ou igual a 0 o comando não será executado e um aviso aparecerá no chat
{
SendClientMessage(playerid, COR, "Você não está gripado!"); //mensagem que aparecerá no chat
}
}
else if(CPS_GetPlayerCheckpoint(playerid) != CP_FARMACIA) //mais se o player estiver ou não em um Checkpoint que não seja da farmacia o comando não é executado e um aviso aparecerá no chat
{
SendClientMessage(playerid, COR, "Você não está no Checkpoint da farmacia!"); //mensagem que aparecerá no chat
}
return 1;
}
E está pronto nossa farmacia. Até logo pessoal.
Feito por: Cr0Nos
Categories:
Tutoriais de PAWN
Assinar:
Postar comentários (Atom)
quando eu fui compila deu erro:
error 017: undefined symbol "CPS_AddCheckpoint"
warning 217: loose indentation
error 017: undefined symbol "cmd"
error 017: undefined symbol "CPS_GetPlayerCheckpoint"
warning 217: loose indentation
error 017: undefined symbol "CPS_IsPlayerInCheckpoint"
Me ajuda ai
Aprendo bastante no seu blog cr0nos !
Parabéns !
Estou criando um servidor de RPG e ainda estou aprendendo sobre Scripts.
c(=