[Tutorial] [TUT] Sistema de viagens simples
#1

Ola pessoal, visto que eu entrei para aqui e nгo sabia fazer nada de pawn e agora ja sei algumas cenas vim postar meu primeiro tutorial para tentar ajudar tambйm.

Й um bбsico sobre Viagens no aeroporto.
1є passo:

vamos buscar as coordenadas dos 3 aeroportos. (chegar no local e /save)

Код:
LS	(1731.6035,-2200.9861,13.5469)
SF	(-1423.0099,-290.4856,14.1484)	
LV	(1675.7510,1490.8715,10.7708)
2є Passo:

Vamos comeзar por criar um Pickup em cada aeroporto.

no topo
pawn Код:
define COLOR_DARKRED 0x660000AA
#define LIGHTBLUE 0x33CCFFAA
#define ORANGE 0xFF9900AA
new aero_ls;
new aero_sf;
new aero_lv;

em OnGameModeInit
pawn Код:
aero_ls = CreatePickup(1318, 2, 1731.6035,-2200.9861,13.5469);// cria um pick up em aeroporto LS
aero_sf = CreatePickup(1318, 2, -1423.0099,-290.4856,14.1484);// cria um pick up em aeroporto SF
aero_lv = CreatePickup(1318, 2, 1675.7510,1490.8715,10.7708);// cria um pick up em aeroporto LV
Em OnPlayerConnect (facultativo) isto й para criar um icon no mapa com a localizaзгo
pawn Код:
SetPlayerMapIcon( playerid, 18, 1731.6035,-2200.9861,13.5469, 5, 0);//aeroporto LS
SetPlayerMapIcon( playerid, 19, -1423.0099,-290.4856,14.1484, 5, 0);//aeroporto SF
SetPlayerMapIcon( playerid, 20, 1675.7510,1490.8715,10.7708, 5, 0);//aeroporto LV

Em public OnPlayerPickUpPickup(playerid, pickupid) (se nao tiveres esta public Cria)
pawn Код:
if(pickupid == aero_ls)
{
SendClientMessage(playerid, ORANGE, "Bem Vindo ao Aeroporto de Los Santos ");
SendClientMessage(playerid, LIGHTBLUE, "Queres ir para que cidade?");
SendClientMessage(playerid, LIGHTBLUE, "Para San Fierro /lssf");
SendClientMessage(playerid, LIGHTBLUE, "Para Las Venturas /lslv");
}
if(pickupid == aero_sf)
{
SendClientMessage(playerid, ORANGE, "Bem Vindo ao Aeroporto de San Fierro ");
SendClientMessage(playerid, LIGHTBLUE, "Queres ir para que cidade?");
SendClientMessage(playerid, LIGHTBLUE, "Para Los Santos /sfls");
SendClientMessage(playerid, LIGHTBLUE, "Para Las Venturas /sflv");
}
if(pickupid == aero_lv)
{
SendClientMessage(playerid, ORANGE, "Bem Vindo ao Aeroporto de Las Venturas ");
SendClientMessage(playerid, LIGHTBLUE, "Queres ir para que cidade?");
SendClientMessage(playerid, LIGHTBLUE, "Para San Fierro /lvsf");
SendClientMessage(playerid, LIGHTBLUE, "Para Los Santos /lvls");
}
3є passo:

Agora que jб temos criados os pickups, os textos que se apresentam ao passar neles e os icons no mapa vamos passar para a criaзгo dos teleports

Em OnPlayerCommandText

