War Sistem Bag, pls pomoc za 2 dana open


Započeo Balsa., Januar 25, 2018, 13:03:20 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Detaljan opis problema: Eh ovako. Na war imam komandu /score koji ocitava vrijeme kad ce war zavrsiti i koji je score. I imam dole jedan TD koji prikazuje kolki je rezultat i kolko do kraja.
-Kada je igrac ingame cijeli war sve mu radi perfektno osim  sto dole na TextDrawu ne ocitava rezultat, dok je na /score kao i vreme kod textdrwa dobro. Znaci tu rezultat ne ocitava
-Kada igrac ode quit/crash/kick i ponovo udje njemu se pojavi textdraw samo za vrijeme(ali ono zadnje kada je otisao off), ne ovo koji je rezultat, a kada ukuca /score vreme mu je isto kao sto je bilo zadnje kada je otisao offline. I tako mu stoji cijeli war i njegovi killovi se ne racunaju niti ista, zasto ?
Dio skripte:
Pod OnPlayerConnect
Warur[playerid] = TextDrawCreate(215.000000, 413.000000 , "ORGANIZACIJA (00) / / ORGANIZACIJA (00)");
	TextDrawFont(Warur[playerid] , 2);
	TextDrawLetterSize(Warur[playerid] , 0.320000, 1.200000);
	TextDrawColor(Warur[playerid] , -1);
	TextDrawSetOutline(Warur[playerid] , true);
	TextDrawSetProportional(Warur[playerid] , true);
	TextDrawBackgroundColor(Warur[playerid] , 255);
	Warur2[playerid] = TextDrawCreate(200.000000, 403.000000 , "19:59");
	TextDrawFont(Warur2[playerid] , 1);
	TextDrawLetterSize(Warur2[playerid] , 0.320000, 1.200000);
	TextDrawColor(Warur2[playerid] , 0xff0000FF);
	TextDrawSetOutline(Warur2[playerid] , true);
	TextDrawSetProportional(Warur2[playerid] , true);
	TextDrawBackgroundColor(Warur2[playerid] , 255);


Nemam nista pod onplayerdissconet vezano za ovo

Komanda /score
if(strcmp(cmd, "/score", true) == 0)
		{
		if(PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pMember] == 5)
		{
		GetPlayerName(id, giveplayer, sizeof(giveplayer));
		{
		TextDrawShowForPlayer(playerid, Warur2[playerid]);
 		format(string, 256, "{FFFFFF}Tim #1 (%s) %02d {FFD700}///{FFFFFF} Tim #2 (%s) %02d{FFD700}///{FFFFFF}Preostalo vrijeme: %02d:%02d", ztext, Tim2Skor, ftext, Tim1Skor, WarMin[playerid],WarSec[playerid]);
 		SCM(playerid, COLOR_GOLD, string);
 		}
		} else return SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete koristiti ovu komandu - samo bande/mafije.");
 		return 1;
 		}


