public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
for(new i; i < 11; ++i) TextDrawShowForPlayer(playerid, RegistroLogin[i]);
SelectTextDraw(playerid, 0x909090FF);
if(INI_Exist(ObterINI(playerid)) != 0) TextDrawShowForPlayer(playerid, RegistroLogin[12]);
else TextDrawShowForPlayer(playerid, RegistroLogin[11]);
TogglePlayerSpectating(playerid, true);
return 1;
}
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
new rl[38], rl1[180];
if(clickedid == RegistroLogin[12])
{
format(rl,sizeof(rl),""REGISTER_AZUL"Logar - %s",PName(playerid));
format(rl1,sizeof(rl1),""REGISTER_BRANCO"Esse sistema usa CASE SENSITIVE!\nBem vindo ao Roleplay, %s.\nO nome que vocк estб usando й registrado, por favor, digite uma senha para fazer o login:",PName(playerid));
ShowPlayerDialog(playerid,DialogLogin,DIALOG_STYLE_INPUT,rl,rl1,"Logar","Sair");
}
if(clickedid == RegistroLogin[11]){
format(rl,sizeof(rl),""REGISTER_AZUL"Registrar - %s",PName(playerid));
format(rl1,sizeof(rl1),""REGISTER_BRANCO"Esse sistema usa CASE SENSITIVE!\nBem vindo ao Roleplay, %s.\nVocк pode "REGISTER_VERMELHO"registrar"REGISTER_BRANCO" uma conta, digitando uma senha desejada aqui:",PName(playerid));
ShowPlayerDialog(playerid,DialogRegister,DIALOG_STYLE_INPUT,rl,rl1,"Registrar","Sair");
}
if(clickedid == RegistroLogin[10]){
SendClientMessage(playerid,-1,"| SERVER | Vocк foi kickado automaticamente!");
Kick(playerid);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid){
case DialogRegister:{
if(!response) SendClientMessage(playerid,-1,"| SERVER | Vocк foi kickado automaticamente!"), Kick(playerid);
if(response){
if(strlen(inputtext) < 1 || strlen(inputtext) > 10){
new rl[38], rl1[180];
format(rl,sizeof(rl),""REGISTER_AZUL"Registrar - %s",PName(playerid));
format(rl1,sizeof(rl1),""REGISTER_BRANCO"Esse sistema usa CASE SENSITIVE!\nSua senha deve ter entre 1 e 10 caracteres!\nBem vindo ao Roleplay, %s.\nVocк pode "REGISTER_VERMELHO"registrar"REGISTER_BRANCO" uma conta, digitando uma senha desejada aqui:",PName(playerid));
ShowPlayerDialog(playerid,DialogRegister,DIALOG_STYLE_INPUT,rl,rl1,"Registrar","Sair");
}
else{
INI_Open(ObterINI(playerid));
INI_WriteString("Senha", inputtext);
INI_Save();
INI_Close();
for(new i; i < 14; ++i) TextDrawHideForPlayer(playerid, RegistroLogin[i]);
SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, false);
}
}
}
case DialogLogin:{
if(!response) SendClientMessage(playerid,-1,"| SERVER | Vocк foi kickado automaticamente!"), Kick(playerid);
if(response){
static input[11];
INI_Open(ObterINI(playerid));
INI_ReadString(input,"Senha");
INI_Close();
if(!strcmp(inputtext, input, CASE_SENSITIVE)){
for(new i; i < 14; ++i) TextDrawHideForPlayer(playerid, RegistroLogin[i]);
SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, false);
}
else{
new rl[38], rl1[240];
++TentouLogar[playerid];
format(rl,sizeof(rl),""REGISTER_AZUL"Logar - %s",PName(playerid));
format(rl1,sizeof(rl1),""REGISTER_BRANCO"Esse sistema usa CASE SENSITIVE!\nSenha invбlida, vocк tem mais %i tentativas.\nBem vindo ao Roleplay, %s.\nO nome que vocк estб usando й registrado, por favor, digite uma senha para fazer o login:",3-TentouLogar[playerid],PName(playerid));
ShowPlayerDialog(playerid,DialogLogin,DIALOG_STYLE_INPUT,rl,rl1,"Logar","Sair");
if(TentouLogar[playerid] == 3){
SendClientMessage(playerid,-1,"| SERVER | Vocк errou a senha muitas vezes por isso foi kickado");
Kick(playerid);
}
}
}
}
}
return 1;
}
Nгo entendi qual seu problema...
Se й o fato do jogador nгo spawnar, seu cуdigo faz com que ele spawne tranquilamente sim. http://www.youtube.com/watch?v=jQwhRb0jIGQ |
public OnPlayerRequestClass(playerid, classid)
{
TogglePlayerSpectating(playerid, true);
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
for(new i; i < 11; ++i) TextDrawShowForPlayer(playerid, RegistroLogin[i]);
SelectTextDraw(playerid, 0x909090FF);
if(INI_Exist(ObterINI(playerid)) != 0) TextDrawShowForPlayer(playerid, RegistroLogin[12]);
else TextDrawShowForPlayer(playerid, RegistroLogin[11]);
return 1;
}
pawn Код:
|
Nгo tem nenhum toggleplayerSpectating em outra callback nгo?. A ordem altera os fatores sim.
|
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid){
case DialogRegister:{
if(!response) SendClientMessage(playerid,-1,"| SERVER | Vocк foi kickado automaticamente!"), Kick(playerid);
if(response){
if(strlen(inputtext) < 1 || strlen(inputtext) > 10){
new rl[38], rl1[180];
format(rl,sizeof(rl),""REGISTER_AZUL"Registrar - %s",PName(playerid));
format(rl1,sizeof(rl1),""REGISTER_BRANCO"Esse sistema usa CASE SENSITIVE!\nSua senha deve ter entre 1 e 10 caracteres!\nBem vindo ao Roleplay, %s.\nVocк pode "REGISTER_VERMELHO"registrar"REGISTER_BRANCO" uma conta, digitando uma senha desejada aqui:",PName(playerid));
ShowPlayerDialog(playerid,DialogRegister,DIALOG_STYLE_INPUT,rl,rl1,"Registrar","Sair");
}
else{
INI_Open(ObterINI(playerid));
INI_WriteString("Senha", inputtext);
INI_Save();
INI_Close();
for(new i; i < 14; ++i) TextDrawHideForPlayer(playerid, RegistroLogin[i]);
SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
TogglePlayerSpectating(playerid, false);
SpawnPlayer(playerid);
}
}
}
case DialogLogin:{
if(!response) SendClientMessage(playerid,-1,"| SERVER | Vocк foi kickado automaticamente!"), Kick(playerid);
if(response){
static input[11];
INI_Open(ObterINI(playerid));
INI_ReadString(input,"Senha");
INI_Close();
if(!strcmp(inputtext, input, CASE_SENSITIVE)){
for(new i; i < 14; ++i) TextDrawHideForPlayer(playerid, RegistroLogin[i]);
SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
TogglePlayerSpectating(playerid, false);
SpawnPlayer(playerid);
}
else{
new rl[38], rl1[240];
++TentouLogar[playerid];
format(rl,sizeof(rl),""REGISTER_AZUL"Logar - %s",PName(playerid));
format(rl1,sizeof(rl1),""REGISTER_BRANCO"Esse sistema usa CASE SENSITIVE!\nSenha invбlida, vocк tem mais %i tentativas.\nBem vindo ao Roleplay, %s.\nO nome que vocк estб usando й registrado, por favor, digite uma senha para fazer o login:",3-TentouLogar[playerid],PName(playerid));
ShowPlayerDialog(playerid,DialogLogin,DIALOG_STYLE_INPUT,rl,rl1,"Logar","Sair");
if(TentouLogar[playerid] == 3){
SendClientMessage(playerid,-1,"| SERVER | Vocк errou a senha muitas vezes por isso foi kickado");
Kick(playerid);
}
}
}
}
}
return 1;
}