Cesto pada skripta


Započeo TokicMajstor, Mart 02, 2019, 21:15:23 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Od nedavno na serveru svim igracima jako cesto pada skripta, najcesce kad se /goto do nekog i kad se portujes gde ima vise objekata i kad se tek spawnujes pa odma kucas komande tada 100% ces morati relog. Zna li neko zbog cega bi moglo biti
Dio skripte: ne znam sta bih postavio ako treba onplayerspawn ali ne desava se samo tada cesto kad se gotas do nekoga i portujes bilo kud
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): Jednostavno padne skripta (kako se to kaze na engleskom?) znaci niko te ne vidi npr. portujes se do lika i on tebe ne vidi i npr. kucas /stats nista se ne prikaze.


Mod ?




Give Honor To The One Who Deserve It





Luda Kuca, nije s neta, tj. ja sam skripter  i original mod.



Probaj sve, od stringova  pa do uklanjanja nebitnih mapa, uklanjanja nepotrebnih stvari, i mozes i poslat mozda tu komandu /goto da vidimo kako izgleda i te komande nakon kojih se desava to


Optimizuj skriptu, smanji stringove itd, imas tutorijale kao ovaj (Xunder) --> http://balkan-samp.com/forum/index.php?topic=104732.0  :D
Balkan Moon v1.0 by Foxy

Owner // Scripter Balkan Moon

u Potpisu Foxy.

Ne pipaj lava Foxy, radi na BM-u :D :D :D
[4.7.2019] Respect For: Purda | Basovski | Mister Naithan | BICEL KO MI BUNTA | 7.9: Vasic[/b]

* Server [5.1.2019 Created]
* Scripter on Power Gaming
* Scripter on Night Life
* Scripter on Arena Gaming
* Scripter on duty (Balkan Moon)

[23.5.2k19] Messi u skriptanju hehe ;)
[7.8.2k19]OLD Minecraft Developer & Player (2016-2018)

#FOXYSCRIPT[/b]
MAPPER U POKUŠAJU :/[/b]

daj mi kada uradis compile
Tj je l ti izbaci samo jednu
liniju ili
izbaci 5/6
Takodje daj mi samo jednu komandu /goto da vidim na kome si princpiru radio provjere i ostalo,
Preporuka
npr OnPlayerDialog
I sada nemoj u svaki dialog praviti new string[128], pomnozi to sa brojem diajloga i vidices da ce to biti neki broj oko 5000, a zamisli da to smanjis na 128, tako sto samo stavis ispod OnDialogresponse ili kako  se vec zove ta procedura, samo new string [128];
Ukratko to je i optimizacija koda

Ja msm da preko crashreporta mozess utvrdit gdje ti pada skripta koje komande i ostala sranja ako ti nesto ne vaalja u kodu
• G A M E M O D E •
• F I L T E R S C R I P T •
• T U T O R I A L •


Citat
You are what you believe yoursefl to be.

Vasic

*

Usus est magister optimus.

Ovako, prvi od problema moze biti da nisi stavio freeze na teleport, npr ovako: Dodjem ja i ulazim tipa u banku, udje mi u banku onako odma i nista ne cekam | tu stavi freeze npr na 3sec. Onda od drugog problema moze biti preveliki stringovi, npr: pravis neku komandu lupam /ban i kada banuje igraca logicno je da formatiras poruku koju ce igrac dobiti (jer ide i razlog i ime admina) e pa kad stavljas da ti posalje poruku SendClientMessage( playerid, -1, tajstring); 'tajstring' moze i da bude problem. Pogledaj koliki si broj definisao, npr definises new tajstring[1024]; a u recenici ima slova max. 128. E Pa taj string smanjis na 128. I Tako sve komande, pronalazis i optimizujes mod. Isto tako treci problem moze biti do Streamera, preporucujem ti da skines najnoviju verziju. Mora raditi neki od nacina. Ali naravno ako ne bude radilo, skines crashdetect plugin i ubacis ga. On ce ti automatski skenirati gde ti je pala skripta i izbacice ti u server.log-u.
Poslednja Izmena: Mart 04, 2019, 14:13:48 POSLE PODNE od Vasic
• Website: www.vasic.dev
Web Development & Cyber Security


