Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Брат Јоле poslato Jun 14, 2014, 16:06:09 POSLE PODNE

Naslov: [Pomoc] Padanje servera, greške u ondialogresponse
Poruka od: Брат Јоле poslato Jun 14, 2014, 16:06:09 POSLE PODNE
Skripta koju koristim: NL
Detaljan opis problema: Dešava se da server često pada, skinuo sam crashdetect plugin, ubacio ga, compile sa -d3 parametrom i dobio sam gde je greška u server log fajlu. Ne znam kako bih to ispravio, tačnije i ne primećujem grešku nigde, iako kaže da je na toj liniji
Dio skripte: Ispod
Neke slike/video za lakse dobivanje pomoci(neobavezno):

Znači ovako, evo greški iz loga
[15:42:30] [debug] Server crashed while executing NLRP.amx
[15:42:30] [debug] AMX backtrace:
[15:42:30] [debug] #0 native format () [080d9b00] from samp03svr
[15:42:30] [debug] #1 00289164 in SCMF (playerid=0, color=-86, fstring[]=@0x02fe3024 "Dobrodosli na Detroit City Rol...", ... <2 arguments>) at C:\Users\Nikola\Desktop\Detroit City RP - v2.0J\gamemodes\NLRP.pwn:30378
[15:42:30] [debug] #2 003b80e4 in public OnDialogResponse (playerid=0, dialogid=318, response=1, listitem=-1, inputtext[]=@0x03076740 "šifra") at C:\Users\Nikola\Desktop\Detroit City RP - v2.0J\gamemodes\NLRP.pwn:56348
[15:42:30] [debug] Native backtrace:
[15:42:30] [debug] #0 f738d936 in _ZN10StackTraceC2EPv () from plugins/crashdetect.so
[15:42:30] [debug] #1 f7388f33 in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so
[15:42:30] [debug] #2 f7389a62 in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
[15:42:30] [debug] #3 f7389f63 in _ZN11CrashDetect11OnExceptionEPv () from plugins/crashdetect.so
[15:42:30] [debug] #4 f738d63d in ?? () from plugins/crashdetect.so
[15:42:30] [debug] #5 f7705410 in ?? ()
[15:42:30] [debug] #6 080a3357 in ?? () from ./samp03svr
[15:42:30] [debug] #7 080d3899 in ?? () from ./samp03svr
[15:42:30] [debug] #8 080d9b40 in ?? () from ./samp03svr
[15:42:30] [debug] #9 08093f54 in ?? () from ./samp03svr
[15:42:30] [debug] #10 f73869f1 in _ZN11CrashDetect13DoAmxCallbackEiPiS0_ () from plugins/crashdetect.so


