31.03.2014, 16:46
(
Последний раз редактировалось Don_Speed; 22.10.2017 в 14:16.
)
Quote:
Sei que estou sumido , mas vim ajudar alguns
OBS:VARIAVEL - NEW UTILIZADA PARA GUARDAR INFORMAЗOES E simples mas vai ajudar as pessoas que tem duvidas em relaзгo a isto. Bom isso e muito facil de fazer , e uma variavel que salva o id do seu emprego! Por Exemplo PHP код:
Por Exemplo PHP код:
PHP код:
PHP код:
PHP код:
PHP код:
Por Exemplo PHP код:
PHP код:
PHP код:
Com essas dicas vocк podera economizar muitas linhas em seu gamemode ! Experiencia propria . |
Venho atualizar meu tutorial para uma forma diferente!
Aprimeira coisa que hб necessidade de saber que irб precisar de UMA variavel para guardar o id do emprego do jogador.
Neste exemplo vou usar o mais comum .
Agora vamos criar uma define para facilitar a vida , esta define ira estar a quantidade total de empregos.
Vamos usar uma enum para definir nome e salario de cada emprego.
Bom ja tenho a base do sistema.
Agora vamos fazer um comando para pegar emprego em dialog. ( LEMBRE-SE DE CRIAR A DEFINIЗГO OU A ENUM DA DIALOG )
neste exemplo usaremos zcmd
O comando ja ficou algo mais limpo a resposta do dialog tambem e algo que pode se dizer facil.
Ao meu ver chega ser inutil demonstar uma forma de fazer o /sairdoemprego , mas como sei como o povo e , ja que ja fui assim no comeзo.
Agora para demonstrar para um simples sistema de payday.
Vou fazer algo basico ja que isso varia da ideial para cada gamemode.
Vamos criar um settimerex para ele receber este payday.
Vamos fazer esta resposta basica para demonstrar como funciona.
Nгo e a melhor , nгo e a mais eficaz , mas e a que achei mais facil para ser feito .
Uso este metodo em meu gamemode.
PS: Pode ser adicionado mais opзoes neste sistema de emprego , Level necessario , Estudo , Cor entre outros ...
Nгo sou obrigado a agradar a todos , se vim cagar no topico nem digita.
Vlw Flw
Aprimeira coisa que hб necessidade de saber que irб precisar de UMA variavel para guardar o id do emprego do jogador.
Neste exemplo vou usar o mais comum .
PHP код:
enum pInfo {
Emprego
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Vamos usar uma enum para definir nome e salario de cada emprego.
PHP код:
#define MAX_EMPREGO 3 // Quatidade de emprego + desempregado (0)
enum pEmprego{
Nome[24], //Nome do emprego
Salario //Salario deste emprego (EX: recebera no payday)
}// Pode ser adicionado mais opзoes como cores e etc ...
new Empregos[MAX_EMPREGO][pEmprego] = { // Variavel que guarda as informaзoes
{"Desempregado", 100}, // Nome , Salario
{"Entregador", 900}, // Nome , Salario
{"Motorista", 1000} // Nome , Salario
};
Agora vamos fazer um comando para pegar emprego em dialog. ( LEMBRE-SE DE CRIAR A DEFINIЗГO OU A ENUM DA DIALOG )
neste exemplo usaremos zcmd
PHP код:
#define DIALOG_EMPREGO 544
command(pegaremprego, playerid, params[])
{
new corda[100],String[100];
if(PlayerInfo[playerid][Emprego] > 0)return SendClientMessage(playerid, -1, "Erro vocк ja possui emprego(/sairdoemprego).");// Se ja tiver emprego
for(new ds = 1; ds < MAX_EMPREGO; ds++)// Loop tera que comeзar do 1 ja que 0 e desemprego
{
format(String, sizeof String,"Emprego: %s | Salario: R$ %d,00\n", Empregos[ds][Nome], Empregos[ds][Salario]);// Nome , Salario aparecera na dialog
strcat(corda, String);//Corda para dialog para aparecer todas opзoes do loop
}
ShowPlayerDialog(playerid, DIALOG_EMPREGO, DIALOG_STYLE_LIST, "Empregos disponiveis", corda, "Selecionar", "Sair");
return true;
}
PHP код:
public OnDialogResponse[playerid, dialogid, response, listitem, inputtext[]]
{
switch(dialogid)
{
case DIALOG_EMPREGO:
{
if(!response)return true; // Se apertar sair fecha dialog
new String[80];
format(String, sizeof String,"{FFFFFF}Parabйns agora vocк trabalha de {FF0000}%s{FFFFFF}.", Empregos[listitem+1][Nome]);
SendClientMessage(playerid, -1, String);
PlayerInfo[playerid][Emprego] = listitem+1;// no dialoglist , ele da a lista comeзando do zero entгo hб necessidade de usar listitem+1
// para dar o id correto do emprego selecionado
}
}
return true;
}
PHP код:
command(sairdoemprego, playerid, params[])
{
if(PlayerInfo[playerid][Emprego] == 0)return SendClientMessage(playerid, -1, "Erro vocк nгo possui emprego.");// Verifica se ja nгo e desempregado
SendClientMessage(playerid, -1, "Agora vocк esta desempregrado.");
PlayerInfo[playerid][Emprego] = 0;
return true;
}
Vou fazer algo basico ja que isso varia da ideial para cada gamemode.
Vamos criar um settimerex para ele receber este payday.
PHP код:
public OnPlayerConnect(playerid)
{
SetTimerEx("Payday", 1000*60*30, true, "i", playerid);// 1000*60*30 = 30 Min logado
return true;
}
PHP код:
forward Payday(playerid);
public Payday(playerid)
{
new String[80];
SendClientMessage(playerid, -1, "PAYDAY:");
format(String, sizeof String, "Emprego: %s",Empregos[PlayerInfo[playerid][Emprego]][Nome]); // Puxa da Variavel PlayerInfo[playerid][Emprego] o id de seu emprego
SendClientMessage(playerid, -1, String);
format(String, sizeof String, "Salario: R$ %d,00",Empregos[PlayerInfo[playerid][Emprego]][Salario]);// Puxa da Variavel PlayerInfo[playerid][Emprego] o valor de seu pagamento
SendClientMessage(playerid, -1, String);
GiveplayerMoney(playerid, +Empregos[PlayerInfo[playerid][Emprego]][Salario]);// Puxa da Variavel PlayerInfo[playerid][Emprego]o valor de seu pagamento e adiciona
return true;
}
Uso este metodo em meu gamemode.
PS: Pode ser adicionado mais opзoes neste sistema de emprego , Level necessario , Estudo , Cor entre outros ...
Nгo sou obrigado a agradar a todos , se vim cagar no topico nem digita.
Vlw Flw