Optimizacija skripte , smanji stringove i t d imas na balkan samp optimizacija memorije Xunder je sve objasnio ...  :D
Balkan Moon v1.0 by Foxy

Owner // Scripter Balkan Moon

u Potpisu Foxy.

Ne pipaj lava Foxy, radi na BM-u :D :D :D
[4.7.2019] Respect For: Purda | Basovski | Mister Naithan | BICEL KO MI BUNTA | 7.9: Vasic[/b]

* Server [5.1.2019 Created]
* Scripter on Power Gaming
* Scripter on Night Life
* Scripter on Arena Gaming
* Scripter on duty (Balkan Moon)

[23.5.2k19] Messi u skriptanju hehe ;)
[7.8.2k19]OLD Minecraft Developer & Player (2016-2018)

#FOXYSCRIPT[/b]
MAPPER U POKUŠAJU :/[/b]


Mnogo imaš ti još da jedeš kačamak.
skrr
Moj tutorijali: Bazilion indent warninga
WORK? : Smart Project 1.2 , Leskovacki Detmec, Rodjendanski  server


Penzionisani balkanski samp kripter


Citat: --Lood-- poslato Mart 04, 2019, 09:30:40 PRE PODNE
daj mi kada uradis compile
Tj je l ti izbaci samo jednu
liniju ili
izbaci 5/6
Takodje daj mi samo jednu komandu /goto da vidim na kome si princpiru radio provjere i ostalo,
Preporuka
npr OnPlayerDialog
I sada nemoj u svaki dialog praviti new string[128], pomnozi to sa brojem diajloga i vidices da ce to biti neki broj oko 5000, a zamisli da to smanjis na 128, tako sto samo stavis ispod OnDialogresponse ili kako  se vec zove ta procedura, samo new string [128];
Ukratko to je i optimizacija koda


Ovako compile:
Pawn compiler 3.10.4	 	 	Copyright (c) 1997-2006, ITB CompuPhase

Header size:          60000 bytes
Code size:          9041392 bytes
Data size:         38360608 bytes
Stack/heap size:      80000 bytes; estimated max. usage=8614 cells (34456 bytes)
Total requirements:47542000 bytes


