Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Nolee poslato Maj 14, 2020, 13:45:48 POSLE PODNE

Naslov: dm zona
Poruka od: Nolee poslato Maj 14, 2020, 13:45:48 POSLE PODNE
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
Naslov: Odg: dm zona
Poruka od: dazer 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]
Naslov: Odg: dm zona
Poruka od: Nolee poslato Maj 14, 2020, 13:55:54 POSLE PODNE
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
Naslov: Odg: dm zona
Poruka od: dazer poslato Maj 14, 2020, 13:58:30 POSLE PODNE
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
Naslov: Odg: dm zona
Poruka od: Nolee poslato Maj 14, 2020, 14:08:55 POSLE PODNE
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]
Naslov: Odg: dm zona
Poruka od: Nolee poslato Maj 15, 2020, 23:36:24 POSLE PODNE
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
Naslov: Odg: dm zona
Poruka od: 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]
Naslov: Odg: dm zona
Poruka od: Slade poslato Maj 18, 2020, 12:37:26 POSLE PODNE
[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.
Naslov: Odg: dm zona
Poruka od: Kenndy poslato Maj 19, 2020, 23:11:49 POSLE PODNE
Izbaci DodajDM(killerid);, to ti salje poruku
Naslov: Odg: dm zona
Poruka od: Sploxs poslato Maj 19, 2020, 23:40:16 POSLE PODNE
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