[Resolvido] Preciso de ajuda em 2 coisas -
gustavodrift - 28.02.2011
Eae galera blz?
Entгo preciso de ajuda pra salvar o sistema de luta que eu fiz tipo pra salvar a luta que o player escolheu eu criei o comando:
Em OnPlayerCommandText
Код:
if(strcmp("/luta", cmd, true) == 0)
{
if(PlayerToPoint(1.0,playerid,760.8009,5.5351,1000.7086))
{
new str[255] = " 1 Boxe\n 2 KungFu\n 3 Luta de Rua\n 4 GrabKick\n 5 ElBow";
ShowPlayerDialog(playerid, 200, DIALOG_STYLE_LIST, "Estilos de Luta", str, "Selecionar", "Sair");
}
return 1;
}
E tb em OnDialogResponse
Код:
if(dialogid == 200)
{
if(response)
{
if(listitem == 0)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_BOXING);
}
if(listitem == 1)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KUNGFU);
}
if(listitem == 2)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KNEEHEAD);
}
if(listitem == 3)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
}
if(listitem == 4)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_ELBOW);
}
}
return 1;
}
Alguem pode me ajudar a salvar a luta que o player escolheu mesmo quando dar gmx sempre quando ele entrar continua a mesma.
E tb preciso de um sistema de ban que salve adm que baniu e motivo alguem sabe fazer?
Re: [AJUDA] Preciso de ajuda em 2 coisas -
LuxurioN™ - 28.02.2011
Para salvar qualquer coisa, as opзхes mais usadas sгo:
1. Salvar usando um sistema de "Register/Login" com dados como: Senha, Dinheiro, etc.
2. Salvar automaticamente usando o nome atual do jogador ou IP. Porйm, isso nгo й seguro. Outro jogador que utilizar o mesmo nome do jogador passado irб incializar o mesmo arquivo, ou seja, vai ter o mesmo "Fight Style". E tambйm existe a questгo daquelas pessoas com IP nгo fixo, toda vez que se reconectarem a internet e entrarem no servidor nгo irгo inicializar o arquivo.
Para salvar alguma coisa, primeiro vocк deve ter algum lugar para salvar. Entгo, suponhamos que vocк queria simplesmente salvar em arquivos na pasta do servidor. Como й bem simples, vou dar-lhe um exemplo BБSICO usando DINI:
Topo do GM/FS:
Код:
new nome[30];
new FightS[MAX_PLAYERS];
OnPlayerConnect
Код:
GetPlayerName(playerid,nome,30);
if(!dini_Exists(nome)) dini_Create(nome);
else if(dini_Exists(nome)) FightS[playerid] = dini_Int(nome,"FightStyle");
Isso irб verificar se existe algum arquivo com o nome atual do jogador, caso nгo exista ele irб criar um.
OnPlayerDisconnect
Код:
GetPlayerName(playerid,nome,30);
dini_IntSet(nome,"FightStyle", FightS[playerid]);
Salva o ъltimo "FightStyle" (Estilo de Luta do jogador antes dele sair.
OnPlayerSpawn(playerid)
Код:
CarregarFightStyle(playerid);
Isso irб carregar a funзгo que vai verificar o "FightStyle" (Estilo de Luta) do jogador. Isso nгo й necessбrio, vocк poderia colocar toda a funзгo aqui mesmo, porйm, acredito que ficaria mais fбcil de vocк entender.
Код:
stock CarregarFightStyle(playerid)
{
if(FightS[playerid] == 0)
SetPlayerFightingStyle(playerid, FIGHT_STYLE_ELBOW);
if(FightS[playerid] == 1)
SetPlayerFightingStyle(playerid, FIGHT_STYLE_BOXING);
if(FightS[playerid] == 2)
SetPlayerFightingStyle(playerid, FIGHT_STYLE_GRABKICK);
if(FightS[playerid] == 3)
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KNEEHEAD);
if(FightS[playerid] == 4)
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KUNGFU);
if(FightS[playerid] == 5)
SetPlayerFightingStyle(playerid, FIGHT_STYLE_NORMAL);
return 1;
}
Coloque isso em qualquer parte (Fora de alguma funзгo) do seu script.
E apenas acrescentei algumas linhas no seu "Dialog":
Код:
if(dialogid == 200)
{
if(response)
{
if(listitem == 0)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_BOXING);
FightS[playerid] = 0;
}
if(listitem == 1)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KUNGFU);
FightS[playerid] = 1;
}
if(listitem == 2)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_KNEEHEAD);
FightStyle[playerid] = 2;
}
if(listitem == 3)
{
SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
FightS[playerid] = 3;
}
if(listitem == 4)
{
SetPlayerFightingStyle(playerid, FIGHT_STYLE_ELBOW);
FightS[playerid] = 4;
}
}
return 1;
}
Bom, como eu disse, este й um sistema realmente simples. Existem diversas outras maneiras (algumas mais fбceis e atй mais eficientes) para fazer isso, porйm, acredito que este й o modo mais fбcil de se entender. Tenha isso como base. Caso seu servidor tenha muitos jogadores, recomendo que use um sistema mais avanзado para salvar juntamente com o IP do jogador e usando algum sistema mais novo como Y_Includes para aprimorar a performance.
Obs:
Nгo testei o script.
Re: [AJUDA] Preciso de ajuda em 2 coisas -
[NWD]Jim._.Carrey - 28.02.2011
._.
Qual inc de salvamento vocк usa ?
Re: [AJUDA] Preciso de ajuda em 2 coisas -
LuxurioN™ - 28.02.2011
Quote:
Originally Posted by Lucas Nicolas
LOL!
Luxurion й BR/PT?
|
Australiano. Mais vivo no Brasil a aproximadamente 5 anos.
Re: [AJUDA] Preciso de ajuda em 2 coisas -
Erick_Schultz - 28.02.2011
LOL '-'
Re: [AJUDA] Preciso de ajuda em 2 coisas -
Josma_cmd - 01.03.2011
Aconselho voce criar 3 publics. Uma que salva, uma que reseta e uma que carrega todas as informaзoes do seu servidor, salva elas usando Dini
Se nao sabe usar dini veja aqui:
https://sampforum.blast.hk/showthread.php?tid=180237
voce poderб salvar outras coisas nessa public como tunagem dos carros entre outras coisas.
Re: [AJUDA] Preciso de ajuda em 2 coisas -
hitachi_uchila - 01.03.2011
@off
por isso tem otimos scripts
Seu velocimetr e mara Luxurion =]