[Error] goto
#1

Buenas amigos SA-MP, quisiera saber si hay un limite de la funciуn "goto".

Bueno digo esto porque he creado un script el cuбl emplea la funciуn goto y al aplicarse se paraliza todo el script del servidor, teste el cуdigo sin la funciуn "goto" y funciona perfectamente.

PD: Es algo rara mi pregunta pero la verdad que he puesto el cуdigo de mil maneras y no funciona pero cuando lo aplico sin el "goto" si funciona perfectamente.

Un saludo.
Reply
#2

Muestra el cуdigo, recuerda que esta funciуn no tiene fronteras en cuanto a las llaves, solo las llaves de los callbacks, stocks y demбs.
Reply
#3

pawn Код:
if(NegocioInfo[nid][nSeguro] == true)
              {
                 NegocioInfo[nid][nSeguro] = false;
                 TEXTS:format(MyString, sizeof(MyString),"Nombre: {FFFFFF}%s\n"SERVER_COLORD"Tipo: {FFFFFF}%s\n"SERVER_COLORD"Estado: {FFFFFF}%s\n"SERVER_COLORD"ID: {FFFFFF}%i", NegocioInfo[nid][nNombre], GetNegocioType(NegocioInfo[nid][nTipo]), NegocioInfo[nid][nSeguro]?("Cerrado"):("Abierto"), NegocioInfo[nid][nSQLID][0]);
                 UpdateDynamic3DTextLabelText(NegocioLabel[nid][0], SERVER_COLORT, MyString);
               }
               else NegocioInfo[nid][nSeguro] = true; goto TEXTS;
PD: Asi lo tengo, pero tambien probй con llaves y nada.

Un saludo y muchas gracias por su ayuda.
Reply
#4

En que callback esta ese cуdigo.
Reply
#5

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
En que callback esta ese cуdigo.
En un comando, utilizo YCMD:

pawn Код:
YCMD:seguro(playerid, params[], help)
{
    switch(YHash(params))
    {
         case _H<negocio>:
         {
               if(NegocioInfo[nid][nSeguro] == true)
              {
                 NegocioInfo[nid][nSeguro] = false;
                 TEXTS:format(MyString, sizeof(MyString),"Nombre: {FFFFFF}%s\n"SERVER_COLORD"Tipo: {FFFFFF}%s\n"SERVER_COLORD"Estado: {FFFFFF}%s\n"SERVER_COLORD"ID: {FFFFFF}%i", NegocioInfo[nid][nNombre], GetNegocioType(NegocioInfo[nid][nTipo]), NegocioInfo[nid][nSeguro]?("Cerrado"):("Abierto"), NegocioInfo[nid][nSQLID][0]);
                 UpdateDynamic3DTextLabelText(NegocioLabel[nid][0], SERVER_COLORT, MyString);
               }
               else NegocioInfo[nid][nSeguro] = true; goto TEXTS;
         }
         default: SendClienteMessage(playerid, -1, #Uso: /seguro [negocio]);
    }
    return 1;
}
Un saludo.
Reply
#6

Estas usando mal la estructura "else", recuerda que cuando la usas sin llaves la tomarб hasta el primer punto y coma. En otras palabras, tu cуdigo es lo mismo que escribir.

pawn Код:
YCMD:seguro(playerid, params[], help)
{
    switch(YHash(params))
    {
         case _H<negocio>:
         {
               if(NegocioInfo[nid][nSeguro] == true)
              {
                 NegocioInfo[nid][nSeguro] = false;
                 TEXTS:format(MyString, sizeof(MyString),"Nombre: {FFFFFF}%s\n"SERVER_COLORD"Tipo: {FFFFFF}%s\n"SERVER_COLORD"Estado: {FFFFFF}%s\n"SERVER_COLORD"ID: {FFFFFF}%i", NegocioInfo[nid][nNombre], GetNegocioType(NegocioInfo[nid][nTipo]), NegocioInfo[nid][nSeguro]?("Cerrado"):("Abierto"), NegocioInfo[nid][nSQLID][0]);
                 UpdateDynamic3DTextLabelText(NegocioLabel[nid][0], SERVER_COLORT, MyString);
               }
               else{ NegocioInfo[nid][nSeguro] = true; } goto TEXTS;
         }
         default: SendClienteMessage(playerid, -1, #Uso: /seguro [negocio]);
    }
    return 1;
}
Por lo que se repetirб infinitamente.
Reply
#7

Quote:
Originally Posted by DesingMyCry
Посмотреть сообщение
Estas usando mal la estructura "else", recuerda que cuando la usas sin llaves la tomarб hasta el primer punto y coma. En otras palabras, tu cуdigo es lo mismo que escribir.

pawn Код:
YCMD:seguro(playerid, params[], help)
{
    switch(YHash(params))
    {
         case _H<negocio>:
         {
               if(NegocioInfo[nid][nSeguro] == true)
              {
                 NegocioInfo[nid][nSeguro] = false;
                 TEXTS:format(MyString, sizeof(MyString),"Nombre: {FFFFFF}%s\n"SERVER_COLORD"Tipo: {FFFFFF}%s\n"SERVER_COLORD"Estado: {FFFFFF}%s\n"SERVER_COLORD"ID: {FFFFFF}%i", NegocioInfo[nid][nNombre], GetNegocioType(NegocioInfo[nid][nTipo]), NegocioInfo[nid][nSeguro]?("Cerrado"):("Abierto"), NegocioInfo[nid][nSQLID][0]);
                 UpdateDynamic3DTextLabelText(NegocioLabel[nid][0], SERVER_COLORT, MyString);
               }
               else{ NegocioInfo[nid][nSeguro] = true; } goto TEXTS;
         }
         default: SendClienteMessage(playerid, -1, #Uso: /seguro [negocio]);
    }
    return 1;
}
Por lo que se repetirб infinitamente.
Muchisimas gracias seсor, no se que pasу pero ahorita use llaves y me hacia lo mismo y ahora no.

PD: Me ha salvado de repetir cуdigos se lo agradezco mucho.

Un saludo, que pase buen dia.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)