Carregar animações pra sincronizar sem logar - hiwyn - 03/05/2022
Pra eu poder usar as animações sincronizadas eu preciso rodar isso no primeiro login do usuário:
Código: stock CarregarAnims(playerid) {
for(new i = 0; i < sizeof(AnimLibs); i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
Funciona, dps de usar isso no primeiro login as animações ficam todas boas e sincronizadas...
O problema é, que no meu PC isso laga uns 5 segundos e alguns mobile estão crashando ao logar depois que eu coloquei isso
Alguém sabe como fazer isso de forma mais leve?
RE: Carregar animações pra sincronizar sem logar - xbruno1000x - 03/05/2022
Tenta chamar essa stock na OnPlayerSpawn
RE: Carregar animações pra sincronizar sem logar - hiwyn - 04/05/2022
(03/05/2022 20:15)xbruno1000x Escreveu: Tenta chamar essa stock na OnPlayerSpawn
É lá que eu to chamando, mas tá atrasando o spawn no PC em 3 segundos (pelo menos no meu) e no mobile as vezes está crashando
(quando eu adiciono essa função)
Até separei ela num timer pra ver e era ela mesmo
RE: Carregar animações pra sincronizar sem logar - xbruno1000x - 05/05/2022
Tenta fazer de uma forma mais devagar. Coloca um timer e chama as libs devagar.
Define para fazer isso:
Código: #define PreloadAnimLib(%1,%2) ApplyAnimation(%1,%2,"null",0.0,0,0,0,0,0)
Como aplicar:
Código: PreloadPlayerAnims(playerid)
{
PreloadAnimLib(playerid,"BOMBER");
PreloadAnimLib(playerid,"RAPPING");
PreloadAnimLib(playerid,"SHOP");
PreloadAnimLib(playerid,"BEACH");
PreloadAnimLib(playerid,"SMOKING");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"ON_LOOKERS");
PreloadAnimLib(playerid,"DEALER");
PreloadAnimLib(playerid,"CRACK");
PreloadAnimLib(playerid,"CARRY");
PreloadAnimLib(playerid,"COP_AMBIENT");
PreloadAnimLib(playerid,"PARK");
PreloadAnimLib(playerid,"INT_HOUSE");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"PED");
}
No caso acima, todas libs foram carregadas de uma vez, porém você pode alterar a estrutura da stock para carregar 1 de cada vez de x em x tempo.
RE: Carregar animações pra sincronizar sem logar - hiwyn - 06/05/2022
(05/05/2022 01:03)xbruno1000x Escreveu: Tenta fazer de uma forma mais devagar. Coloca um timer e chama as libs devagar.
Define para fazer isso:
Código: #define PreloadAnimLib(%1,%2) ApplyAnimation(%1,%2,"null",0.0,0,0,0,0,0)
Como aplicar:
Código: PreloadPlayerAnims(playerid)
{
PreloadAnimLib(playerid,"BOMBER");
PreloadAnimLib(playerid,"RAPPING");
PreloadAnimLib(playerid,"SHOP");
PreloadAnimLib(playerid,"BEACH");
PreloadAnimLib(playerid,"SMOKING");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"ON_LOOKERS");
PreloadAnimLib(playerid,"DEALER");
PreloadAnimLib(playerid,"CRACK");
PreloadAnimLib(playerid,"CARRY");
PreloadAnimLib(playerid,"COP_AMBIENT");
PreloadAnimLib(playerid,"PARK");
PreloadAnimLib(playerid,"INT_HOUSE");
PreloadAnimLib(playerid,"FOOD");
PreloadAnimLib(playerid,"PED");
}
No caso acima, todas libs foram carregadas de uma vez, porém você pode alterar a estrutura da stock para carregar 1 de cada vez de x em x tempo.
Sabe um jeito fácil de dividir:
Código: new const AnimLibs[][] = {
"AIRPORT", "ATTRACTORS", "BAR", "BASEBALL", "BD_FIRE",
"BEACH", "BENCHPRESS", "BF_INJECTION", "BIKE_DBZ", "BIKED",
"BIKEH", "BIKELEAP", "BIKES", "BIKEV", "BLOWJOBZ",
"BMX", "BOMBER", "BOX", "BSKTBALL", "BUDDY",
"BUS", "CAMERA", "CAR", "CAR_CHAT", "CARRY",
"CASINO", "CHAINSAW", "CHOPPA", "CLOTHES", "COACH",
"COLT45", "COP_AMBIENT", "COP_DVBYZ", "CRACK", "CRIB",
"DAM_JUMP", "DANCING", "DEALER", "DILDO", "DODGE",
"DOZER", "DRIVEBYS", "FAT", "FIGHT_B", "FIGHT_C",
"FIGHT_D", "FIGHT_E", "FINALE", "FINALE2", "FLAME",
"FLOWERS", "FOOD", "FREEWEIGHTS", "GANGS", "GFUNK",
"GHANDS", "GHETTO_DB", "GOGGLES", "GRAFFITI", "GRAVEYARD",
"GRENADE", "GYMNASIUM", "HAIRCUTS", "HEIST9", "INT_HOUSE",
"INT_OFFICE", "INT_SHOP", "JST_BUISNESS", "KART", "KISSING",
"KNIFE", "LAPDAN1", "LAPDAN2", "LAPDAN3", "LOWRIDER",
"MD_CHASE", "MD_END", "MEDIC", "MISC", "MTB",
"MUSCULAR", "NEVADA", "ON_LOOKERS", "OTB", "PARACHUTE",
"PARK", "PAULNMAC", "PED", "PLAYER_DVBYS", "PLAYIDLES",
"POLICE", "POOL", "POOR", "PYTHON", "QUAD",
"QUAD_DBZ", "RAPPING", "RIFLE", "RIOT", "ROB_BANK",
"ROCKET", "RUNNINGMAN", "RUSTLER", "RYDER", "SCRATCHING",
"SEX", "SHAMAL", "SHOP", "SHOTGUN", "SILENCED",
"SKATE", "SMOKING", "SNIPER", "SNM", "SPRAYCAN",
"STRIP", "SUNBATHE", "SWAT", "SWEET", "SWIM",
"SWORD", "TANK", "TATTOOS", "TEC", "TRAIN",
"TRUCK", "UZI", "VAN", "VENDING", "VORTEX",
"WAYFARER", "WEAPONS", "WOP", "WUZI"
};
Código: stock CarregarAnims(playerid) {
for(new i = 0; i < sizeof(AnimLibs); i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
Em quatro partes ao invés de 2?
Código: stock CarregarAnims1(playerid) {
new END = sizeof(AnimLibs) / 2;
for(new i = 0; i < END; i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
stock CarregarAnims2(playerid) {
new START = sizeof(AnimLibs) / 2;
for(new i = START; i < sizeof(AnimLibs); i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
RE: Carregar animações pra sincronizar sem logar - xbruno1000x - 06/05/2022
(06/05/2022 01:28)hiwyn Escreveu: Sabe um jeito fácil de dividir:
Código: new const AnimLibs[][] = {
"AIRPORT", "ATTRACTORS", "BAR", "BASEBALL", "BD_FIRE",
"BEACH", "BENCHPRESS", "BF_INJECTION", "BIKE_DBZ", "BIKED",
"BIKEH", "BIKELEAP", "BIKES", "BIKEV", "BLOWJOBZ",
"BMX", "BOMBER", "BOX", "BSKTBALL", "BUDDY",
"BUS", "CAMERA", "CAR", "CAR_CHAT", "CARRY",
"CASINO", "CHAINSAW", "CHOPPA", "CLOTHES", "COACH",
"COLT45", "COP_AMBIENT", "COP_DVBYZ", "CRACK", "CRIB",
"DAM_JUMP", "DANCING", "DEALER", "DILDO", "DODGE",
"DOZER", "DRIVEBYS", "FAT", "FIGHT_B", "FIGHT_C",
"FIGHT_D", "FIGHT_E", "FINALE", "FINALE2", "FLAME",
"FLOWERS", "FOOD", "FREEWEIGHTS", "GANGS", "GFUNK",
"GHANDS", "GHETTO_DB", "GOGGLES", "GRAFFITI", "GRAVEYARD",
"GRENADE", "GYMNASIUM", "HAIRCUTS", "HEIST9", "INT_HOUSE",
"INT_OFFICE", "INT_SHOP", "JST_BUISNESS", "KART", "KISSING",
"KNIFE", "LAPDAN1", "LAPDAN2", "LAPDAN3", "LOWRIDER",
"MD_CHASE", "MD_END", "MEDIC", "MISC", "MTB",
"MUSCULAR", "NEVADA", "ON_LOOKERS", "OTB", "PARACHUTE",
"PARK", "PAULNMAC", "PED", "PLAYER_DVBYS", "PLAYIDLES",
"POLICE", "POOL", "POOR", "PYTHON", "QUAD",
"QUAD_DBZ", "RAPPING", "RIFLE", "RIOT", "ROB_BANK",
"ROCKET", "RUNNINGMAN", "RUSTLER", "RYDER", "SCRATCHING",
"SEX", "SHAMAL", "SHOP", "SHOTGUN", "SILENCED",
"SKATE", "SMOKING", "SNIPER", "SNM", "SPRAYCAN",
"STRIP", "SUNBATHE", "SWAT", "SWEET", "SWIM",
"SWORD", "TANK", "TATTOOS", "TEC", "TRAIN",
"TRUCK", "UZI", "VAN", "VENDING", "VORTEX",
"WAYFARER", "WEAPONS", "WOP", "WUZI"
};
Código: stock CarregarAnims(playerid) {
for(new i = 0; i < sizeof(AnimLibs); i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
Em quatro partes ao invés de 2?
Código: stock CarregarAnims1(playerid) {
new END = sizeof(AnimLibs) / 2;
for(new i = 0; i < END; i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
stock CarregarAnims2(playerid) {
new START = sizeof(AnimLibs) / 2;
for(new i = START; i < sizeof(AnimLibs); i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
Você pode dividir em enum's diferentes. AnimLibs1, AnimLibs2... etc. Daí você faz o processo normal da stock.
RE: Carregar animações pra sincronizar sem logar - hiwyn - 07/05/2022
(06/05/2022 14:48)xbruno1000x Escreveu: (06/05/2022 01:28)hiwyn Escreveu: Sabe um jeito fácil de dividir:
Código: new const AnimLibs[][] = {
"AIRPORT", "ATTRACTORS", "BAR", "BASEBALL", "BD_FIRE",
"BEACH", "BENCHPRESS", "BF_INJECTION", "BIKE_DBZ", "BIKED",
"BIKEH", "BIKELEAP", "BIKES", "BIKEV", "BLOWJOBZ",
"BMX", "BOMBER", "BOX", "BSKTBALL", "BUDDY",
"BUS", "CAMERA", "CAR", "CAR_CHAT", "CARRY",
"CASINO", "CHAINSAW", "CHOPPA", "CLOTHES", "COACH",
"COLT45", "COP_AMBIENT", "COP_DVBYZ", "CRACK", "CRIB",
"DAM_JUMP", "DANCING", "DEALER", "DILDO", "DODGE",
"DOZER", "DRIVEBYS", "FAT", "FIGHT_B", "FIGHT_C",
"FIGHT_D", "FIGHT_E", "FINALE", "FINALE2", "FLAME",
"FLOWERS", "FOOD", "FREEWEIGHTS", "GANGS", "GFUNK",
"GHANDS", "GHETTO_DB", "GOGGLES", "GRAFFITI", "GRAVEYARD",
"GRENADE", "GYMNASIUM", "HAIRCUTS", "HEIST9", "INT_HOUSE",
"INT_OFFICE", "INT_SHOP", "JST_BUISNESS", "KART", "KISSING",
"KNIFE", "LAPDAN1", "LAPDAN2", "LAPDAN3", "LOWRIDER",
"MD_CHASE", "MD_END", "MEDIC", "MISC", "MTB",
"MUSCULAR", "NEVADA", "ON_LOOKERS", "OTB", "PARACHUTE",
"PARK", "PAULNMAC", "PED", "PLAYER_DVBYS", "PLAYIDLES",
"POLICE", "POOL", "POOR", "PYTHON", "QUAD",
"QUAD_DBZ", "RAPPING", "RIFLE", "RIOT", "ROB_BANK",
"ROCKET", "RUNNINGMAN", "RUSTLER", "RYDER", "SCRATCHING",
"SEX", "SHAMAL", "SHOP", "SHOTGUN", "SILENCED",
"SKATE", "SMOKING", "SNIPER", "SNM", "SPRAYCAN",
"STRIP", "SUNBATHE", "SWAT", "SWEET", "SWIM",
"SWORD", "TANK", "TATTOOS", "TEC", "TRAIN",
"TRUCK", "UZI", "VAN", "VENDING", "VORTEX",
"WAYFARER", "WEAPONS", "WOP", "WUZI"
};
Código: stock CarregarAnims(playerid) {
for(new i = 0; i < sizeof(AnimLibs); i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
Em quatro partes ao invés de 2?
Código: stock CarregarAnims1(playerid) {
new END = sizeof(AnimLibs) / 2;
for(new i = 0; i < END; i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
stock CarregarAnims2(playerid) {
new START = sizeof(AnimLibs) / 2;
for(new i = START; i < sizeof(AnimLibs); i++) {
ApplyAnimation(playerid, AnimLibs[i], "null", 4.0, 0, 0, 0, 0, 0, 1);
}
return 1;
}
Você pode dividir em enum's diferentes. AnimLibs1, AnimLibs2... etc. Daí você faz o processo normal da stock.
Como assim? Desculpa eu não entendi...
RE: Carregar animações pra sincronizar sem logar - xbruno1000x - 07/05/2022
Você precisa dividir manualmente, como eu fiz abaixo:
Código: new const AnimLibs[][] = {
"JST_BUISNESS", "KART", "KISSING",
"KNIFE", "LAPDAN1", "LAPDAN2", "LAPDAN3", "LOWRIDER",
"MD_CHASE", "MD_END", "MEDIC", "MISC", "MTB",
"MUSCULAR", "NEVADA", "ON_LOOKERS", "OTB", "PARACHUTE",
"PARK", "PAULNMAC", "PED", "PLAYER_DVBYS", "PLAYIDLES",
"POLICE", "POOL", "POOR", "PYTHON", "QUAD",
"QUAD_DBZ", "RAPPING", "RIFLE", "RIOT", "ROB_BANK",
"ROCKET", "RUNNINGMAN", "RUSTLER", "RYDER", "SCRATCHING",
"SEX", "SHAMAL", "SHOP", "SHOTGUN", "SILENCED",
"SKATE", "SMOKING", "SNIPER", "SNM", "SPRAYCAN",
"STRIP", "SUNBATHE", "SWAT", "SWEET", "SWIM",
"SWORD", "TANK", "TATTOOS", "TEC", "TRAIN",
"TRUCK", "UZI", "VAN", "VENDING", "VORTEX",
"WAYFARER", "WEAPONS", "WOP", "WUZI"
};
new const AnimLibs2[][] = {
"AIRPORT", "ATTRACTORS", "BAR", "BASEBALL", "BD_FIRE",
"BEACH", "BENCHPRESS", "BF_INJECTION", "BIKE_DBZ", "BIKED",
"BIKEH", "BIKELEAP", "BIKES", "BIKEV", "BLOWJOBZ",
"BMX", "BOMBER", "BOX", "BSKTBALL", "BUDDY",
"BUS", "CAMERA", "CAR", "CAR_CHAT", "CARRY",
"CASINO", "CHAINSAW", "CHOPPA", "CLOTHES", "COACH",
"COLT45", "COP_AMBIENT", "COP_DVBYZ", "CRACK", "CRIB",
"DAM_JUMP", "DANCING", "DEALER", "DILDO", "DODGE",
"DOZER", "DRIVEBYS", "FAT", "FIGHT_B", "FIGHT_C",
"FIGHT_D", "FIGHT_E", "FINALE", "FINALE2", "FLAME",
"FLOWERS", "FOOD", "FREEWEIGHTS", "GANGS", "GFUNK",
"GHANDS", "GHETTO_DB", "GOGGLES", "GRAFFITI", "GRAVEYARD",
"GRENADE", "GYMNASIUM", "HAIRCUTS", "HEIST9", "INT_HOUSE",
"INT_OFFICE", "INT_SHOP"
};
Creio que da forma que eu havia enviado anteriormente seja mais fácil.
RE: Carregar animações pra sincronizar sem logar - hiwyn - 11/05/2022
(07/05/2022 14:34)xbruno1000x Escreveu: Você precisa dividir manualmente, como eu fiz abaixo:
Código: new const AnimLibs[][] = {
"JST_BUISNESS", "KART", "KISSING",
"KNIFE", "LAPDAN1", "LAPDAN2", "LAPDAN3", "LOWRIDER",
"MD_CHASE", "MD_END", "MEDIC", "MISC", "MTB",
"MUSCULAR", "NEVADA", "ON_LOOKERS", "OTB", "PARACHUTE",
"PARK", "PAULNMAC", "PED", "PLAYER_DVBYS", "PLAYIDLES",
"POLICE", "POOL", "POOR", "PYTHON", "QUAD",
"QUAD_DBZ", "RAPPING", "RIFLE", "RIOT", "ROB_BANK",
"ROCKET", "RUNNINGMAN", "RUSTLER", "RYDER", "SCRATCHING",
"SEX", "SHAMAL", "SHOP", "SHOTGUN", "SILENCED",
"SKATE", "SMOKING", "SNIPER", "SNM", "SPRAYCAN",
"STRIP", "SUNBATHE", "SWAT", "SWEET", "SWIM",
"SWORD", "TANK", "TATTOOS", "TEC", "TRAIN",
"TRUCK", "UZI", "VAN", "VENDING", "VORTEX",
"WAYFARER", "WEAPONS", "WOP", "WUZI"
};
new const AnimLibs2[][] = {
"AIRPORT", "ATTRACTORS", "BAR", "BASEBALL", "BD_FIRE",
"BEACH", "BENCHPRESS", "BF_INJECTION", "BIKE_DBZ", "BIKED",
"BIKEH", "BIKELEAP", "BIKES", "BIKEV", "BLOWJOBZ",
"BMX", "BOMBER", "BOX", "BSKTBALL", "BUDDY",
"BUS", "CAMERA", "CAR", "CAR_CHAT", "CARRY",
"CASINO", "CHAINSAW", "CHOPPA", "CLOTHES", "COACH",
"COLT45", "COP_AMBIENT", "COP_DVBYZ", "CRACK", "CRIB",
"DAM_JUMP", "DANCING", "DEALER", "DILDO", "DODGE",
"DOZER", "DRIVEBYS", "FAT", "FIGHT_B", "FIGHT_C",
"FIGHT_D", "FIGHT_E", "FINALE", "FINALE2", "FLAME",
"FLOWERS", "FOOD", "FREEWEIGHTS", "GANGS", "GFUNK",
"GHANDS", "GHETTO_DB", "GOGGLES", "GRAFFITI", "GRAVEYARD",
"GRENADE", "GYMNASIUM", "HAIRCUTS", "HEIST9", "INT_HOUSE",
"INT_OFFICE", "INT_SHOP"
};
Creio que da forma que eu havia enviado anteriormente seja mais fácil.
Valeu mano, obrigado!
|