A evo /goto:
YCMD:goto(playerid, params[],help)
{
        if(UlogovanProvera[playerid] == 0) return Error(playerid, "Morate biti ulogovani, kako bi koristili komande!");
	if(PlayerInfo[playerid][pRadi] == 1) return SCM(playerid,-1,"LudaKuca | "CRVENA"Radis posao ne mozes da koristis ovu komandu!");
	new string[100], giveplayerid, giveplayer[MAX_PLAYER_NAME];
	new Float:plx,Float:ply,Float:plz;
        if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGM] >= 1 || PlayerInfo[playerid][pPromoter] >= 1 || PlayerInfo[playerid][pYouTuber] >= 1 || PlayerInfo[playerid][pImunitet] >= 1 || PlayerInfo[playerid][pVip] >= 5)
	{
		if( !sscanf(params, "u", giveplayerid ) ) 
               {
		        if( giveplayerid == INVALID_PLAYER_ID ) return SCM(playerid, -1,""CRVENA"Igrac nije povezan!");
                        if( PlayerInfo[playerid][pAdmin] < PlayerInfo[giveplayerid][pAdmin]) return SCM(playerid,-1,"LudaKuca| "SPLAVA"Ne mozete se portati do igraca koji je jaci od vas!");
			if( PlayerInfo[playerid][pTrazeniLevel] >= 1) return SCM(playerid,-1,"LudaKuca | "SPLAVA"Ne mozete se portati do igraca jer imate trazeni level!");
			if(NaPubgEventu[playerid] == 1) return SCM(playerid,-1,""CRVENA"Ne mozes koristiti '/goto' na pubgu si, da izadjes koristi /napustipubg!");
			if( PlayerInfo[giveplayerid][pTrazeniLevel] >= 1) return SCM(playerid,-1,"LudaKuca | "SPLAVA"Ne mozete se portati do igraca koji ima trazeni level!");
			if( PlayerInfo[playerid][pZatvor] != 0) return SCM(playerid,-1,"LudaKuca | "SPLAVA"Ne mozete se portati do igraca jer ste zatvoreni!");
                        if( PlayerInfo[giveplayerid][pZatvor] != 0) return SCM(playerid,-1,"LudaKuca | "SPLAVA"Ne mozete se portati do igraca jer je zatvoren!");
			if( PlayerInfo[playerid][pWar] >= 1) return SCM(playerid,-1,"LudaKuca | "SPLAVA"Ne mozete se portati do igraca jer ste u waru!");
			if( PlayerInfo[giveplayerid][pWar] >= 1) return SCM(playerid,-1,"LudaKuca | "SPLAVA"Ne mozete se portati do igraca jer je u waru!");
			if(PlayerInfo[playerid][pUEventu] > -1) return SCM(playerid,-1,"(( LudaKuca )) | "CRVENA"Ne mozes koristiti ovu komandu u eventu, /napustievent da izadjes !");
			if(giveplayerid == playerid) return SCM(playerid, -1, "Ne mozes se portati do samog sebe!");
			GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerPos(giveplayerid, plx, ply, plz);
			if (GetPlayerState(playerid) == 2)
			{
				new tmpcar = GetPlayerVehicleID(playerid);
				SetVehiclePos(tmpcar, plx, ply+4, plz);
			}
			else
			{
				SetPlayerPos(playerid,plx,ply+2, plz);
			}
			SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
			SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
			format(string, sizeof(string),""PLAVA".:: "BELA"LudaKuca "PLAVA"::.  "BELA"Teleportovao si se do igraca %s.",GetName(giveplayerid));
			SCM(playerid, -1, string);
			new arank[35];
			if(PlayerInfo[playerid][pAdmin] == 1) { arank = "Admin Level 1"; }
			else if(PlayerInfo[playerid][pAdmin] == 2) { arank = "Admin Level 2"; }
			else if(PlayerInfo[playerid][pAdmin] == 3) { arank = "Admin Level 3"; }
			else if(PlayerInfo[playerid][pAdmin] == 4) { arank = "Admin Level 4"; }
			else if(PlayerInfo[playerid][pAdmin] == 5) { arank = "Admin Level 5 (Head-Admin)"; }
			else if(PlayerInfo[playerid][pAdmin] == 6) { arank = "Admin Level 6 (Direktor)"; }
			else if(PlayerInfo[playerid][pGM] == 1) { arank = "GameMaster Level 1"; }
			else if(PlayerInfo[playerid][pGM] == 2) { arank = "GameMaster Level 2"; }
			else if(PlayerInfo[playerid][pGM] == 3) { arank = "GameMaster Level 3"; }
			else if(PlayerInfo[playerid][pPromoter] == 1) { arank = "Promoter"; }
			else if(PlayerInfo[playerid][pVip] == 1) { arank = "Vip Level 1"; }
			else if(PlayerInfo[playerid][pVip] == 2) { arank = "Vip Level 2"; }
			else if(PlayerInfo[playerid][pVip] == 3) { arank = "Vip Level 3"; }
			else if(PlayerInfo[playerid][pVip] == 4) { arank = "Vip Level 4"; }
			else if(PlayerInfo[playerid][pVip] == 5) { arank = "Premium"; }
			format(string, sizeof(string),""PLAVA".:: "BELA"LudaKuca "PLAVA"::.  "BELA"%s %s se teleportovao do tebe.",arank, GetName(playerid));
			SCM(giveplayerid, -1, string);
		}
		else SCM(playerid, -1,""CRVENA"LudaKuca Pomoc | "BELA"/goto [ID/Nick]");
	}
	else SCM(playerid, -1,""PLAVA".:: "BELA"LudaKuca "PLAVA"::.  "BELA"Samo Admini & GM !");
	return 1;
}
Poslednja Izmena: Mart 05, 2019, 12:11:43 POSLE PODNE od TokicMajstor