Portal SAMP
[Ajuda] Problemas com "Undefined Symbol" - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Problemas com "Undefined Symbol" (/showthread.php?tid=3820)



Problemas com "Undefined Symbol" - Usuário Aleatório - 22/07/2023

Tava fazendo uma sistema de animação por comando,mas tá dando erro de "Undefined Symbol",eis o código da stock pra verificar se o player PODE fazer animações:
Código PHP:
stock AbleToDoAnims(playerid)
{
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"|Erro|Você não pode fazer animações estando dentro de um veículo.");
    return 0;

Eis o código base pro player fazer animação:
Código PHP:
CMD:aceitar(playerid){
if(
AbleToDoAnims(playerid) == 1) return 1;
ApplyAnimation(playerid"GANGS""INVITE_YES"4.000000);
return 
1;} 
O problema é q tá dando esse erro aqui glr:
Código PHP:
error 017undefined symbol "AbleToDoAnims" 
Como resolvo isso?Ajudem aí glr


RE: Problemas com "Undefined Symbol" - White_Blue - 22/07/2023

(22/07/2023 04:05)Usuário Aleatório Escreveu: Tava fazendo uma sistema de animação por comando,mas tá dando erro de "Undefined Symbol",eis o código da stock pra verificar se o player PODE fazer animações:
Código PHP:
stock AbleToDoAnims(playerid)
{
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"|Erro|Você não pode fazer animações estando dentro de um veículo.");
    return 0;

Eis o código base pro player fazer animação:
Código PHP:
CMD:aceitar(playerid){
if(
AbleToDoAnims(playerid) == 1) return 1;
ApplyAnimation(playerid"GANGS""INVITE_YES"4.000000);
return 
1;} 
O problema é q tá dando esse erro aqui glr:
Código PHP:
error 017undefined symbol "AbleToDoAnims" 
Como resolvo isso?Ajudem aí glr

Verifique se a função está no escopo do comando.

Código PHP:
CMD:aceitar(playerid) {
    if(!AbleToDoAnims(playerid)) return SendClientMessage(playerid, -1"Você está impossibilitado de realizar animações.");
    ApplyAnimation(playerid"GANGS""INVITE_YES"4.000000);
    return 1;
}

stock AbleToDoAnims(playerid) {
      if(IsPlayerInAnyVehicle(playerid) || IsPlayerSwimming(playerid) || IsPlayerJumping(playerid) || IsPlayerFalling(playerid)) return 0;
      return 1;
}

stock IsPlayerSwimming(playerid) return (1538 <= GetPlayerAnimationIndex(playerid) <= 1544);

stock IsPlayerJumping(playerid) {
    new 
index GetPlayerAnimationIndex(playerid), keysudlr;

    
GetPlayerKeys(playeridkeysudlr);

    return (
keys KEY_JUMP) && (1196 <= index <= 1198);
}

stock IsPlayerFalling(playerid) {
    if(GetPlayerAnimationIndex(playerid) == 1195 || GetPlayerAnimationIndex(playerid) == 1197 || GetPlayerAnimationIndex(playerid) == 1133 || GetPlayerAnimationIndex(playerid) == 1130) {
        new Float:Z;
        GetPlayerVelocity(playeridZZZ);
        if(!= 0) {
            return 1;
        }
 
    }
    return 0;



No código acima além de adicionar o código no escopo correto, me dei a liberdade de melhorar o código, agora caso o jogador esteja nadando, caindo ou pulando ele não poderá realizar a animação.


RE: Problemas com "Undefined Symbol" - Usuário Aleatório - 22/07/2023

(22/07/2023 07:40)White_Blue Escreveu:
(22/07/2023 04:05)Usuário Aleatório Escreveu: Tava fazendo uma sistema de animação por comando,mas tá dando erro de "Undefined Symbol",eis o código da stock pra verificar se o player PODE fazer animações:
Código PHP:
stock AbleToDoAnims(playerid)
{
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"|Erro|Você não pode fazer animações estando dentro de um veículo.");
    return 0;

Eis o código base pro player fazer animação:
Código PHP:
CMD:aceitar(playerid){
if(
AbleToDoAnims(playerid) == 1) return 1;
ApplyAnimation(playerid"GANGS""INVITE_YES"4.000000);
return 
1;} 
O problema é q tá dando esse erro aqui glr:
Código PHP:
error 017undefined symbol "AbleToDoAnims" 
Como resolvo isso?Ajudem aí glr

Verifique se a função está no escopo do comando.

Código PHP:
CMD:aceitar(playerid) {
    if(!AbleToDoAnims(playerid)) return SendClientMessage(playerid, -1"Você está impossibilitado de realizar animações.");
    ApplyAnimation(playerid"GANGS""INVITE_YES"4.000000);
    return 1;
}

stock AbleToDoAnims(playerid) {
      if(IsPlayerInAnyVehicle(playerid) || IsPlayerSwimming(playerid) || IsPlayerJumping(playerid) || IsPlayerFalling(playerid)) return 0;
      return 1;
}

stock IsPlayerSwimming(playerid) return (1538 <= GetPlayerAnimationIndex(playerid) <= 1544);

stock IsPlayerJumping(playerid) {
    new 
index GetPlayerAnimationIndex(playerid), keysudlr;

    
GetPlayerKeys(playeridkeysudlr);

    return (
keys KEY_JUMP) && (1196 <= index <= 1198);
}

stock IsPlayerFalling(playerid) {
    if(GetPlayerAnimationIndex(playerid) == 1195 || GetPlayerAnimationIndex(playerid) == 1197 || GetPlayerAnimationIndex(playerid) == 1133 || GetPlayerAnimationIndex(playerid) == 1130) {
        new Float:Z;
        GetPlayerVelocity(playeridZZZ);
        if(!= 0) {
            return 1;
        }
 
    }
    return 0;


Opa eaí,mt obrigado pela ajuda,realmente queria colocar tmb pra ver o player tava nadando ou caindo,mas sobre isso de "escopo correto" eu n entendi,primeiro tem q ser o CMD da animação e dps a stock ou é o contrário???Prq eu to fazendo primeiro a stock e dps o CMD.


RE: Problemas com "Undefined Symbol" - Usuário Aleatório - 22/07/2023

Ajudem aí glr ksksks


RE: Problemas com "Undefined Symbol" - White_Blue - 22/07/2023

(22/07/2023 13:52)Usuário Aleatório Escreveu: Ajudem aí glr ksksks

No caso o correto é definir depois.


RE: Problemas com "Undefined Symbol" - Usuário Aleatório - 22/07/2023

(22/07/2023 14:11)White_Blue Escreveu:
(22/07/2023 13:52)Usuário Aleatório Escreveu: Ajudem aí glr ksksks

No caso o correto é definir depois.

Opa,testei aq e deu certo,mt obr pela ajuda,ent tem q sempre q definir DEPOIS as stocks???