SA-MP Forums Archive
[Tutorial] [TUT] Sistema de viagens simples - 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)
+---- Thread: [Tutorial] [TUT] Sistema de viagens simples (/showthread.php?tid=145356)



[TUT] Sistema de viagens simples - Rick_DR - 01.05.2010

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.



Re: [TUT] Sistema de viagens simples - Guilherme_Canani - 01.05.2010

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


Re: [TUT] Sistema de viagens simples - Rick_DR - 01.05.2010

Como assim amigo ??


Re: [TUT] Sistema de viagens simples - BurrodaZero - 01.05.2010

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


Re: [TUT] Sistema de viagens simples - Guilherme_Canani - 01.05.2010

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


Re: [TUT] Sistema de viagens simples - Rick_DR - 01.05.2010

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.


Re: [TUT] Sistema de viagens simples - ipsBruno - 02.05.2010

Mesmo Assim Bom Cуdigos Amigos Bjuss


Re: [TUT] Sistema de viagens simples - SuB_ZeRo0_ - 02.05.2010

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


Re: [TUT] Sistema de viagens simples - Lipepva - 02.05.2010

Muito Maneiro ,
Vou usar no meu GM RPG.


Re: [TUT] Sistema de viagens simples - Rick_DR - 02.05.2010

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

Edit: Actualizado