Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Shaw Salcedo poslato Decembar 15, 2015, 20:48:12 POSLE PODNE

Naslov: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 15, 2015, 20:48:12 POSLE PODNE
Skripta koju koristim: UP
Detaljan opis problema: Znaci ovako ja startam server sve lepo radi ukucam cmd /lideri i onda mi izbaci ono online i svi lideri idem online lepo prikaze textdraw idem svi lideri ne desi se nista samo mi ovo u server logu izbaci
[20:41:31] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[20:41:31] [debug]  Stack pointer (STK) is 0x806868, heap pointer (HEA) is 0x806A0C
[20:41:31] [debug] AMX backtrace:
[20:41:31] [debug] #0 00000000 in public OnDialogResponse () from BERPP.amx

Dio skripte:
if(dialogid == LIDERI)
{
    if(!response) return true;
    if(response)
    {
        switch(listitem)
        {
            case 0:
            {
                new big_String[1110];
                new orgtext[25];
                new string[64];
                for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PI[i][pLeader] > 0)
{

  if(PI[i][pLeader] == 1) { orgtext = "Policija"; }
      else if(PI[i][pLeader] == 2) { orgtext = "Black Guerilla Family"; }
        else if(PI[i][pLeader] == 4) { orgtext = "Cripsy Joker"; }
          else if(PI[i][pLeader] == 6) { orgtext = "Novinari"; }
          else if(PI[i][pLeader] == 8) { orgtext = "F.B.I"; }
            else if(PI[i][pLeader] == 9) { orgtext = "The Red Brigade"; }
            else if(PI[i][pLeader] == 10) { orgtext = "La Cosa Nostra"; }
            else if(PI[i][pLeader] == 11) { orgtext = "Mara Salvatrucha 13"; }
            else if(PI[i][pLeader] == 12) { orgtext = "Parking Servis"; }
            else if(PI[i][pLeader] == 13) { orgtext = "Hitna Pomoc"; }
            else if(PI[i][pLeader] == 14) { orgtext = "The Escobar Cartel"; }
            else if(PI[i][pLeader] == 15) { orgtext = "Taxi"; }
            else { orgtext = "Nepoznat"; }

            format(string,sizeof(string),"Lider: %s | Organizacija: %s\n", GetNameEx(i), orgtext);
strcat(big_String, string);

}
if(strlen(big_String) == 0) return SCM(playerid,-1,""ORANGE"HR: "SIVA"Trenutno nema online lidera!");
if(strlen(big_String) > 1110) return SCM(playerid,-1,"Preveliki string!");
SPD(playerid, DIALOG_GLUPOST, DSM, ""COL_BE"Lista online lidera", big_String, "OK", "");
}
}
}
            case 1:
            {
                 new text[64];
     new File:lider1 = fopen("HR-RP/lideri/1.txt", io_read);
     while(fread(lider1, text)) {
     strmid(ldr1, text, 0, strlen(text), 255); }
     fclose(lider1);

     new File:lider2 = fopen("HR-RP/lideri/2.txt", io_read);
     while(fread(lider2, text)) {
     strmid(ldr2, text, 0, strlen(text), 255); }
     fclose(lider2);

     new File:lider3 = fopen("HR-RP/lideri/3.txt", io_read);
     while(fread(lider3, text)) {
     strmid(ldr3, text, 0, strlen(text), 255); }
     fclose(lider3);

     new File:lider4 = fopen("HR-RP/lideri/4.txt", io_read);
     while(fread(lider4, text)) {
     strmid(ldr4, text, 0, strlen(text), 255); }
     fclose(lider4);

     new File:lider5 = fopen("HR-RP/lideri/5.txt", io_read);
     while(fread(lider5, text)) {
     strmid(ldr5, text, 0, strlen(text), 255); }
     fclose(lider5);

     new File:lider6 = fopen("HR-RP/lideri/6.txt", io_read);
     while(fread(lider6, text)) {
     strmid(ldr6, text, 0, strlen(text), 255); }
     fclose(lider6);

     new File:lider8 = fopen("HR-RP/lideri/8.txt", io_read);
     while(fread(lider8, text)) {
     strmid(ldr8, text, 0, strlen(text), 255); }
     fclose(lider8);

     new File:lider9 = fopen("HR-RP/lideri/9.txt", io_read);
     while(fread(lider9, text)) {
     strmid(ldr9, text, 0, strlen(text), 255); }
     fclose(lider9);
     
     new File:lider10 = fopen("HR-RP/lideri/10.txt", io_read);
     while(fread(lider10, text)) {
     strmid(ldr10, text, 0, strlen(text), 255); }
     fclose(lider10);

     new File:lider11 = fopen("HR-RP/lideri/11.txt", io_read);
     while(fread(lider11, text)) {
     strmid(ldr11, text, 0, strlen(text), 255); }
     fclose(lider11);

     new File:lider12 = fopen("HR-RP/lideri/12.txt", io_read);
     while(fread(lider12, text)) {
     strmid(ldr12, text, 0, strlen(text), 255); }
     fclose(lider12);

     new File:lider13 = fopen("HR-RP/lideri/13.txt", io_read);
     while(fread(lider13, text)) {
     strmid(ldr13, text, 0, strlen(text), 255); }
     fclose(lider13);

     new File:lider14 = fopen("HR-RP/lideri/14.txt", io_read);
     while(fread(lider14, text)) {
     strmid(ldr14, text, 0, strlen(text), 255); }
     fclose(lider14);

     new File:lider15 = fopen("HR-RP/lideri/15.txt", io_read);
     while(fread(lider15, text)) {
     strmid(ldr15, text, 0, strlen(text), 255); }

new lideri1[2048], lideri2[2048], lideri[2048];
    format(lideri1,sizeof(lideri1),"{FFFFFF}Policija | %s\nBlack Guerilla Family | %s\nCripsy Joker | %s\nNovinari | %s\nF.B.I | %s\nThe Red Brigade | %s\nMara Salvatrucha 13 | %s\nParking Servis | %s\nHitna Pomoc | %s\nThe Escobar Cartel | %s",ldr1,ldr2,ldr3,ldr4,ldr5,ldr6,ldr7,ldr8,ldr9,ldr10);
     format(lideri2,sizeof(lideri2),"Taxi | %s",ldr11);
     format(lideri,sizeof(lideri),"%s\n%s",lideri1,lideri2);
     SPD(playerid, DIALOG_GLUPOST, DSM, ""COL_BE"Lista svih lidera", lideri, "OK", "");
            }
}
}
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 16, 2015, 18:37:13 POSLE PODNE
Refres
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Vuzimir poslato Decembar 16, 2015, 20:31:48 POSLE PODNE
napravi debug preko print i vidi u kojem djelu stane...
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 16, 2015, 20:40:09 POSLE PODNE
Kako to?
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Assassin007 poslato Decembar 16, 2015, 20:50:40 POSLE PODNE
new string[]= "simple message";
printf("This is a %s containing the number %d.", string, number); //-> This is a simple message containing the number 42.


