Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Arnel_Bp poslato Jun 13, 2014, 13:58:23 POSLE PODNE

Naslov: [pomoc]oko komande /rob
Poruka od: Arnel_Bp poslato Jun 13, 2014, 13:58:23 POSLE PODNE
Skripta koju koristim: Moja od 0
Detaljan opis problema: Imam problem na /rob komandu, sve lijepo radi, ali nece da ucita wanted level, kada nekoga opljackam pise mi Wanted level 0? A ja sam stavio ako opljacka SWAT/Army da bude wanted lvl 4 a ovako wl 2 pa sta je sad tu problem?
Dio skripte:
CMD:rob(playerid, params[])
{
new id, string[126];
    if(Ulogiran[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
  if(gTeam[playerid] == TEAM_COP) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(gTeam[playerid] == TEAM_ARMY) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(gTeam[playerid] == TEAM_SWAT) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(gTeam[playerid] == TEAM_FBI) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(cuffed[playerid] == 1) return SCMF(playerid, 0xFF0000FF, "Ti posjedujes lisice na sebi i ne mozes koristiti ovu komandu");
if(sscanf(params, "ui", id)) return SCM(playerid, 0xFF0000FF, "Koristi: /rob [id]");
if(!IsPlayerConnected(id)) return SCM(playerid, 0xFF0000FF, "ID igraca koji ste unijeli nije online.");
if(IsPlayerInAnyVehicle(id)) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) je u vozilu i nemozes njega opljackati",GetName(id),id);
if(IsPlayerInAnyVehicle(playerid)) return SCMF(playerid, 0xFF0000FF, "Ne mozes opljackati %s(%d) jer si u vozilu, napusti vozilo i pokusaj opet da ga opljackas",GetName(id),id);
if(GetDistanceBetweenPlayers(playerid,id) > 4) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) je suvise daleko od tebe, probaj mu se pribliziti i opljackati",GetName(id),id);
    if(Ulogiran[id] == 0) return SCMF(playerid,  0xFF0000FF, "Igrac %s(%d) je mrtav, nemozes ga opljackati",GetName(id),id);
    if(cuffed[id] == 1) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) posjeduje lisice na sebi i nemozes ga opljackati",GetName(id),id);
    if(GetPlayerMoney(id) <= 100) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) ne posjeduje dovoljno novca da bi ga mogao opljackati",GetName(id),id);
    if(beenrobbedrecently[id] >= 1) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) je nedavno opljackan. Pricekaj pa pokusaj ponovo",GetName(id),id);
    new rname[24];
    new vname[24];
    GetPlayerName(playerid,rname, 24);
GetPlayerName(id, vname, 24);
new pcash = random(GetPlayerMoney(id));
    format(string, sizeof(string), "%s(%d) je opljackao $%d od %s(%d)",rname,playerid,pcash,vname,id);
printf("%s", string);
GivePlayerMoney(playerid,pcash);
    GivePlayerMoney(id, -pcash);
    format(string, sizeof(string), "%s(%d) je opljackao $%d od tebe", rname,playerid,pcash);
    SendClientMessage(id, 0xD2691EAA, string);
    format(string, sizeof(string), "Ti si opljackao $%d od %s(%d)", pcash,vname,id);
    SendClientMessage(playerid, 0x00C7FFAA, string);
    format(string, sizeof(string), "~w~Opljackan od ~n~%s(%d)~n~uzeto $%d",rname,playerid,pcash);
    GameTextForPlayer(id,string,5000,3);
    oscore = GetPlayerScore(playerid);
SetPlayerScore(playerid, oscore +1);
    format(string, sizeof(string), "~w~Opljackao si %s(%d)~n~i uzeo $%d",vname,id,pcash);
    GameTextForPlayer(playerid,string,5000,3);
    RobbedPlyRecent[playerid] =1;
    beenrobbedrecently[id] =120;
  new current_zone;
    current_zone = player_zone[playerid];
    format(string, sizeof(string), "Osumljiceni %s(%d) je opljackao %s(%d). Lokacija: %s",rname,playerid,vname,id,zones[current_zone][zone_name]);
    COPSCM(0xFF0000FF,string);
    if(gTeam[id] == TEAM_COP || gTeam[id] == TEAM_ARMY || gTeam[id] == TEAM_FBI || gTeam[id] == TEAM_SWAT)
{
    new plwl = GetPlayerWantedLevel(playerid);
    SetPlayerWantedLevel(playerid, plwl +4 );
    }
    else
{
    new plwl = GetPlayerWantedLevel(playerid);
    GetPlayerWantedLevel(playerid, plwl +2 );
    }
    new pcol = GetPlayerColor(playerid);
new plwl = GetPlayerWantedLevel(playerid);
format(string, sizeof(string), "(ROBBERY) Wanted Level %d",plwl);
SendClientMessage(playerid,pcol,string);
    return 1;
    }

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: youngdeal poslato Jun 13, 2014, 14:03:24 POSLE PODNE
probaj ovako

if(gTeam[id] == TEAM_COP || gTeam[id] == TEAM_ARMY || gTeam[id] == TEAM_FBI || gTeam[id] == TEAM_SWAT)
{
    SetPlayerWantedLevel(playerid, 4);
    }
    else
   {
      SetPlayerWantedLevel(playerid, 2);
    }
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: Arnel_Bp poslato Jun 13, 2014, 14:24:52 POSLE PODNE
Citat: [SF]C++ poslato Jun 13, 2014, 14:03:24 POSLE PODNE
probaj ovako

if(gTeam[id] == TEAM_COP || gTeam[id] == TEAM_ARMY || gTeam[id] == TEAM_FBI || gTeam[id] == TEAM_SWAT)
{
    SetPlayerWantedLevel(playerid, 4);
    }
    else
   {
      SetPlayerWantedLevel(playerid, 2);
    }


radi ali bih zelio kada god nekoga robas da mu se poveca za 2 ili za 4? kako to napraviti
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: youngdeal poslato Jun 13, 2014, 14:27:35 POSLE PODNE
pa zar najveci nije 6 preko funkcije?
nebitno uradis ovako

playervarijablu i onda kad opljackas ides

playervarijabla ++;

i onda samo SetPlayerWantedLevel(2 * playervarijabla); znaci wanted dva i puta koliko si opljacko ti to mozes menjati samo mi je bitno da svatis.
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: Arnel_Bp poslato Jun 14, 2014, 22:42:27 POSLE PODNE
CMD:rob(playerid, params[])
{
new id, string[126];
    if(Ulogiran[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
  if(gTeam[playerid] == TEAM_COP) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(gTeam[playerid] == TEAM_ARMY) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(gTeam[playerid] == TEAM_SWAT) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(gTeam[playerid] == TEAM_FBI) return SendClientMessage(playerid, 0xFF0000FF, "Nisi ovlascen da koristis ovu komandu");
    if(cuffed[playerid] == 1) return SCMF(playerid, 0xFF0000FF, "Ti posjedujes lisice na sebi i ne mozes koristiti ovu komandu");
if(sscanf(params, "ui", id)) return SCM(playerid, 0xFF0000FF, "Koristi: /rob [id]");
if(!IsPlayerConnected(id)) return SCM(playerid, 0xFF0000FF, "ID igraca koji ste unijeli nije online.");
if(IsPlayerInAnyVehicle(id)) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) je u vozilu i nemozes njega opljackati",GetName(id),id);
if(IsPlayerInAnyVehicle(playerid)) return SCMF(playerid, 0xFF0000FF, "Ne mozes opljackati %s(%d) jer si u vozilu, napusti vozilo i pokusaj opet da ga opljackas",GetName(id),id);
if(GetDistanceBetweenPlayers(playerid,id) > 4) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) je suvise daleko od tebe, probaj mu se pribliziti i opljackati",GetName(id),id);
    if(Ulogiran[id] == 0) return SCMF(playerid,  0xFF0000FF, "Igrac %s(%d) je mrtav, nemozes ga opljackati",GetName(id),id);
    if(cuffed[id] == 1) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) posjeduje lisice na sebi i nemozes ga opljackati",GetName(id),id);
    if(GetPlayerMoney(id) <= 100) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) ne posjeduje dovoljno novca da bi ga mogao opljackati",GetName(id),id);
    if(beenrobbedrecently[id] >= 1) return SCMF(playerid, 0xFF0000FF, "Igrac %s(%d) je nedavno opljackan. Pricekaj pa pokusaj ponovo",GetName(id),id);
    new rname[24];
    new vname[24];
    GetPlayerName(playerid,rname, 24);
GetPlayerName(id, vname, 24);
new pcash = random(GetPlayerMoney(id));
    format(string, sizeof(string), "%s(%d) je opljackao $%d od %s(%d)",rname,playerid,pcash,vname,id);
printf("%s", string);
GivePlayerMoney(playerid,pcash);
    GivePlayerMoney(id, -pcash);
    format(string, sizeof(string), "%s(%d) je opljackao $%d od tebe", rname,playerid,pcash);
    SendClientMessage(id, 0xD2691EAA, string);
    format(string, sizeof(string), "Ti si opljackao $%d od %s(%d)", pcash,vname,id);
    SendClientMessage(playerid, 0x00C7FFAA, string);
    format(string, sizeof(string), "~w~Opljackan od ~n~%s(%d)~n~uzeto $%d",rname,playerid,pcash);
    GameTextForPlayer(id,string,5000,3);
    oscore = GetPlayerScore(playerid);
SetPlayerScore(playerid, oscore +1);
    format(string, sizeof(string), "~w~Opljackao si %s(%d)~n~i uzeo $%d",vname,id,pcash);
    GameTextForPlayer(playerid,string,5000,3);
    RobbedPlyRecent[playerid] =1;
    beenrobbedrecently[id] =120;
  new current_zone;
    current_zone = player_zone[playerid];
    format(string, sizeof(string), "Osumljiceni %s(%d) je opljackao %s(%d). Lokacija: %s",rname,playerid,vname,id,zones[current_zone][zone_name]);
    COPSCM(0xFF0000FF,string);
