dm zona


Započeo Nolee, Maj 14, 2020, 13:45:48 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning):
dakle napravio sam DM zonu ali kad igrac ubije igraca dolazi PORUKA wanted levela, ali ne i wanted level, kako to da sklonim
[/b]
Dio skripte:
if(IsPlayerConnected(killerid) && tim[killerid] == 1)
	{
	    SetPlayerWantedLevel(killerid, 0);
		PlayerInfo[killerid][pTrazeniLevel] = 0;
	    new string[512];
		format(string,sizeof(string), ""DMBOJA"** DM ZONA | %s(%d) je ubio protivnika %s(%d)", GetName(killerid), killerid, GetName(playerid), playerid);
		DMSEND(-1, string);
		DodajDM(killerid);
		SetPlayerWantedLevel(killerid, 0);
	}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]/[/code]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Poslednja Izmena: Maj 14, 2020, 13:47:10 POSLE PODNE od Nolee

Nisam razumeo sta tocno zelis, ali ako napraviti da igrac dobije wl

if(IsPlayerConnected(killerid) && tim[killerid] == 1) {
	    SetPlayerWantedLevel(killerid, 10); //umjesto 10 stavi broj wanteda koji zelis
		PlayerInfo[killerid][pTrazeniLevel] = 10; // isto tako i tu
	    new string[512];
		format(string,sizeof(string), ""DMBOJA"** DM ZONA | %s(%d) je ubio protivnika %s(%d)", GetName(killerid), killerid, GetName(playerid), playerid);
		DMSEND(-1, string);
		DodajDM(killerid);
	}


A ako zelis da igrac ne boje wanted kao niti poruku probaj ovako

if(IsPlayerConnected(killerid) && tim[killerid] == 1) {
	    new string[512];
		format(string,sizeof(string), ""DMBOJA"** DM ZONA | %s(%d) je ubio protivnika %s(%d)", GetName(killerid), killerid, GetName(playerid), playerid);
		DMSEND(-1, string);
		DodajDM(killerid);
	}

Citat: Miki11 poslato Maj 14, 2020, 13:49:47 POSLE PODNE
Nisam razumeo sta tocno zelis, ali ako napraviti da igrac dobije wl

if(IsPlayerConnected(killerid) && tim[killerid] == 1) {
	    SetPlayerWantedLevel(killerid, 10); //umjesto 10 stavi broj wanteda koji zelis
		PlayerInfo[killerid][pTrazeniLevel] = 10; // isto tako i tu
	    new string[512];
		format(string,sizeof(string), ""DMBOJA"** DM ZONA | %s(%d) je ubio protivnika %s(%d)", GetName(killerid), killerid, GetName(playerid), playerid);
		DMSEND(-1, string);
		DodajDM(killerid);
	}



A ako zelis da igrac ne boje wanted kao niti poruku probaj ovako

if(IsPlayerConnected(killerid) && tim[killerid] == 1) {
	    new string[512];
		format(string,sizeof(string), ""DMBOJA"** DM ZONA | %s(%d) je ubio protivnika %s(%d)", GetName(killerid), killerid, GetName(playerid), playerid);
		DMSEND(-1, string);
		DodajDM(killerid);
	}


brate igrac ne dobije wanted ali mu dodje poruka kao da je dobio npr mi smo u dm zoni i ti me ubijes dodje ti poruka da si dobio wl i da si me ubio ako me shvatas a meni treba da ne daje wanted i da ne dolazi ta poruka a i taj drugi kod daje wl, u pitanju je UP i hocu da napravim kad je u dm zoni da ne dolazi wl ni poruka kao sto je napravljeno kad je igrac policajac, sve sam pokusavo kao to ali ne ide

Citat: Nolee poslato Maj 14, 2020, 13:55:54 POSLE PODNE
brate igrac ne dobije wanted ali mu dodje poruka kao da je dobio npr mi smo u dm zoni i ti me ubijes dodje ti poruka da si dobio wl i da si me ubio ako me shvatas a meni treba da ne daje wanted i da ne dolazi ta poruka a i taj drugi kod daje wl, u pitanju je UP i hocu da napravim kad je u dm zoni da ne dolazi wl ni poruka kao sto je napravljeno kad je igrac policajac, sve sam pokusavo kao to ali ne ide
Posalji DodajDM

Citat: Miki11 poslato Maj 14, 2020, 13:58:30 POSLE PODNE
Posalji DodajDM

stock DodajDM(killerid)
{
	if(IsPlayerConnected(killerid))
	{
		PlayerInfo[killerid][pDMUbistva] ++;
	}
	return 1;
}