pomocu printf radis provjeru
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 16, 2015, 20:59:39 POSLE PODNE
A gde to dodam?
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Vuzimir poslato Decembar 16, 2015, 22:03:11 POSLE PODNE
Citat: Kriso poslato Decembar 16, 2015, 20:59:39 POSLE PODNE
A gde to dodam?

pa dodas tih X izmedju kodova i vidis do kojeg djela stigne kod...
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 16, 2015, 22:13:39 POSLE PODNE
Ovako?
if(dialogid == LIDERI)
{
    if(!response) return true;
    if(response)
    {
        switch(listitem)
        {
            case 0:
            {
                new big_String[1110];
                new orgtext[25];
                new string[64];
                for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PI[i][pLeader] > 0)
{

  if(PI[i][pLeader] == 1) { orgtext = "Policija"; }
      else if(PI[i][pLeader] == 2) { orgtext = "Black Guerilla Family"; }
        else if(PI[i][pLeader] == 4) { orgtext = "Cripsy Joker"; }
          else if(PI[i][pLeader] == 6) { orgtext = "Novinari"; }
          else if(PI[i][pLeader] == 8) { orgtext = "F.B.I"; }
            else if(PI[i][pLeader] == 9) { orgtext = "The Red Brigade"; }
            else if(PI[i][pLeader] == 10) { orgtext = "La Cosa Nostra"; }
            else if(PI[i][pLeader] == 11) { orgtext = "Mara Salvatrucha 13"; }
            else if(PI[i][pLeader] == 12) { orgtext = "Parking Servis"; }
            else if(PI[i][pLeader] == 13) { orgtext = "Hitna Pomoc"; }
            else if(PI[i][pLeader] == 14) { orgtext = "The Escobar Cartel"; }
            else if(PI[i][pLeader] == 15) { orgtext = "Taxi"; }
            else { orgtext = "Nepoznat"; }

            format(string,sizeof(string),"Lider: %s | Organizacija: %s\n", GetNameEx(i), orgtext);
strcat(big_String, string);

}
if(strlen(big_String) == 0) return SCM(playerid,-1,""ORANGE"HR: "SIVA"Trenutno nema online lidera!");
if(strlen(big_String) > 1110) return SCM(playerid,-1,"Preveliki string!");
SPD(playerid, DIALOG_GLUPOST, DSM, ""COL_BE"Lista online lidera", big_String, "OK", "");
}
}
}
            case 1:
            {
            new text[64];
     new File:lider1 = fopen("HR-RP/lideri/1.txt", io_read);
     while(fread(lider1, text)) {
     strmid(ldr1, text, 0, strlen(text), 255); }
     fclose(lider1);

     new File:lider2 = fopen("HR-RP/lideri/2.txt", io_read);
     while(fread(lider2, text)) {
     strmid(ldr2, text, 0, strlen(text), 255); }
     fclose(lider2);

     new File:lider3 = fopen("HR-RP/lideri/3.txt", io_read);
     while(fread(lider3, text)) {
     strmid(ldr3, text, 0, strlen(text), 255); }
     fclose(lider3);

     new File:lider4 = fopen("HR-RP/lideri/4.txt", io_read);
     while(fread(lider4, text)) {
     strmid(ldr4, text, 0, strlen(text), 255); }
     fclose(lider4);

     new File:lider5 = fopen("HR-RP/lideri/5.txt", io_read);
     while(fread(lider5, text)) {
     strmid(ldr5, text, 0, strlen(text), 255); }
     fclose(lider5);

     new File:lider6 = fopen("HR-RP/lideri/6.txt", io_read);
     while(fread(lider6, text)) {
     strmid(ldr6, text, 0, strlen(text), 255); }
     fclose(lider6);

     new File:lider7 = fopen("HR-RP/lideri/7.txt", io_read);
     while(fread(lider7, text)) {
     strmid(ldr7, text, 0, strlen(text), 255); }
     fclose(lider7);

     new File:lider8 = fopen("HR-RP/lideri/8.txt", io_read);
     while(fread(lider8, text)) {
     strmid(ldr8, text, 0, strlen(text), 255); }
     fclose(lider8);

     new File:lider9 = fopen("HR-RP/lideri/9.txt", io_read);
     while(fread(lider9, text)) {
     strmid(ldr9, text, 0, strlen(text), 255); }
     fclose(lider9);

     new File:lider10 = fopen("HR-RP/lideri/10.txt", io_read);
     while(fread(lider10, text)) {
     strmid(ldr10, text, 0, strlen(text), 255); }
     fclose(lider10);

     new File:lider11 = fopen("HR-RP/lideri/11.txt", io_read);
     while(fread(lider11, text)) {
     strmid(ldr11, text, 0, strlen(text), 255); }
     fclose(lider11);

     new File:lider12 = fopen("HR-RP/lideri/12.txt", io_read);
     while(fread(lider12, text)) {
     strmid(ldr12, text, 0, strlen(text), 255); }
     fclose(lider12);

     new File:lider13 = fopen("HR-RP/lideri/13.txt", io_read);
     while(fread(lider13, text)) {
     strmid(ldr13, text, 0, strlen(text), 255); }
     fclose(lider13);

     new File:lider14 = fopen("HR-RP/lideri/14.txt", io_read);
     while(fread(lider14, text)) {
     strmid(ldr14, text, 0, strlen(text), 255); }
     fclose(lider14);

     new File:lider15 = fopen("HR-RP/lideri/15.txt", io_read);
     while(fread(lider15, text)) {
     strmid(ldr15, text, 0, strlen(text), 255); }
     fclose(lider15);

                 new string[]= "simple message";
printf("This is a %s containing the number %d.", string, number); //-> This is a simple message containing the number 42.

new lideri1[2048], lideri2[2048], lideri[2048];
    format(lideri1,sizeof(lideri1),"{FFFFFF}Policija | %s\nBlack Guerilla Family | %s\nCripsy Joker | %s\nNovinari | %s\nF.B.I | %s\nThe Red Brigade | %s\nMara Salvatrucha 13 | %s\nParking Servis | %s\nHitna Pomoc | %s\nThe Escobar Cartel | %s",ldr1,ldr2,ldr3,ldr4,ldr5,ldr6,ldr7,ldr8,ldr9,ldr10);
     format(lideri2,sizeof(lideri2),"Taxi | %s",ldr11);
     format(lideri,sizeof(lideri),"%s\n%s",lideri1,lideri2);
     ShowPlayerDialog(playerid, DIALOG_GLUPOST, DIALOG_STYLE_MSGBOX, ""COL_BE"Lista svih lidera", lideri, "OK", "");
}
}
}
}
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Assassin007 poslato Decembar 16, 2015, 22:21:45 POSLE PODNE
OMFG :FacePlam: Dali ti citas opce sta sam ti posalo ??? Poslao sam ti primjer kako da debug tj provjeravas skriptu jeli ti dobro poslo ili ne , a ne da copy paste uradis.
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 16, 2015, 22:27:41 POSLE PODNE
Citat: Assassin007 poslato Decembar 16, 2015, 22:21:45 POSLE PODNE
OMFG :FacePlam: Dali ti citas opce sta sam ti posalo ??? Poslao sam ti primjer kako da debug tj provjeravas skriptu jeli ti dobro poslo ili ne , a ne da copy paste uradis.
Ne razumem se nesto u pawno mozes li mi ti objasniti kako to da sredim?
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: RilleX poslato Decembar 17, 2015, 10:13:03 PRE PODNE
Evo ti primjere
Znaci koristis print("neki text");

