Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ________________________________________________________________________________
- # - @Nome: - CoyCard - Sistema de Carteirinha
- # - @Desenvolvedor: - [iPs]Corey
- # - @Ínicio: - 11/10/2013
- # - @Término: - 11/10/2013
- @Visite: - http://ipsbr.net/
- ________________________________________________________________________________
- */
- /* Includes */
- #include "a_samp"
- #include "DOF2"
- #include "ZCMD"
- #include "streamer"
- /* Defines */
- #define DialogCard 1542
- #define DialogCard2 1543
- #define DialogCard3 1544
- #define DialogCard4 1545
- #define DialogCard5 1546
- #define sCards "CoyCard/%s.ini"
- #define xErro 0xFF0000FF
- /* Variáveis */
- new CP1, CP2, PK1, PK2;
- new Meia[ MAX_PLAYERS ] = 1;
- new Inteira[ MAX_PLAYERS ] = 2;
- /* CallBacks */
- public OnFilterScriptInit()
- {
- CP1 = CreateDynamicCP( 361.9933, 173.7507, 1008.3828, 1.0, -1, -1, -1, 100.0 );
- CP2 = CreateDynamicCP( 359.8259, 178.5319, 1008.3828, 1.0, -1, -1, -1, 100.0 );
- PK1 = CreatePickup( 1318, 23, 1154.0476, -1771.9907, 16.5992, -1);
- PK2 = CreatePickup( 1318, 23, 389.8954, 173.6960, 1008.3828, -1);
- Create3DTextLabel("CoyCard - Escritório\n{FFFFFF}/Entrar", 0xFFB90FFF, 1154.0476, -1771.9907, 16.5992, 40.0, 0, 0);
- Create3DTextLabel("CoyCard\n{FFFFFF}/Carteirinha", 0xFFB90FFF, 361.9933, 173.7507, 1008.3828, 40.0, 0, 0);
- Create3DTextLabel("CoyCard\n{FFFFFF}/CardCred", 0xFFB90FFF, 359.8259, 178.5319, 1008.3828, 40.0, 0, 0);
- CreateVehicle(431, 1094.1263,-1761.1437,13.3584,271.8659, 222, 222, 60);
- printf("------------------------------\n");
- printf("CoyCard / v1.0 / [iPs]Corey\n");
- printf("------------------------------");
- return 1;
- }
- public OnFilterScriptExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new xArq[ 50 ];
- format(xArq, sizeof xArq, sCards, PlayerName(playerid));
- if(dialogid == DialogCard)
- {
- if(response)
- {
- if(!DOF2_FileExists(xArq))
- {
- DOF2_CreateFile(xArq);
- DOF2_SetInt(xArq, "Carteirinha", 1);
- DOF2_SetInt(xArq, "Creditos", 0);
- DOF2_SaveFile();
- SendClientMessage(playerid, -1,"[ {00FF00}•{FFFFFF} ] Você se cadastrou em nosso sistema com sucesso!");
- return 1;
- }
- else SendClientMessage(playerid, xErro,"[ x ] Você já é cadastrado em nosso sistema.");
- }
- }
- if(dialogid == DialogCard2)
- {
- if(response)
- {
- if(GetPlayerMoney(playerid) > Meia[ playerid ])
- {
- GivePlayerMoney(playerid, - Meia[ playerid ]);
- SendClientMessage(playerid, -1,"[ {00FF00}•{FFFFFF} ] Tarifa paga!");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, xErro,"[ x ] Dinheiro insuficiente.");
- RemovePlayerFromVehicle(playerid);
- return 1;
- }
- }
- else
- {
- if(GetPlayerMoney(playerid) > Inteira[ playerid ])
- {
- GivePlayerMoney(playerid, - Inteira[ playerid ]);
- SendClientMessage(playerid, -1,"[ {00FF00}•{FFFFFF} ] Tarifa paga!");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, xErro,"[ x ] Dinheiro insuficiente.");
- RemovePlayerFromVehicle(playerid);
- return 1;
- }
- }
- }
- if(dialogid == DialogCard3)
- {
- if(response)
- {
- new credt = strval(inputtext);
- new creditos = DOF2_GetInt(xArq, "Creditos");
- new money = GetPlayerMoney(playerid);
- if( strfind(inputtext, "-", true) != -1 || credt <= 0 ) return SendClientMessage(playerid, -1 ,"[ {FF0000}x {FFFFFF}] Valor inválido.");
- if( money < credt) return SendClientMessage(playerid, xErro,"[ x ] Você não tem essa quantia.");
- DOF2_SetInt(xArq, "Creditos", credt + creditos);
- GivePlayerMoney(playerid, -credt);
- DOF2_SaveFile();
- new acredit = DOF2_GetInt(xArq, "Creditos");
- new xCoy[ 200 ];
- format(xCoy, sizeof xCoy,"{FFA500}Parabéns!\n\n{FFFFFF}Você adicionou em sua carteirinha R$%d de créditos. Os créditos já estão disponíveis para serem usados.\n\nSeu crédito: R$%d", credt, acredit);
- ShowPlayerDialog(playerid, DialogCard4, DIALOG_STYLE_MSGBOX,"CoyCard - Comprovante", xCoy, #Fechar, #);
- return 1;
- }
- return 1;
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- new xArq[ 50 ];
- format(xArq, sizeof xArq, sCards, PlayerName(playerid));
- if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_PASSENGER)
- {
- if(IsPlayerInBus(playerid))
- {
- if(DOF2_GetInt(xArq,"Carteirinha") == 1)
- {
- if(DOF2_GetInt(xArq,"Creditos") == 0)
- {
- new creditos = DOF2_GetInt(xArq, "Creditos");
- new xCoy[ 180 ];
- format(xCoy, sizeof xCoy, "{FFD700}Escolha abaixo a forma que você deseja para pagar sua passagem.\n\n{FFFFFF}Você não possui créditos em sua carteirinha, portanto, terá que pagar com seu dinheiro.", creditos);
- ShowPlayerDialog(playerid, DialogCard2, DIALOG_STYLE_MSGBOX, "{FFFFFF}[ ~ ] CoyCard", xCoy, #Meia, #Inteira);
- return 1;
- }
- else if(DOF2_GetInt(xArq,"Creditos") >= Meia[ playerid ])
- {
- new creditos = DOF2_GetInt(xArq, "Creditos");
- new xCoy[ 190 ];
- DOF2_SetInt(xArq, "Creditos", creditos - Meia[ playerid ]);
- DOF2_SaveFile();
- new acredit = DOF2_GetInt(xArq, "Creditos");
- format(xCoy, sizeof xCoy, "{FFD700}Você possui créditos em sua carteirinha, portanto, não precisa pagar nada.\nSua passagem será descontada nos créditos de sua carteirinha.\n\nMeia: $%d\nNovo saldo: $%d", Meia[ playerid ], acredit);
- ShowPlayerDialog(playerid, DialogCard5, DIALOG_STYLE_MSGBOX, "{FFFFFF}CoyCard", xCoy, #Fechar, #);
- return 1;
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- if(pickupid == PK1) return SendClientMessage(playerid, 0xDCDCDCFF,"[ • ] Para entrar no escritório CoyCard, digite '{FFFFFF}/entrar{DCDCDC}'.");
- else if(pickupid == PK2) return SendClientMessage(playerid, 0xDCDCDCFF, "[ • ] Para sair do escritório CoyCard, digite '{FFFFFF}/sair{DCDCDC}'.");
- return 1;
- }
- /* Commands */
- CMD:entrar(playerid)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, 1154.0476,-1771.9907,16.5992))
- {
- SetPlayerPos(playerid, 380.0053, 173.6629, 1008.3828 );
- SetPlayerInterior(playerid, 3 );
- return 1;
- }
- else SendClientMessage(playerid, xErro,"[ x ] Você não está na entrada do escritório do terminal.");
- return 1;
- }
- CMD:sair(playerid)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, 389.8954, 173.6960, 1008.3828))
- {
- SetPlayerPos(playerid, 1154.0476 ,-1771.9907, 16.5992);
- SetPlayerInterior(playerid, 0);
- return 1;
- }
- else SendClientMessage(playerid, xErro,"[ x ] Você não está na saída do escritório do terminal.");
- return 1;
- }
- CMD:carteirinha(playerid)
- {
- if(IsPlayerInDynamicCP(playerid, CP1))
- {
- new xCoy[ 510 ], xCoy1[ 510 ];
- format(xCoy, sizeof xCoy,"{FFFFFF}Ao se cadastrar no sistema de carteirinha, você irá pagar apenas uma Meia passagem.\n\n");
- strcat(xCoy1, xCoy);
- format(xCoy, sizeof xCoy,"{FFFFFF}Ao entrar em um ônibus, se você for cadastrado no sistema, você receberá uma notificação\nperguntando se você quer utilizar a carteirinha para pagar a tarifa, ou não.\n");
- strcat(xCoy1, xCoy);
- format(xCoy, sizeof xCoy,"{FFFFFF}Se você não tiver um cadastro no sistema, você irá pagar a passagem Inteira. ( Tabela de preços abaixo. )\n\n");
- strcat(xCoy1, xCoy);
- format(xCoy, sizeof xCoy,"{FFFFFF}• Tabela de preços:\n 1) - Meia passagem: {32CD32}$%d\n {FFFFFF}2) - Passagem Inteira: {32CD32}$%d\n\n", Meia[ playerid ], Inteira[ playerid ]);
- strcat(xCoy1, xCoy);
- ShowPlayerDialog(playerid, DialogCard, DIALOG_STYLE_MSGBOX, "CoyCard - Cadastro", xCoy1, #Cadastrar, #Cancelar);
- return 1;
- }
- else SendClientMessage(playerid, xErro,"[ x ] Você não esta no escritório CoyCard.");
- return 1;
- }
- CMD:cardcred(playerid)
- {
- if(IsPlayerInDynamicCP(playerid, CP2))
- {
- new xArq[ 50 ];
- format(xArq, sizeof xArq, sCards, PlayerName(playerid));
- if(DOF2_FileExists(xArq))
- {
- new xCoy[ 200 ];
- format(xCoy, sizeof xCoy, "{FFFFFF}Digite abaixo a quantia de créditos que você deseja colocar em sua carteirinha.\n\nObs: Os créditos só podem ser usados para pagar sua passagem.");
- ShowPlayerDialog(playerid, DialogCard3, DIALOG_STYLE_INPUT, "{FFFFFF}[ - ]CoyCard", xCoy, #Comprar, #Cancelar);
- return 1;
- }
- else SendClientMessage(playerid, xErro,"[ x ] Você não possui um cadastro em nosso sistema.");
- }
- else SendClientMessage(playerid, xErro, "[ x ] Você não está na área para colocar créditos em sua carteirinha.");
- return 1;
- }
- CMD:ircoycard(playerid)
- return SetPlayerPos(playerid, 1153.6833, -1766.8528, 16.5938);
- /* Stocks */
- PlayerName(playerid)
- {
- new pname[ MAX_PLAYER_NAME+1 ];
- GetPlayerName(playerid, pname, sizeof pname);
- return pname;
- }
- IsPlayerInBus(playerid)
- {
- new Bus[] = {431,437};
- new veiculoid = GetPlayerVehicleID(playerid);
- if(IsPlayerInVehicle(playerid, veiculoid))
- {
- for(new i = 0; i < sizeof(Bus); ++i)
- {
- if(GetVehicleModel(veiculoid) == Bus[i])
- {
- return true;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement