RE: Vip não esta salvando posição - fear - 23/12/2021
(23/12/2021 19:35)xbruno1000x Escreveu: (23/12/2021 12:20)fear Escreveu: (23/12/2021 10:22)xbruno1000x Escreveu: (22/12/2021 22:37)fear Escreveu: spawn randômico... sera ele o problema?
Não acredito que é o problema. Eu só preciso saber onde está o trecho responsável por definir a posição do spawn.
Ve se seria isso.. está no onplayerspawn.
Código PHP: ContaPlayer[playerid][UltimaPosX] = ContaPlayer[playerid][UltimaPosY] = ContaPlayer[playerid][UltimaPosZ] = 0.0;
Código PHP: enum PlayerInfo { Senha, Dinheiro, Score, Skin, Level, TempoOn, Class,
bool:CanBeYoutuber,
VipLevel, TempoVip,
Cor_Tag[8], Frase_Vip[15],
Float: UltimaPosX, Float: UltimaPosY, Float: UltimaPosZ };
Onde fica o spawn comum? Esse código é do seu sistema de VIP, eu preciso do spawn comum. mandei a public onplayerspawn acima mano kkkk o spawn e randômico...
Código PHP: new Float:RandomSpawn[][4] = { // Positions, (X, Y, Z and Facing Angle) {408.3785,-1543.1652,32.2734,222.0006}, {1579.9550,-1328.0443,16.4844,314.6267} };
new rand = random(sizeof(RandomSpawn));
// SetPlayerPos to the random spawn data SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
// SetPlayerFacingAngle to the random facing angle data SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
RE: Vip não esta salvando posição - xbruno1000x - 24/12/2021
Agora sim você mandou o que eu tava procurando kkkkkkk
Eu imagino que o problema seja que o spawn random seja chamado antes do spawn vip, então é necessário condiciona-las.
Teste assim:
Código: if(PlayerInfo[playerid][VipLevel] == 0)
{
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
} else {
SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
}
RE: Vip não esta salvando posição - fear - 24/12/2021
(24/12/2021 01:41)xbruno1000x Escreveu: Agora sim você mandou o que eu tava procurando kkkkkkk
Eu imagino que o problema seja que o spawn random seja chamado antes do spawn vip, então é necessário condiciona-las.
Teste assim:
Código: if(PlayerInfo[playerid][VipLevel] == 0)
{
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
} else {
SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
}
Coloquei assim:
ONPLAYERSPAWN
Código PHP: new rand = random(sizeof(RandomSpawn));
if(PlayerInfo[playerid][VipLevel] == 0) { SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]); SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]); } else { SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]); }
Erros:
Código PHP: error 028: invalid subscript (not an array or too many subscripts): "PlayerInfo" warning 215: expression has no effect error 001: expected token: ";", but found "]" error 029: invalid expression, assumed zero fatal error 107: too many error messages on one line
RE: Vip não esta salvando posição - xbruno1000x - 24/12/2021
(24/12/2021 01:47)fear Escreveu: (24/12/2021 01:41)xbruno1000x Escreveu: Agora sim você mandou o que eu tava procurando kkkkkkk
Eu imagino que o problema seja que o spawn random seja chamado antes do spawn vip, então é necessário condiciona-las.
Teste assim:
Código: if(PlayerInfo[playerid][VipLevel] == 0)
{
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
} else {
SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
}
Coloquei assim:
ONPLAYERSPAWN
Código PHP: new rand = random(sizeof(RandomSpawn));
if(PlayerInfo[playerid][VipLevel] == 0) { SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]); SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]); } else { SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]); }
Erros:
Código PHP: error 028: invalid subscript (not an array or too many subscripts): "PlayerInfo" warning 215: expression has no effect error 001: expected token: ";", but found "]" error 029: invalid expression, assumed zero fatal error 107: too many error messages on one line
Tem que substituir pela sua variável de VIP no lugar da que eu coloquei.
RE: Vip não esta salvando posição - fear - 24/12/2021
(24/12/2021 15:04)xbruno1000x Escreveu: (24/12/2021 01:47)fear Escreveu: (24/12/2021 01:41)xbruno1000x Escreveu: Agora sim você mandou o que eu tava procurando kkkkkkk
Eu imagino que o problema seja que o spawn random seja chamado antes do spawn vip, então é necessário condiciona-las.
Teste assim:
Código: if(PlayerInfo[playerid][VipLevel] == 0)
{
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
} else {
SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]);
}
Coloquei assim:
ONPLAYERSPAWN
Código PHP: new rand = random(sizeof(RandomSpawn));
if(PlayerInfo[playerid][VipLevel] == 0) { SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]); SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]); } else { SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]); }
Erros:
Código PHP: error 028: invalid subscript (not an array or too many subscripts): "PlayerInfo" warning 215: expression has no effect error 001: expected token: ";", but found "]" error 029: invalid expression, assumed zero fatal error 107: too many error messages on one line
Tem que substituir pela sua variável de VIP no lugar da que eu coloquei.
burro mesmo kkkkk agora sim mano funcionando 100%. vlw mesmo sempre fortalecendo! +REP
RE: Vip não esta salvando posição - fear - 24/12/2021
Um problema que ficou agora que eu seto vip novo.. ele é obrigado a dar /salvarpos --- senão ele reloga e cai no limbo kkkk
RE: Vip não esta salvando posição - Luiz - 25/12/2021
(24/12/2021 23:28)fear Escreveu: Um problema que ficou agora que eu seto vip novo.. ele é obrigado a dar /salvarpos --- senão ele reloga e cai no limbo kkkk
Quando ele logar, faça a verificação para ver se o jogador usou o comando /salvarpos alguma vez. Caso ele nunca tenha usado, faça ele spawnar no local que ele estava antes de sair do servidor.
RE: Vip não esta salvando posição - fear - 25/12/2021
(25/12/2021 02:01)Luiz Escreveu: (24/12/2021 23:28)fear Escreveu: Um problema que ficou agora que eu seto vip novo.. ele é obrigado a dar /salvarpos --- senão ele reloga e cai no limbo kkkk
Quando ele logar, faça a verificação para ver se o jogador usou o comando /salvarpos alguma vez. Caso ele nunca tenha usado, faça ele spawnar no local que ele estava antes de sair do servidor.
Como eu faço isso? kkk
RE: Vip não esta salvando posição - Luiz - 25/12/2021
(25/12/2021 02:39)fear Escreveu: (25/12/2021 02:01)Luiz Escreveu: (24/12/2021 23:28)fear Escreveu: Um problema que ficou agora que eu seto vip novo.. ele é obrigado a dar /salvarpos --- senão ele reloga e cai no limbo kkkk
Quando ele logar, faça a verificação para ver se o jogador usou o comando /salvarpos alguma vez. Caso ele nunca tenha usado, faça ele spawnar no local que ele estava antes de sair do servidor.
Como eu faço isso? kkk
Várias formas. A mais fácil é criar um novo salvamento e verifica se ele está como 1 ou true, exemplo:
Código PHP: DOF2_SetInt(Contas, "SalvouPos", 1); ... if(DOF2_GetInt(Contas, "SalvouPos") == 0) { // não salvou pos } else { // salvou pos }
Pode fazer também verificando as posições salvas. Se todas constarem 0, significa que ele nunca usou o comando
Código PHP: if(DOF2_GetInt(Contas, "PosSalvaX") == 0 && DOF2_GetInt(Contas, "PosSalvaY") == 0 && DOF2_GetInt(Contas, "PosSalvaZ") == 0) { // não salvou pos } else { // salvou pos }
RE: Vip não esta salvando posição - fear - 25/12/2021
(25/12/2021 03:29)Luiz Escreveu: (25/12/2021 02:39)fear Escreveu: (25/12/2021 02:01)Luiz Escreveu: (24/12/2021 23:28)fear Escreveu: Um problema que ficou agora que eu seto vip novo.. ele é obrigado a dar /salvarpos --- senão ele reloga e cai no limbo kkkk
Quando ele logar, faça a verificação para ver se o jogador usou o comando /salvarpos alguma vez. Caso ele nunca tenha usado, faça ele spawnar no local que ele estava antes de sair do servidor.
Como eu faço isso? kkk
Várias formas. A mais fácil é criar um novo salvamento e verifica se ele está como 1 ou true, exemplo:
Código PHP: DOF2_SetInt(Contas, "SalvouPos", 1); ... if(DOF2_GetInt(Contas, "SalvouPos") == 0) { // não salvou pos } else { // salvou pos }
Pode fazer também verificando as posições salvas. Se todas constarem 0, significa que ele nunca usou o comando
Código PHP: if(DOF2_GetInt(Contas, "PosSalvaX") == 0 && DOF2_GetInt(Contas, "PosSalvaY") == 0 && DOF2_GetInt(Contas, "PosSalvaZ") == 0) { // não salvou pos } else { // salvou pos }
Fiz assim:
Código PHP: CarregarVip(playerid) { new pastaFormatada[11 + 24], auxiliar[15];
format(pastaFormatada, sizeof(pastaFormatada), PASTA_VIP, Nome(playerid));
new rand = random(sizeof(RandomSpawn)); if(DOF2_GetInt(ContaPlayer, "UltimaPosX") == 0 && DOF2_GetInt(ContaPlayer, "UltimaPosY") == 0 && DOF2_GetInt(ContaPlayer, "UltimaPosZ") == 0) { SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]); SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]); } else { SetPlayerPos(playerid, ContaPlayer[playerid][UltimaPosX], ContaPlayer[playerid][UltimaPosY], ContaPlayer[playerid][UltimaPosZ]); }
if(DOF2_FileExists(pastaFormatada)) { ContaPlayer[playerid][TempoVip] = DOF2_GetInt(pastaFormatada, "Tempo Vip");
if(DiaExpirado(ContaPlayer[playerid][TempoVip])) { MensagemVipExpirado[playerid] = true; }
else { format(ContaPlayer[playerid][Cor_Tag], 8, "%s", DOF2_GetString(pastaFormatada, "Cor Tag")); format(ContaPlayer[playerid][Frase_Vip], 15, "%s", DOF2_GetString(pastaFormatada, "Frase"));
ContaPlayer[playerid][VipLevel] = DOF2_GetInt(pastaFormatada, "Level Vip");
ContaPlayer[playerid][UltimaPosX] = DOF2_GetFloat(pastaFormatada, "Pos X"); ContaPlayer[playerid][UltimaPosY] = DOF2_GetFloat(pastaFormatada, "Pos Y"); ContaPlayer[playerid][UltimaPosZ] = DOF2_GetFloat(pastaFormatada, "Pos Z");
for(new i = 0; i < 10; i ++) { format(auxiliar, sizeof(auxiliar), "Slot Arma %d:", i);
inventarioPlayer[playerid][armaInv][i] = DOF2_GetInt(pastaFormatada, auxiliar); }
for(new i = 0; i < 5; i ++) { format(auxiliar, sizeof(auxiliar), "Slot Veiculo %d:", i);
inventarioPlayer[playerid][modeloCarroInv][i] = DOF2_GetInt(pastaFormatada, auxiliar); } } } }
Porém deu esse erro pesquisei sobre não entendi esse erro não.
Código PHP: error 048: array dimensions do not match
|