Kada nudi /war
if(strcmp(cmd, "/war", true) == 0)
		{
		if(IsPlayerConnected(playerid) && gPlayerLogged[playerid] == 1)
		{
		if(PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pLeader] == 5)
		{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SCM(playerid, COLOR_DGOLD, "KORISTENJE: /war [ID/DioImena]");
		id = ReturnUser(tmp);
		if(id == playerid) return SCM(playerid, COLOR_LIGHTRED, "ERROR: Nemozete samom sebi ponuditi war - pokušajte sa liderom druge organizacije.");
		if(!IsPlayerConnected(id)) return SCM(playerid, COLOR_LIGHTRED, "ERROR: Odabrana osoba nije ulogirana u svoj korisnicki racun - pokusajte poslije.");
		if(Warteam[playerid] >= 1) return SCM(playerid, COLOR_LIGHTRED, "ERROR: Trenutno ste na waru - ne mozete koristiti ovu komandu.");
		if(Warteam[id] >= 1) return SCM(playerid, COLOR_LIGHTRED, "ERROR: Odabrani lider je vec u ratu - kada zavrsi pokušajte ponovno");
		if(PlayerInfo[playerid][pLeader] == PlayerInfo[id][pMember]) return SCM(playerid, COLOR_LIGHTRED, "ERROR: Nemozete ponuditi war lideru iste organizacije u kojoj ste vi.");
		if(Spraying[playerid] == 0)
		{
		if(PlayerInfo[id][pLeader] == 2 || PlayerInfo[id][pLeader] == 3 || PlayerInfo[id][pLeader] == 4 || PlayerInfo[id][pLeader] == 5)
		{
		format(string, 256, "INFO: Ponudili ste lideru %s war - ukoliko ga prihvati zapocinje war u trajanju od 20 minuta.", Ime(id));
		SCM(playerid, COLOR_GOLD, string);
		format(string, 256, "INFO: Vas lider %s je ponudio war lideru %s - ukoliko ga prihvati zapocinje war u trajanju od 20 minuta.", Ime(playerid), Ime(id));
		SendRadioMessage(PlayerInfo[playerid][pLeader], COLOR_DGOLD, string);
		format(string, 256, "INFO: Lider %s vam je ponudio war - upisite '/accept war' da prihvatite war u trajanju od 20 minuta.", Ime(playerid));
		SCM(id, COLOR_GOLD, string);
		format(string, 256, "INFO: Lider %s je ponudio war vašem lideru %s - ukoliko ga prihvati zapocinje war u trajanju od 20 minuta.", Ime(playerid), Ime(id));
		SendRadioMessage(PlayerInfo[id][pLeader], COLOR_GOLD, string);
		Warer[id] = 1;
		WarOffer[id] = playerid;
		WarAccept[id] = playerid;
		WarAccept[id] = 1;
		SprayAccept[id] = 1;
		SetTimerEx("SprayAccepter", 30000, false, "%i", id);
		SetTimerEx("SprayTime", 30000, false, "%i", playerid);
		Spraying[playerid] = 1;
		}
		else { SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete ponuditi war nekome tko nije lider bande/mafije."); }
		}
		else
		{
		SCM(playerid, COLOR_LIGHTRED, "ERROR: Morate pricekati minimalno 30 sekundi prije nove ponude za rat (/war).");
		}
		}
		else
		{
		SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete koristiti ovu komandu - samo lideri banda/mafija.");
		}
		}
		return 1;
		}


Kada War zapocne, odnosno taj dio /accept war komande
if(strcmp(x_nr,"war",true) == 0)
		{
		if(Warer[playerid] == 1)
		{
		if(IsPlayerConnected(WarOffer[playerid]))
		{
		if(SpammAccept[playerid] == 0)
		{
		GetPlayerName(WarOffer[playerid], giveplayer, sizeof(giveplayer));
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, 256, "INFO: Prihvatili ste ponudu lidera %s za war - poceo je rat u trajanju od 15 minuta.",giveplayer);
		SCM(playerid, COLOR_GOLD, string);
		format(string, 256, "INFO: Lider %s je prihvatio objavu rata - rat je ovime zapoceo i traje 15 minuta te pobjeduje ona mafija/banda sa vise ubojstava.", sendername);
		SCM(WarOffer[playerid], COLOR_ADMWARN, string);
		format(string, 256, "INFO: Vas lider %s je prihvatio objavu rata od lidera %s - rat je ovime zapoceo i traje 15 minuta.",sendername, giveplayer);
		SendRadioMessage(PlayerInfo[playerid][pLeader], COLOR_GOLD, string);
		format(string, 256, "INFO: Lider %s je prihvatio ponudu za rat vaseg lidera %s - rat je ovime zapoceo i traje 15 minuta.", sendername, giveplayer);
		SendRadioMessage(PlayerInfo[WarOffer[playerid]][pLeader], COLOR_GOLD, string);
		SpammAccept[playerid] = 1;
		AcceptTim[playerid] = SetTimerEx("AccSpam", 60000, false, "%d", playerid);
	 	if(PlayerInfo[playerid][pLeader] == 2) {  ftext = "The Triads"; }
	 	else if(PlayerInfo[playerid][pLeader] == 3) {  ftext = "Russian Mafia"; }
	 	else if(PlayerInfo[playerid][pLeader] == 4) {  ftext = "GROVE GANG"; }
	 	else if(PlayerInfo[playerid][pLeader] == 5) {  ftext = "Columbian Gang"; }
	 	if(PlayerInfo[WarOffer[playerid]][pLeader] == 2) {  ztext = "The Triads"; }
	 	else if(PlayerInfo[WarOffer[playerid]][pLeader] == 3) {  ztext = "Russian Mafia"; }
	 	else if(PlayerInfo[WarOffer[playerid]][pLeader] == 4) {  ztext = "GROVE GANG"; }
	 	else if(PlayerInfo[WarOffer[playerid]][pLeader] == 5) {  ztext = "Columbian Gang"; }
		foreach(Player, i)
		{
		if(IsPlayerConnected(i) && gPlayerLogged[i] == 1 && gPlayerSpawned[i] == 1)
		{
 	if(PlayerInfo[i][pMember] == PlayerInfo[playerid][pLeader])
		{
		WarMin[i] = 14;
		WarSec[i] = 59;
		teamBlue[i] = PlayerInfo[playerid][pLeader];
		Warteam[i] = PlayerInfo[playerid][pLeader];
		Warnjiska[i] = PlayerInfo[WarOffer[playerid]][pLeader];
		format(string, 256, "~r~%s ~w~(%02d) // ~r~%s~w~ (%02d)", ztext,Tim1Skor, ftext, Tim2Skor);
		TextDrawSetString(Warur[i], string);
		TextDrawShowForPlayer(i, Warur[i]);
		TextDrawShowForPlayer(i, Warur2[i]);
		TextDrawHideForPlayer(i, forum[i]);
		OnDuty[i] = 0;
		SetPlayerColor(playerid, COLOR_LIGHTBLUE);
		}
		else if(PlayerInfo[i][pMember] == PlayerInfo[WarOffer[playerid]][pLeader])
		{
		WarMin[i] = 14;
		WarSec[i] = 59;
		teamRed[i] = PlayerInfo[WarOffer[playerid]][pLeader];
		Warteam[i] = PlayerInfo[WarOffer[playerid]][pLeader];
		Warnjiska[i] = PlayerInfo[playerid][pLeader];
		format(string, 256, "~r~%s ~w~(%02d) // ~r~%s~w~ (%02d)", ztext,Tim1Skor, ftext, Tim2Skor);
		TextDrawSetString(Warur[i], string);
		TextDrawShowForPlayer(i, Warur[i]);
		TextDrawShowForPlayer(i, Warur2[i]);
		TextDrawHideForPlayer(i, forum[i]);
		OnDuty[i] = 0;
		SetPlayerColor(playerid, COLOR_LIGHTRED);
		}
		}
		}
		}
		else
		{
		SCM(playerid, COLOR_LIGHTRED, "ERROR: Ne mozete prihvatiti nijednu ponudu u narednoj minuti - anti abuse system.");
		}
		}
		}
		}