Dialog id 318 je dialog za login, a ovo što piše "šifra" je šifra od acca sa servera koju sam sklonio.
Linija 30378 je deo SCMF stocka, dok je linja 56348 u ondialogresponse baš deo u kome piše ovo "Dobrodosli na Detroit City Rol..." iz koda
Evo linija tih kodova ako neko ume prepoznati grešku pošto meni stvarno nije jasno, a server konstantno pada :(

stock SCMF(playerid,color,fstring[],{Float, _}:...)
{
   new n=(numargs()-3)*4;
   if(n)
   {
      new message[128],arg_start,arg_end;
      #emit CONST.alt                fstring
      #emit LCTRL                    5
      #emit ADD
      #emit STOR.S.pri               arg_start
      #emit LOAD.S.alt               n
      #emit ADD
      #emit STOR.S.pri               arg_end
      do
  {
         #emit LOAD.I
         #emit PUSH.pri
         arg_end-=4;
         #emit LOAD.S.pri           arg_end
      }
      while(arg_end>arg_start);
      #emit PUSH.S                   fstring
      #emit PUSH.C                   255
      #emit PUSH.ADR                 message
      n+=4*3;
      #emit PUSH.S                   n
      #emit SYSREQ.C                 format
30378. n+=4;
      #emit LCTRL                    4
      #emit LOAD.S.alt               n
      #emit ADD
      #emit SCTRL                    4
      return SCM(playerid,color,message);
   }
   else return SCM(playerid,color,fstring);
}


SCMF(playerid,BELA,"Dobrodosli na Detroit City RolePlay. | Sada je %d sati i %d minuta.", hour, minuite);

TakoÄ'e u kodu se pominje Å¡ifra (inputtext) evo i tog dela
if(dialogid == DIALOG_LOGIN)
{
if(!response) { Kicksaporukom(playerid); return 1; }
if(response)
{
    KillTimer(poslije[playerid]);
if(strlen(inputtext))
{
if(!strcmp(inputtext, PlayerInfo[playerid][pSifra], false))
{
IgracLogovan[playerid] = 1;
///// KREIRANJE OWNERSHIPA
KreirajSkuter(playerid);
  KreirajBiciklo(playerid);
  KreirajVozilonovo(playerid)
  KreirajLetjelicu(playerid);
  KreirajDrugovozilo(playerid);
  ...
Naslov: Odg: [Pomoc] Padanje servera, greške u ondialogresponse
Poruka od: youngdeal poslato Jun 14, 2014, 16:07:41 POSLE PODNE
Ja mislim da nije problem u ovome sto si nam dao.
Naslov: Odg: [Pomoc] Padanje servera, greške u ondialogresponse
Poruka od: Брат Јоле poslato Jun 14, 2014, 16:10:04 POSLE PODNE
Stvarno mi nije jasno, to su te linije koje ispisuje log, i dok je upaljen crashdetect, svaki put kad se neko loguje i kad upiše šifru padne server..
Naslov: Odg: [Pomoc] Padanje servera, greške u ondialogresponse
Poruka od: youngdeal poslato Jun 14, 2014, 16:12:16 POSLE PODNE
Citat: Ð'раÑ, Јоле poslato Jun 14, 2014, 16:10:04 POSLE PODNE
Stvarno mi nije jasno, to su te linije koje ispisuje log, i dok je upaljen crashdetect, svaki put kad se neko loguje i kad upiše šifru padne server..
daj mi citav response za kucanje sifre.
Naslov: Odg: [Pomoc] Padanje servera, greške u ondialogresponse
Poruka od: Брат Јоле poslato Jun 14, 2014, 16:13:48 POSLE PODNE
Eo :D

if(response)
{
    KillTimer(poslije[playerid]);
if(strlen(inputtext))
{
if(!strcmp(inputtext, PlayerInfo[playerid][pSifra], false))
{
IgracLogovan[playerid] = 1;
///// KREIRANJE OWNERSHIPA
KreirajSkuter(playerid);
  KreirajBiciklo(playerid);
  KreirajVozilonovo(playerid)
  KreirajLetjelicu(playerid);
  KreirajDrugovozilo(playerid);
  //////
new stringnj[256];
new year, month,day;
getdate(year, month, day);
new hour,minuite;
gettime(hour,minuite);
FixHour(hour);
hour = shifthour;
new pip[24];
    GetPlayerIp(playerid, pip, sizeof(pip));
format(stringnj, sizeof(stringnj), "%d.%d.%d | %d:%d | %s se konektovao na server | IP: %s\n",day,month,year,hour,minuite,GetPlayerNameEx(playerid),pip);
logovanjelog(stringnj);
ClearChatbox(playerid, 8);
GetPlayerName(playerid,sendername,sizeof(sendername));
ClearAnimations(playerid);
GivePlayerMoney (playerid,PlayerInfo[playerid][pNovac]);
SpawnPlayer(playerid);
imeigraca(playerid,sendername);
new asfgasg[256];
new playersip[64];
GetPlayerIp(playerid,playersip,sizeof(playersip));
format(asfgasg,sizeof(asfgasg),"%s",playersip);
strmid(PlayerInfo[playerid][pIP], asfgasg, 0, strlen(asfgasg), 255);
new stringv[128];
new stringa[128];

format(stringv, sizeof(stringv), "/Korisnici/Aktivnost/%s.ini", sendername);
if(!fexist(stringv))
{
dini_Create(stringv);
}
format(stringa,sizeof(stringa),"%d.%d.%d, %d:%d",day,month,year,hour,minuite);
dini_Set(stringv,"Login", stringa);
strmid(PlayerInfo[playerid][ZadnjiLogin], stringa, 0, strlen(stringa), 255);
foreach(Player, i)
{
if (PlayerInfo[i][pLogSpec] == 1)
{
   new abc[256];
   format(abc, sizeof(abc),"{FFFF00}[DC] Adm| {00C0FF}Igrac {FFFFFF}%s(%d) {00C0FF}se konektovao na server!",sendername,playerid);
SCM(i,WHITE,abc);
}
}
SCMF(playerid,BELA,"Dobrodosli na Detroit City RolePlay. | Sada je %d sati i %d minuta.", hour, minuite);
SCMF(playerid,BELA,"Vas nivo je %d i proveli ste %d sati igre na serveru",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pOnlineVremena]);
SetPlayerColor(playerid,0xFFFFFFFF);
if (PlayerInfo[playerid][pAdmin] > 0)
{
SCMF(playerid,BELA,"{FFFF00}Logovan si kao Administrator %d", PlayerInfo[playerid][pAdmin]);
}
if (PlayerInfo[playerid][pGameXpert] > 0)
{
SCMF(playerid,BELA,"{FFFF00}Logovan si kao GameXpert {FFFF00}%d", PlayerInfo[playerid][pGameXpert]);
}
if(PlayerInfo[playerid][pLider] != 0)
{
PlayerInfo[playerid][pPodlider] = PlayerInfo[playerid][pLider];
}
if(PlayerInfo[playerid][pRank] == 5)
{
PlayerInfo[playerid][pPodlider] = PlayerInfo[playerid][pClan];
}

if(PlayerInfo[playerid][pKaznaOdOvo] == 1)
{
PlayerInfo[playerid][pZatvoren] = 1;
PlayerInfo[playerid][pZatvorenVremena] = 20*60;
PlayerInfo[playerid][pKaznaOdOvo] = 0;
SCM(playerid,WHITE,"[DC]: {FFFF00}Prebaceni ste u zatvor na 20 minuta!");
SCM(playerid,WHITE,"[DC]: {FFFF00}Otisli ste sa servera tazovani, sa potjerom, zavezani ili niste platili kaznu!");
}
}
else
{
new loginname[840];
new mesage2[128];
new mesage3[128];
GetPlayerName(playerid,loginname,sizeof(loginname));
format(mesage2, sizeof(mesage2),  "{FFFF00}Pogrijesili ste lozinku korisnika {EA0C0C}%s",loginname);
format(mesage3, sizeof(mesage3),  "\n{FFFF00} Imate %d pokusaja za logiranje!",gPlayerLogTries[playerid]);
format(loginname, 840," %s%s",mesage2,mesage3);
ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_PASSWORD, "{EA0C0C}Pogresna sifra!!!", loginname, "Prijava", "Izadji");
new abc[256];
format(abc, sizeof(abc),"{FFFF00}[DC] Adm| {00C0FF}Igrac {FFFFFF}%s(%d) {00C0FF}je pogrijesio sifru pri logovanju na server!",loginname,playerid);
ABroadCast(COLOR_LIGHTRED,abc,1);
gPlayerLogTries[playerid]--;
if(gPlayerLogTries[playerid] == 0)
{
Kicksaporukom(playerid);
}
}
}


Pošto izbacuje error i kod ovog SCMFa, možda mi SCMF stock nije pravilno napisan?
Naslov: Odg: [Pomoc] Padanje servera, greške u ondialogresponse
Poruka od: youngdeal poslato Jun 14, 2014, 16:17:20 POSLE PODNE
scfm je uredu.

covjece stvarno lose kodiras uradi ispocetka logovanje tu mu samo proveri tacnost sifre i onda kad proveris pokrenes mu timer i citas vlasnistva a ne ovako.
Naslov: Odg: [Pomoc] Padanje servera, greške u ondialogresponse
Poruka od: Брат Јоле poslato Jun 14, 2014, 16:20:54 POSLE PODNE
Nisam ja to kodirao, kao što rekoh gore mod je NL, mogu da napravim tajmer tu i da prebacim sve ovo ostalo u njega, al ne verujem da će to rešiti stvar, evo sad ću probati

ÄŒim sam ugasio deo koda
SCMF(playerid,BELA,"Dobrodosli na Detroit City RolePlay. | Sada je %d sati i %d minuta.", hour, minuite);
SCMF(playerid,BELA,"Vas nivo je %d i proveli ste %d sati igre na serveru",PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pOnlineVremena]);

sve radi kako treba.. btw tajmer nije rešio prob

Može lock