pawn Код:
if (strcmp("/lssf", cmdtext, true)==0)
        {
        if(IsPlayerInRangeOfPoint(playerid,15,1731.6035,-2200.9861,13.5469)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Vocк nгo estб perto do aeroporto!");
        if(GetPlayerMoney(playerid)<1000) return SendPlayerMessageToPlayer(playerid,COLOR_DARKRED,"Vocк nгo tem dinheiro suficiente para pagar a viagem!");
                SendClientMessage(playerid, COLOR_DARKRED, "Ben-Vindo ao Aeroporto de San Fierro");
                SendClientMessage(playerid, COLOR_DARKRED, "1000Ђ o bilhete");
                SetPlayerPos(playerid,-1423.0099,-290.4856,14.1484);
                GivePlayerMoney(playerid,-1000);
        return 1;
        }

if (strcmp("/lslv", cmdtext, true)==0)
        {
        if(IsPlayerInRangeOfPoint(playerid,15,1731.6035,-2200.9861,13.5469)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Vocк nгo estб perto do aeroporto!");
        if(GetPlayerMoney(playerid)<1000) return SendPlayerMessageToPlayer(playerid,COLOR_DARKRED,"Vocк nгo tem dinheiro suficiente para pagar a viagem!");
                SendClientMessage(playerid, COLOR_DARKRED, "Ben-Vindo ao Aeroporto de Las Venturas");
                SendClientMessage(playerid, COLOR_DARKRED, "1000Ђ o bilhete");
                SetPlayerPos(playerid,1675.7510,1490.8715,10.7708);
                GivePlayerMoney(playerid,-1000);
        return 1;
        }
if (strcmp("/sfls", cmdtext, true)==0)
        {
        if(IsPlayerInRangeOfPoint(playerid,15,-1423.0099,-290.4856,14.1484)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Vocк nгo estб perto do aeroporto!");
        if(GetPlayerMoney(playerid)<1000) return SendPlayerMessageToPlayer(playerid,COLOR_DARKRED,"Vocк nгo tem dinheiro suficiente para pagar a viagem!");
                SendClientMessage(playerid, COLOR_DARKRED, "Ben-Vindo ao Aeroporto de Los Santos");
                SendClientMessage(playerid, COLOR_DARKRED, "1000Ђ o bilhete");
                SetPlayerPos(playerid,1731.6035,-2200.9861,13.5469);
                GivePlayerMoney(playerid,-1000);
        return 1;
        }
if (strcmp("/sflv", cmdtext, true)==0)
        {
        if(IsPlayerInRangeOfPoint(playerid,15,-1423.0099,-290.4856,14.1484)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Vocк nгo estб perto do aeroporto!");
        if(GetPlayerMoney(playerid)<1000) return SendPlayerMessageToPlayer(playerid,COLOR_DARKRED,"Vocк nгo tem dinheiro suficiente para pagar a viagem!");
                SendClientMessage(playerid, COLOR_DARKRED, "Ben-Vindo ao Aeroporto de Las Venturas");
                SendClientMessage(playerid, COLOR_DARKRED, "1000Ђ o bilhete");
                SetPlayerPos(playerid,1675.7510,1490.8715,10.7708);
                GivePlayerMoney(playerid,-1000);
        return 1;
        }
if (strcmp("/lvls", cmdtext, true)==0)
        {
        if(IsPlayerInRangeOfPoint(playerid,15,1675.7510,1490.8715,10.7708)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Vocк nгo estб perto do aeroporto!");
        if(GetPlayerMoney(playerid)<1000) return SendPlayerMessageToPlayer(playerid,COLOR_DARKRED,"Vocк nгo tem dinheiro suficiente para pagar a viagem!");
                SendClientMessage(playerid, COLOR_DARKRED, "Ben-Vindo ao Aeroporto de Los Santos");
                SendClientMessage(playerid, COLOR_DARKRED, "1000Ђ o bilhete");
                SetPlayerPos(playerid,1731.6035,-2200.9861,13.5469);
                GivePlayerMoney(playerid,-1000);
        return 1;
        }
if (strcmp("/lvsf", cmdtext, true)==0)
        {
        if(IsPlayerInRangeOfPoint(playerid,15,1675.7510,1490.8715,10.7708)==0) return SendClientMessage(playerid, COLOR_DARKRED, "Vocк nгo estб perto do aeroporto!");
        if(GetPlayerMoney(playerid)<1000) return SendPlayerMessageToPlayer(playerid,COLOR_DARKRED,"Vocк nгo tem dinheiro suficiente para pagar a viagem!");
                SendClientMessage(playerid, COLOR_DARKRED, "Ben-Vindo ao Aeroporto de San Fierro");
                SendClientMessage(playerid, COLOR_DARKRED, "1000Ђ o bilhete");
                SetPlayerPos(playerid,-1423.0099,-290.4856,14.1484);
                GivePlayerMoney(playerid,-1000);
        return 1;
        }
se funcionar mal uzem antes
Код:
SendClientMessage(playerid, COLOR_DARKRED,
em vez de
SendPlayerMessageToPlayer(playerid,COLOR_DARKRED,
Espero que sirva para alguйm e como й um Tutorial bem simples penso que todos compreenderam.
Alguma coisa sу explicar.

Com ajuda do pessoal aqui do fуrum, aprendendo aqui e ali consegui criar algumas coisas. se gostarem posto mais

Creditos: Rick_DR



Код:
EDIT: jб nгo deixa viajar sem ter dinheiro.
Reply
#2

Sinto te dize... mais isso nгo й tutorial, e sim CODE
Reply
#3

Como assim amigo ??
Reply
#4

Sinto te dize... mais isso nгo й tutorial, e sim CODE [2[
Reply
#5

Vocк apenas colocou os cуdigos, nгo explicou como funciona, etc
Reply
#6

Quote:
Originally Posted by Guilherme_Canani
Vocк apenas colocou os cуdigos, nгo explicou como funciona, etc
eu achei simples de mais para estar a explicar passo a passo. mas lamento. peзo a quem poder para apagar o tуpico.
Reply
#7

Mesmo Assim Bom Cуdigos Amigos Bjuss
Reply
#8

Quote:
Originally Posted by Rick_DR
Como assim amigo ??
Seria bom ter GetPlayerMoney pra a grana nгo ficar negativa.
Reply
#9

Muito Maneiro ,
Vou usar no meu GM RPG.
Reply
#10

Pois й esqueci mesmo de por isso .. vou tentar actualizar ainda hoje. porque ainda nгo aprendi bem a usar essa opзгo

Edit: Actualizado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)