Kada war zavrsi
forward WarTime();
public WarTime()
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(IsPlayerConnected(i))
{
if(Warteam[i] >= 1)
{
if(WarMin[i] <= 0 && WarSec[i] <= 0)
{
new string[128];
if(teamBlue[i] == 2) {  ftext = "The Triads"; }
else if(teamBlue[i] == 3) {  ftext = "Russian Mafia"; }
else if(teamBlue[i] == 4) {  ftext = "Grove Gang"; }
else if(teamBlue[i] == 5) {  ftext = "Columbian Gang"; }
if(teamRed[i] == 2) {  ztext = "The Triads"; }
else if(teamRed[i] == 3) {  ztext = "Russian Mafia"; }
else if(teamRed[i] == 4) {  ztext = "Grove Gang"; }
else if(teamRed[i] == 5) {  ztext = "Columbian Gang"; }
if(teamRedKills[teamRed[i]] > teamBlueKills[Warnjiska[teamBlue[i]]])
{
format(string, 128, "INFO: War je zavrsio pobjedom organizacije %s sa %d killova - cestitke.", ztext, teamRedKills[teamRed[i]]);
SCM(i, COLOR_GOLD, string);
}
else if(teamRedKills[teamRed[i]] < teamBlueKills[Warnjiska[teamBlue[i]]])
{
format(string, 128, "INFO: War je zavrsio pobjedom organizacije %s sa %d killova - cestitke.", ftext, teamBlueKills[Warnjiska[teamBlue[i]]]);
SCM(i, COLOR_GOLD, string);
}
else if(teamRedKills[teamRed[i]] == teamBlueKills[Warnjiska[teamBlue[i]]])
{
format(string, 128, "INFO: War izmedu organizacija %s i %s je zavrsio rezultatom %02d - %02d ~ cestitke svima.", ftext,ztext,Tim1Skor,Tim2Skor);
SCM(i, COLOR_GOLD, string);
}
SetPlayerInterior(i, 0);
SetPlayerHealth(i, 0);
Tim1Skor = 0;
Tim2Skor = 0;
teamBlueKills[teamBlue[i]] = 0;
teamRedKills[teamRed[i]] = 0;
teamBlue[i] = 0;
teamRed[i] = 0;
Warteam[i] = 0;
Warnjiska[i] = 0;
TextDrawHideForPlayer(i, Warur2[i]);
TextDrawHideForPlayer(i, Warur[i]);
KillTimer(WarTimuska[i]);
}
else
{
if(WarSec[i] > 0)
{
new string[128];
WarSec[i]--;
format(string, 256, "~w~%02d:%02d", WarMin[i],WarSec[i]);
TextDrawSetString(Warur2[i], string);
}
else if(WarSec[i] <= 0)
{
new string[128];
WarSec[i] = 59;
WarMin[i]--;
format(string, 256, "~w~%02d:%02d", WarMin[i],WarSec[i]);
TextDrawSetString(Warur2[i], string);
}
}
}
}
}
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno): Nema

