[AJUDA]Erro KillTimer
#1

Outro erro:
fiz assim no topo:

PHP код:
new Logarsse
dai botei um timer pra quando aparecer a tela de login ele funcionar:

PHP код:
    Logarsse SetTimerEx("Logarse"100001"i"playerid); 
dai botei em onplayerspawn para ele cancelar o timer se o player logar:

PHP код:
    KillTimer(Logarsse); 
dai no final do gm botei

PHP код:
forward Logarse(playerid);
public 
Logarse(playerid)
{
Kick(playerid);

Sу que deu certo, mais surgiu um erro, quando esse tempo de logar estoura e o player й kikado, quando ele volta pro server ele й kikado na hora pq o timer ta estourado ainda, oq fazer pra quando o player for kikado o timer meio que 'respanar' ?

obrigada pela atenзгo
MSN: mayara.takeda@hotmail.com
Reply
#2

editado
Reply
#3

ninguem sabe ai?
Reply
#4

Esse Sistema de Login й em Dialog ? ou Por Comandos.
Reply
#5

Й em dialog
Quote:

public OnPlayerRequestClass(playerid, classid)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), Pasta_Contas, aname);
SetPlayerSkin(playerid,dini_Int(file, "Skin"));
Logarsse = SetTimerEx("Logarse", 10000, 1, "i", playerid);
if(!dini_Exists(file))
{
format(STRX, sizeof(STRX), "{}Vocк nгo tem uma conta registrada, %s!\n\nDigite uma senha e clique em \"Registrar\".", aname);
ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "CONTA", STRX, "Registrar", "Sair");
return 0x1;
}
if(dini_Exists(file))
{
format(STRX, sizeof(STRX), "Bem-vindo(a) novamente, %! Logue-se em sua conta.\n\nDigite sua senha e clique em \"Logar\".", aname);
ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "CONTA", STRX, "Logar", "Sair");
return 0x1;
}
if(PlayerInfo[playerid][Logged] == 0)
{
SendClientMessage(playerid, C_Branco, "{FF0000}Logue-se antes.");
return 0;
}
SetPlayerCameraPos(playerid, 2006.9768,1022.7042,31.6411);//
SetPlayerCameraLookAt(playerid, 2005.0768,1026.9442,31.6411);//
SetPlayerPos(playerid, 2006.7367,1027.9458,31.6411); ///
SetPlayerFacingAngle(playerid, 27.3939);
SetPlayerVirtualWorld(playerid, 11);
SetPlayerInterior(playerid, 11);
ApplyAnimation(playerid,"PARK","Tai_Chi_Loop",4.0, 1,0,0,0,0);
return 1;
}

Й o usado no famoso Brasilian RPG
Reply
#6

Pode Ser Famoso Para Vocк...

Manda o Dialog DialogLogin.
Reply
#7

o dialog completo:

Quote:

if(dialogid == DialogAvisoLogin)
{
if(response == 1)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), Pasta_Contas, aname);
if(PlayerInfo[playerid][Logged] == 0)
{
if(!dini_Exists(file))
{
format(STRX, sizeof(STRX), "Vocк nгo tem uma conta registrada, %s!\n\nDigite uma senha e clique em \"Registrar\".", aname);
ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "CONTA", STRX, "Registrar", "Sair");
}
if(dini_Exists(file))
{
format(STRX, sizeof(STRX), "Bem-vindo(a) novamente, %! Logue-se em sua conta.\n\nDigite sua senha e clique em \"Logar\".", aname);
ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "CONTA", STRX, "Logar", "Sair");
}
}
}
else
{
new stringz[256];
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(stringz, sizeof(stringz), "(INFO) %s Levou kick automatico por nгo se Registrar/Logar.", aname);
SendClientMessageToAll(C_Branco,stringz);
Kick(playerid);
}
}
if(dialogid == DialogRegistro)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), Pasta_Contas, aname);
if(response == 1)
{
if(strlen(inputtext) < Min_Senha || strlen(inputtext) > Max_Senha)
{
format(STRX, sizeof(STRX), "(INFO) A senha deve ter entre %d e %d caracteres!", Min_Senha, Max_Senha);
SendClientMessage(playerid, C_Branco, STRX);
format(STRX, sizeof(STRX), "Senha muito grande ou pequena, %s!\nColoque sua senha e clique em \"Registrar\".", aname);
ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "Registrando uma conta", STRX, "Registrar", "Sair");
return 1;
}
dini_Create(file);
dini_Set(file, "Senha", encrypt(inputtext));
dini_Set(file, "Skin", "115");
dini_Set(file, "Profissao", "0");
dini_Set(file, "ContaBancaria", "0");
dini_Set(file, "SaldoBancario", "0");
dini_Set(file, "Celular", "0");
dini_Set(file, "CartaoTelefonico", "0");
dini_Set(file, "MP3", "0");
dini_Set(file, "HabTerrestre", "0");
dini_Set(file, "HabAerea", "0");
dini_Set(file, "HabNautica", "0");
dini_Set(file, "Preso", "0");
dini_Set(file, "Bloco", "0");
dini_Set(file, "Casa", "0");
dini_Set(file, "Carta", "0");
dini_Set(file, "Lembrete", "Nada");
dini_Set(file, "Level","0");
dini_IntSet(file,"Continuar",0);
dini_Set(file, "Combustivel", "100");
dini_IntSet(file, "novato", 1);
dini_IntSet(file,"Porte", 0);
dini_IntSet(file,"Carteira", 0);
dini_IntSet(file,"Level",10);
dini_IntSet(file,"aAdmin",0);
dini_IntSet(file,"Admin",0);
dini_IntSet(file,"TCarro1",0);
dini_IntSet(file,"TCarro2",0);
dini_IntSet(file,"TCarro3",0);
dini_IntSet(file,"Carro1",0);
dini_IntSet(file,"Carro2",0);
dini_IntSet(file,"Carro3",0);
dini_IntSet(file,"TClan",0);
dini_IntSet(file,"Clan", 0);
dini_Set(file, "Faculdade", "10");
GivePlayerGrana(playerid,2000);
ShowPlayerDialog(playerid, DialogCidades, DIALOG_STYLE_LIST, "Mundo virtual RPG - Escolha Sua Cidade", "Los Santos", "Morar", "Cancelar");
GameTextForPlayer(playerid, "~r~Registrado com sucesso", 8000, 3);
PlayerPlaySound(playerid, 1057, 0, 0, 0);
PlayerInfo[playerid][Logged] = 1;
}
else
{
format(STRX, sizeof(STRX), "Vocк tem que ter uma conta para jogar %s!\nColoque sua senha e clique em \"Registrar\".", aname);
ShowPlayerDialog(playerid, DialogRegistro, DIALOG_STYLE_INPUT, "Registrando uma conta", STRX, "Registrar", "Sair");
}
}
if(dialogid == DialogLogin)
{
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(file, sizeof(file), Pasta_Contas, aname);
if(response == 1)
{
new senhaacc[256];
senhaacc = dini_Get(file, "Senha");
if(strcmp(encrypt(inputtext), senhaacc, true) == 0)
{
SetSpawnInfo(playerid, 1, dini_Int(file, "Skin"), dini_Int(file, "CasaX"), dini_Int(file, "CasaY"), dini_Int(file, "CasaZ"), 354.1657, 0, 0, 0, 0, 0, 0);
if(dini_Int(file, "Continuar") == 1)
{
SendClientMessage(playerid, C_Branco, "(INFO) Vocк pode voltar a posiзгo de quando saiu do server, use /continuar");
}
if(dini_Int(file, "Bloco") == 1)
{
new stringlembrete[256];
format(stringlembrete, sizeof(stringlembrete), "Lembrete: %s.", dini_Get(file, "Lembrete"));
SendClientMessage(playerid, C_Branco, stringlembrete);
}
jasequestro[playerid]=0;
NaFaculdade[playerid]=0;
Mute[playerid]= 0;
nautlls[playerid]= 0;
nobarlv[playerid]=0;
nobarls[playerid]=0;
nobarsf[playerid]=0;
nobarfc[playerid]=0;
preso[playerid]=0;
algemado[playerid]=0;
sequestro[playerid]=0;
aviso[playerid]=0;
gmod[playerid]=0;
amod[playerid]=0;
autoescola[playerid]=0;
Carregamento[playerid]=0;
cacando[playerid]=0;
nogame[playerid]=0;
admin[playerid]=0;
prefsf[playerid]=0;
preflv[playerid]=0;
prefls[playerid]=0;
vercmds[playerid]=0;
votou[playerid] = false;
PlayerInfo[playerid][Logged] = 1;
InCall[playerid]=0,GetCall[playerid]=0;
SpawnPlayer(playerid);
GameTextForPlayer(playerid, "~r~Logado com sucesso", 8000, 3);
PlayerPlaySound(playerid, 1057, 0, 0, 0);
}
else
{
PlayerInfo[playerid][LoginsFalsos]++;
if(PlayerInfo[playerid][LoginsFalsos] >= 3)
{
format(STRX, sizeof(STRX), "(INFO) %s Levou kick automatico. Razгo: %d tentativas de login", aname, 3);
SendClientMessageToAll(C_Branco, STRX);
Kick(playerid);
}
else
{
SendClientMessage(playerid, C_Branco,"[CONTA] Senha incorreta!");
format(STRX, sizeof(STRX), "Senha incorreta, %! Logue-se em sua conta.\n\nDigite sua senha e clique em \"Logar\".", aname);
ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "CONTA", STRX, "Logar", "Sair");
}
}
}
else
{
format(STRX, sizeof(STRX), "Logue para poder jogar, %! Logue-se em sua conta.\n\nDigite sua senha e clique em \"Logar\". \n\n Lost Bullets.",aname);
ShowPlayerDialog(playerid, DialogLogin, DIALOG_STYLE_PASSWORD, "CONTA", STRX, "Logar", "Sair");
}
}

Reply
#8

isso da Dу.

pawn Код:
// Topo
new TesteJFS[MAX_PLAYERS];

// OnPlayerConnect
public OnPlayerConnect(playerid)
{
    TesteJFS[playerid] = 1;
    return true;
}

// Final do GameMode
forward Logarse(playerid);
public Logarse(playerid)
{
    if(TesteJFS[playerid] == 1)
    {
       Kick(playerid);
    }
}

// Achei Errado, Queria Fazer Para Quando Vocк Aperta Logar no Dialog, Funfe Isso, e nгo toda Hora no OnPlayerSpawn, Mais Vocк Nгo Colaborou. Mais Tambйm Acho que Pega.
// OnPlayerSpawn
public OnPlayerSpawn(playerid)
{
    if(TesteJFS[playerid] == 1)
    {
       KillTimer(Logarsse);  
       TesteJFS[playerid] = 0;
    }
    return true;
}
Reply
#9

o erro continua
http://imageshack.us/photo/my-images/252/31636591.jpg/

nao acha que deveria botar isso aqui com onplayerdisconect?
TesteJFS[playerid] = 0;
Reply
#10

Tenta Aumentar o Tempo Do Time pra 20seg.

Se Nгo der, Fala o Erro em Detalhes, e em portuguкs !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)