Evo ti jedan malo bolji primjer


new lideri1[2048], lideri2[2048], lideri[2048];
print("Provjera 1");/////////////Prva provjera
format(lideri1,sizeof(lideri1),"{FFFFFF}Policija | %s\nBlack Guerilla Family | %s\nCripsy Joker | %s\nNovinari | %s\nF.B.I | %s\nThe Red Brigade | %s\nMara Salvatrucha 13 | %s\nParking Servis | %s\nHitna Pomoc | %s\nThe Escobar Cartel |%s",ldr1,ldr2,ldr3,ldr4,ldr5,ldr6,ldr7,ldr8,ldr9,ldr10);
print("provjera 2");////////Druga provjera
format(lideri2,sizeof(lideri2),"Taxi | %s",ldr11);
format(lideri,sizeof(lideri),"%s\n%s",lideri1,lideri2);
print("provjera 3");/////////Treca provjera
ShowPlayerDialog(playerid, DIALOG_GLUPOST, DIALOG_STYLE_MSGBOX, ""COL_BE"Lista svih lidera", lideri, "OK", "");




I ukucas tu komandi i odes u server log i nadjes gdje komanda zapne i posaljes nam  ;)
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 17, 2015, 10:15:00 PRE PODNE
Razumem te :D
Primer:
Ja uradim 3 provere
I ako ne ucita 3 onda je tu problem
Hvala ti
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: RilleX poslato Decembar 17, 2015, 10:16:37 PRE PODNE
Znaci ako je zadnja poruka u server logu Provjera 2 znaci da izmedju Provjera 2 i Provjera 3 je problem
Naslov: Odg: [Pomoc] In public OnDialogResponse
Poruka od: Shaw Salcedo poslato Decembar 17, 2015, 10:20:28 PRE PODNE
Znam,hvala ti.