i ovdje daje wanted opcenito
stock PostaviWanted(playerid, zlocin[], prijavio[])
{
	if(IsPlayerConnected(playerid))
	{
		SetPlayerWantedLevel(playerid, GetPlayerWantedLevel(playerid)+1); PlayerInfo[playerid][pTrazeniLevel] += 1;
		if(GetPlayerWantedLevel(playerid) > 6) { SetPlayerWantedLevel(playerid, 6); PlayerInfo[playerid][pTrazeniLevel] = 6; }
		new string[256];
		format(string, sizeof(string), ""ZUTA"- Pocinili ste zlocin: "CRVENA"%s "ZUTA"| Prijava od: "CRVENA"%s!", zlocin, prijavio);
		SCM(playerid, -1, string);
		format(string, sizeof(string), ""ZUTA"- Trenutni Wanted Level: "CRVENA"%d!", GetPlayerWantedLevel(playerid));
		SCM(playerid, -1, string);
		format(string, sizeof(string), ""ZUTA"- Imamo novi prijavljen zlocin od: "CRVENA"%s!", prijavio);
		ChatPD(-1, string);
		format(string, sizeof(string), ""ZUTA"- Pocinio: "CRVENA"%s | Zlocin: "CRVENA"%s | Wanted Level Pocinioca: "CRVENA"%d!", GetName(playerid),zlocin,GetPlayerWantedLevel(playerid));
		ChatPD(-1, string);
		strmid(ZlocinInfo[playerid][zPrijavio], prijavio, 0, strlen(prijavio), 255);
		strmid(ZlocinInfo[playerid][zPocinio], GetName(playerid), 0, strlen(GetName(playerid)), 255);
		strmid(ZlocinInfo[playerid][zZlocin], zlocin, 0, strlen(zlocin), 255);
	}
	return 1;
}

neko??

dakle policajcu ne daje wl kad ubije nekog niti ista i napravim isto kad je u dm zoni kao i za policajca ne radi mi

Napravis boolean ili bitarray varijablu(bitarray je isto boolean ali što se tiče optimiziacije je kao bolji) kad igrač uđe u DM zonu. NPR:
Bitarray primjer:
new BitArray:UsoUDM< MAX_PLAYERS >;

CMD:udjiudm( playerid ) {
	if( !Bit_Get( UsoUDM, playerid ) ) {
		Bit_Let( UsoUDM, playerid );
		//OstaliKodDolje
	}
	return( true );
}

DajIgracuWL( playerid ) {
	if( Bit_Get( UsoUDM, playerid ) ) return ( true );
	else {
		//Kod dolje
	}
	return ( true );
}
Citat: CheezItFollow your heart and own style.
Citat: PottusThat is perfectly fine, I'm just pointing out where you made mistakes what does hearing "good job" get you? Absolutely nothing. You need to hear the problems otherwise you'll keep making the same mistakes :)

if(IsPlayerConnected(killerid) && tim[killerid] == 1)
{
	    SetPlayerWantedLevel(killerid, 0);
		PlayerInfo[killerid][pTrazeniLevel] = 0;
	    new string[128];
		format(string,sizeof(string), ""DMBOJA"** DM ZONA | %s(%d) je ubio protivnika %s(%d)", GetName(killerid), killerid, GetName(playerid), playerid);
		DMSEND(-1, string);
}


Poruku ti je ispisivalo zbog: DodajDM(killerid);,
a wanted mu nije mogao dati zbog: SetPlayerWantedLevel(killerid, 0);
Također nepotrebna ti je veličina stringa od 512.

Izbaci DodajDM(killerid);, to ti salje poruku

Citat: Shadow. poslato Maj 16, 2020, 14:35:35 POSLE PODNE
Napravis boolean ili bitarray varijablu(bitarray je isto boolean ali što se tiče optimiziacije je kao bolji) kad igrač uđe u DM zonu. NPR:
Bitarray primjer:
new BitArray:UsoUDM< MAX_PLAYERS >;

CMD:udjiudm( playerid ) {
	if( !Bit_Get( UsoUDM, playerid ) ) {
		Bit_Let( UsoUDM, playerid );
		//OstaliKodDolje
	}
	return( true );
}

DajIgracuWL( playerid ) {
	if( Bit_Get( UsoUDM, playerid ) ) return ( true );
	else {
		//Kod dolje
	}
	return ( true );
}


Vec par tema postavljas postove na ovakav nacin, odlicno znas koristis mysql, y_bit. Ali cemu nabijas na nos liku to bez da mu objasnis ista samo ga mozes zbunit. Ne zelim ti nista reci lose ali ne pomazes mu nimalo samo mu odmazes