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: [pawn]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);
}[/pawn]
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
Nisam razumeo sta tocno zelis, ali ako napraviti da igrac dobije wl
[pawn]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);
}[/pawn]
A ako zelis da igrac ne boje wanted kao niti poruku probaj ovako
[pawn]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);
}[/pawn]
Citat: Miki11 poslato Maj 14, 2020, 13:49:47 POSLE PODNE
Nisam razumeo sta tocno zelis, ali ako napraviti da igrac dobije wl
[pawn]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);
}[/pawn]
A ako zelis da igrac ne boje wanted kao niti poruku probaj ovako
[pawn]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);
}[/pawn]
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
[pawn]stock DodajDM(killerid)
{
if(IsPlayerConnected(killerid))
{
PlayerInfo[killerid][pDMUbistva] ++;
}
return 1;
}[/pawn]
i ovdje daje wanted opcenito
[pawn]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;
}[/pawn]
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:
[pawn]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 );
}[/pawn]
[pawn]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);
}[/pawn]
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:
[pawn]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 );
}[/pawn]
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