Pls pomoc <3


Jesi stavio TextDrawShowPlayer?
Respect to Muma187, Sivir, Ino420, Tosic, Shomy Script, σgí, [CG]Johnny, [WG]Danny
Alfa Gaming Community Owner & Skripter
Alfa Gaming mod edit:100%

Jedino ovo, al nzm jel povezano sa gornjim jer se ne razumijem u to.

Mislim da je za vreme stavljeno al ipak ne odbrojava kad ode relog
TextDrawShowForPlayer(playerid, Textdraw0);
	TextDrawShowForPlayer(playerid, Textdraw1);
	TextDrawShowForPlayer(playerid, Textdraw2);
	TextDrawShowForPlayer(playerid, Textdraw3);
	TextDrawShowForPlayer(playerid, Textdraw4);
	TextDrawShowForPlayer(playerid, Textdraw5);
	TextDrawShowForPlayer(playerid, Textdraw6);
	TextDrawShowForPlayer(playerid, Textdraw7);
	TextDrawShowForPlayer(playerid, Textdraw8);
	TextDrawShowForPlayer(playerid, Textdraw9);
	TextDrawShowForPlayer(playerid, Textdraw10);


CMD:score(playerid, params[])
{
	if(PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pMember] == 5)
	{
	    if(WarAktivan == false) return SCM(playerid, GRAD2, "(greska) War nije pokrenut!");
		SCMF(playerid, PLAVA, "Tim 1 bodovi: {FFFFFF}%d", Tim1Skor);
		SCMF(playerid, CRVENA, "Tim 2 bodovi: {FFFFFF}%d", Tim2Skor);
    }
    else return SCM(playerid, GRAD2, "(greska) Niste autorizirani da koristite ovu komandu!");
    return 1;
}

Prilagodi sebi tu komandu
Respect to Muma187, Sivir, Ino420, Tosic, Shomy Script, σgí, [CG]Johnny, [WG]Danny
Alfa Gaming Community Owner & Skripter
Alfa Gaming mod edit:100%

Koliko vidim kod komande acceptwar nemas:
Tebi nigde ne pokaze koji ti je skor zato sto to za string nisi ni podesio :)

TextDrawSetString(Warur2, string);

One And Only
Old Member
Since AVGUST 2013. :)
GAME OVER - SCRIPTING
SINCE 2009 - 2020


Dobro momci dobro, hvala

To za TD-ove je rijeseno.
Ali imam problem.
Kada neko ode offline pa ponovo udje njemu vreme ostane onakvo kakvo je bilo kada je otisao offline ako me shvatate ?


new odbrojavajwar = -1;


    if(odbrojavajwar > 0)
	{
		odbrojavajwar--;
		format(CmdString, 10, "%s",KonvertujVreme(odbrojavajwar));
		TextDrawSetString(WarTD[8], CmdString);
		foreach(Player, i)
		{
			if(IgracUWaru[i] == 1) TextDrawShowForPlayer(i, WarTD[8]);
		}
	}
	else if(odbrojavajwar == 0)
	{
		odbrojavajwar = -1;
  		foreach(Player, i) TextDrawHideForPlayer(i,WarTD[8]);
	}

Probaj to ako ti paše :)
Poslednja Izmena: Januar 25, 2018, 14:45:27 POSLE PODNE od [SKRIPTER]Bajric
Respect to Muma187, Sivir, Ino420, Tosic, Shomy Script, σgí, [CG]Johnny, [WG]Danny
Alfa Gaming Community Owner & Skripter
Alfa Gaming mod edit:100%


Citat: Balsa. poslato Januar 25, 2018, 15:04:04 POSLE PODNE
Ne znam ne ukalapa se nikako
Koji mod koristis
Respect to Muma187, Sivir, Ino420, Tosic, Shomy Script, σgí, [CG]Johnny, [WG]Danny
Alfa Gaming Community Owner & Skripter
Alfa Gaming mod edit:100%