if(gTeam[id] == TEAM_COP || gTeam[id] == TEAM_ARMY || gTeam[id] == TEAM_FBI || gTeam[id] == TEAM_SWAT)
{
    new plwl = GetPlayerWantedLevel(playerid);
    SetPlayerWantedLevel(playerid, plwl +4);
}
else
{
    new plwl = GetPlayerWantedLevel(playerid);
    GetPlayerWantedLevel(playerid, plwl +2);
    }
    new pcol = GetPlayerColor(playerid);
new plwl = GetPlayerWantedLevel(playerid);
SendClientMessage(playerid, 0xA9A9A9AA, "|_Crime Commited_|");
format(string, sizeof(string), "(ROBBERY) Wanted Level %d",plwl);
SendClientMessage(playerid,pcol,string);
    return 1;
    }


ovako sam stavio i gledaj... nece da mu stavi wanted lvl na koji mu je dato, vec samo pise wanted lvl 0 stalno.. koga god da rob..
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: youngdeal poslato Jun 14, 2014, 22:52:25 POSLE PODNE
maximalan wanted je 6 koliko znam

evo ti stock
stock SetPlayerWanted(playerid,level) {
    if!IsPlayerConnected(playerid)) return;
    new stars = GetPlayerWantedLevel(playerid);
    if(stars >= level) return;
    if(level >= 6)  level = 6;
    if(level <= 0)  level = 0;
    SetPlayerWantedLevel(playerid,level);
}


koristi njega
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: xyzcod2 poslato Jun 15, 2014, 09:26:18 PRE PODNE
cekaj, jel vrsis provjeru da ako je taj igrac kojeg si opljackao team_cop, team_army, team_fbi ili team_swat ili ako je taj igrac koji vrsi komandu  team_cop, team_army, team_fbi ili team_swat?
mislim na ovo
if(gTeam[id] == TEAM_COP || gTeam[id] == TEAM_ARMY || gTeam[id] == TEAM_FBI || gTeam[id] == TEAM_SWAT)
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: Arnel_Bp poslato Jun 15, 2014, 10:56:50 PRE PODNE
Citat: [SF]C++ poslato Jun 14, 2014, 22:52:25 POSLE PODNE
maximalan wanted je 6 koliko znam

evo ti stock
stock SetPlayerWanted(playerid,level) {
    if!IsPlayerConnected(playerid)) return;
    new stars = GetPlayerWantedLevel(playerid);
    if(stars >= level) return;
    if(level >= 6)  level = 6;
    if(level <= 0)  level = 0;
    SetPlayerWantedLevel(playerid,level);
}


koristi njega

koliko ja znam i koliko sam gledo na engleske servere wantedlvl mozes da mu stavis 200 ali max lvl zvezdica je 6...

Naslov: Odg: [pomoc]oko komande /rob
Poruka od: youngdeal poslato Jun 15, 2014, 11:02:16 PRE PODNE
pa da...
tvoj kod je neoptimizovan koliko vidim to se moze skratiti koristis nesto bezveze sto i netreba toj komandi
skrati to i idi od pocetka sta imas od kopiranja komandi i eto vidis neznas da resis nesto najbolje je ici svoje.
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: Arnel_Bp poslato Jun 15, 2014, 11:08:40 PRE PODNE
pa da ali sad na ovu cmd kako da mu stavim da dobije boju kao wanted lvl kako sam dolje definisao..


//------------------------------------------------------------------------------
public WantedYellow()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
{
      if(Ulogiran[i] == 1)
  {
        if(GetPlayerWantedLevel(i) >= 1 && GetPlayerWantedLevel(i) <= 3)
    {
          SetPlayerColor(i, COLOR_YELLOW);
       }
    }
  }
}
//------------------------------------------------------------------------------
public WantedOrange()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
{
  if(Ulogiran[i] == 1)
   {
        if(GetPlayerWantedLevel(i) >= 4 && GetPlayerWantedLevel(i) <= 9)
    {
          SetPlayerColor(i, 0xFFA500AA);
       }
    }
  }
}
//------------------------------------------------------------------------------
public WantedRed()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
{
     if(Ulogiran[i] == 1)
  {
        if(GetPlayerWantedLevel(i) >= 10)
    {
          SetPlayerColor(i, COLOR_RED);
       }
    }
  }
}


kako sad u cmd da ubacim ovo?
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: youngdeal poslato Jun 15, 2014, 11:15:41 PRE PODNE
pa sto ce ti to kad mu stavis wanted samo koristis

SetPlayerColor(playeri, boja);

a to ti nebi ni radilo.
Naslov: Odg: [pomoc]oko komande /rob
Poruka od: Arnel_Bp poslato Jun 15, 2014, 11:17:35 PRE PODNE
Citat: [SF]C++ poslato Jun 15, 2014, 11:15:41 PRE PODNE
pa sto ce ti to kad mu stavis wanted samo koristis

SetPlayerColor(playeri, boja);

a to ti nebi ni radilo.

pa ja sam to stavio ali ne dobijam nikakvu wanted boju na sebe....ista ostaje sve... koju dobijem na playerspawn