SA-MP Forums Archive
[Tutorial] Sistema de Cigarros - 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)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Sistema de Cigarros (/showthread.php?tid=280880)



Sistema de Cigarros - noobre - 03.09.2011

Tutorial

Como aprender e/ou usar um Sistema de Cigarros no teu Gamemode. Уptimo para Roleplay.


Primeiro que nada terб que usar apenas tres includes no topo do GM:
pawn Code:
#include <zcmd>
#include <sscanf2>
#include <a_samp>
Nota: O sscanf2 nao й necessбrio neste caso, porйm eu pus no tutorial para voces agora criarem os vossos prуprios sistemas mais complexos.


Segundo terб que criar a variбvel que permitirб a contagem dos seus cigarros:
pawn Code:
new Cig[MAX_PLAYERS];
Juntamente crie ou adicione as cores necessбrias.

pawn Code:
#define COLOR_GREEN             0x33AA33AA
#define COLOR_RED               0xA10000AA


Terceiro agora vamos dificultar um bocado.
Vamos criar um comando para que o Player ganhe os cigarros, neste caso os compre.
pawn Code:
CMD:comprarcigarros(playerid, params[])
{
    Cig[playerid] = 10;
    SendClientMessage(playerid, COLOR_GREEN, "Compraste 10 Cigarros.");
    GivePlayerMoney(playerid, -200);
    return 1;
}
Explicaзao:
Code:
Cig[playerid] = 10; - Significa os Cigarros que o player irб receber.
SendClientMessage(playerid, COLOR_GREEN, "Tiraste um cigarro do maзo."); - Manda mensagem ao Player.
GivePlayerMoney(playerid, -200); - Significa o dinheiro que o player irб pagar.
Quarto, vamos criar um comando para que o Player fume:
pawn Code:
CMD:fumar(playerid, params[])
{
    if(Cig[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"Ja nao tens mais cigarros!");
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
    SendClientMessage(playerid,COLOR_GREEN,"Acendeste um cigarro!");
    Cig[playerid] --;
    return 1;
}
Explicaзгo:
Code:
    if(Cig[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"Ja nao tens mais cigarros!"); - Significa se estiver 0 cigarros, jб nгo pode fumar mais.
    SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY); - oferece ao playerid, um cigarro.
    SendClientMessage(playerid,COLOR_GREEN,"Acendeste um cigarro!"); - Manda mensagem ao player.
    Cig[playerid] --;
Quinto vamos criar um comando para que o player saiba quantos cigarros tem no seu "maзo".
pawn Code:
CMD:maзo(playerid, params[])
{
    SendClientMessage(playerid, COLOR_GREEN,"======== Maзo ========");
    new string[MAX_PLAYERS];
    format(string,sizeof(string),"Cigarros: %d",Cig[playerid]);
    SendClientMessage(playerid,COLOR_GREEN,string);
    return 1;
}
Explicaзгo:
Code:
    SendClientMessage(playerid, COLOR_GREEN,"======== Maзo ========"); - Mandar mensagem.
    new string[MAX_PLAYERS]; - Contagem de string neste caso cigarros no format abaixo.
    format(string,sizeof(string),"Cigarros: %d",Cig[playerid]); - Mensagem que diz quantos cigarros tens.
    SendClientMessage(playerid,COLOR_GREEN,string); - Afirma que й uma ClientMessage, e dб a cor б mensagem.
Crйditos: -•♥♠♦♣-•Arshavin•-♥♠♦♣•- ; e eu :b


Nota: Peзo desculpa por alguma coisa, eu sei que o cуdigo do rapaz que criou o sistema de cigarros estб parecido com o meu. Eu apenas usei o que ele fez e adaptei-o б minha maneira. Espero que tenho deixado tudo bem esclarecido. Alguma dъvida й sу dizer (:


Re: Sistema de Cigarros - BrunoBSF - 03.09.2011

Otimo tuto cara


Re: Sistema de Cigarros - noobre - 03.09.2011

Quote:
Originally Posted by BrunoBSF
View Post
Otimo tuto cara
Obrigado Bruno


Re: Sistema de Cigarros - Bruno Pereira - 03.09.2011

O certo nгo seria...

PHP Code:
CMD:maзo(playeridparams[])
{
    
SendClientMessage(playeridCOLOR_GREEN,"======== Maзo ========");
    new 
string[15];// Coloquei 15 pq o cara pode ter uns 2mil cigarros kkk acho dificil, mas vai saber!
    
format(string,sizeof(string),"Cigarros: %d",Cig[playerid]);
    
SendClientMessage(playerid,COLOR_GREEN,string);
    return 
1;

Bom tutorial!


Re: Sistema de Cigarros - RebeloX - 03.09.2011

Muito bom, vou dar uma dica, em vez de MAX_PLAYERS use SOLTS, mas defina

pawn Code:
#define SOLTS 50 //numero dos solts do servidor
new Cig[SOLTS];
Lembrando que o #define SOLTS deve estar em cima das arrays que irгo usar SOLTS (:

Gostei do tutorial.

@Edit retira a include sscanf porque vocк nгo usou no tutorial.


Re: Sistema de Cigarros - Falcon. - 03.09.2011

pawn Code:
new string[MAX_PLAYERS];
O.O


Quote:
Originally Posted by BlueX
View Post
@Edit retira a include sscanf porque vocк nгo usou no tutorial.
"Nota: O sscanf2 nao й necessбrio neste caso, porйm eu pus no tutorial para voces agora criarem os vossos prуprios sistemas mais complexos."


Re: Sistema de Cigarros - RebeloX - 03.09.2011

Eu sei falcon, mas ele nгo fez nenhum code com o sscanf '-' alem que os novatos irгo ter erros porque ele nгo postou as includes, podia ter postado, mas como disse й um bom tutorial xD
@Falcon entra MSN *-*


Re: Sistema de Cigarros - Falcon. - 03.09.2011

Ele estб insentivando as pessoas a melhorar os seus scripts com sscanf


Re: Sistema de Cigarros - Nike_xD - 03.09.2011

Bom fs, parabйns, sу tem de melhorar alguns cуdigos


Re: Sistema de Cigarros - noobre - 03.09.2011

Dj Bruninho:
Code:
O problema sim, talvez abusei na string. mas funciona б mesma :b
blueX:
Code:
Eu sei que nao usei o sscanf apenas quis deixar para vos salientar mais o cуdigo. Obrigado :)
[Y] Falcon:
Code:
Sim, a ideia era postar o cуdigo normal e por a include sscanf2 sу para vos ajudar com os prуximos cуdigos (:
Nike_xD:
Code:
Muito Obrigado, melhorarei no prуximo que fizer.
Obrigado a todos.