Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: c0x poslato Avgust 10, 2018, 22:56:17 POSLE PODNE

Naslov: Pomoc oko jednog posla
Poruka od: c0x poslato Avgust 10, 2018, 22:56:17 POSLE PODNE
Problem(error/warning): Problem je to sto kod posla Advokat, kad kuca da nekog izvadi iz zatvora i tako to, sve to lepo , ali kad taj igrac pokusa da prihvati oslobodjenje, njemu pise da cmd ne postoji, pare skida, a i dalje je u zatvoru...
Dio skripte: CMD: izbavi [pawn] CMD:izbavi(playerid, params[])
{
   if(PI[playerid][Posao] != POSAO_ADVOKAT) return Error(playerid, "Niste zaposleni kao advokat!");
   if(!IsPlayerInRangeOfPoint(playerid, 10.0, 320.7997,90.5260,1004.6877)) return Error(playerid, "Niste u policijskoj stanici!");
   new id, cena;
   if(sscanf(params, "ui", id, cena)) return Koristite(playerid,"izbavi [Korisnicki ID ili Ime igraca] [Cena]");
   if(!IsPlayerConnected(id)) return Error(playerid, "Taj igrac je offline!");
   if(PI[id][Zatvoren] == 0) return Error(playerid, "Taj igrac nije zatvoren!");
   if(PI[id][Zatvoren] == 2) return Error(playerid, "Ne mozete osloboditi igraca koji je u Area51!");
   if(PI[id][ZatvorenVreme] > 6020) return Error(playerid, "Mozete osloboditi samo igrace koji imaju manje od 600 sekundi preostalog vremena!");
   if(cena < 1 || cena > 500000) return Error(playerid, "Cijena mora biti izmedju $1 i $500000!");
   PonudioAdvokat[id] = playerid;
   AdvokatCena[id] = cena;
   new ime[2][MAX_PLAYER_NAME];
   RPIme(playerid, ime[0]);
   RPIme(id, ime[1]);
   SCMF(playerid, SVETLOPLAVA, "* Ponudili ste igracu %s da ga izbavite iz zatvora po ceni od $%d.", ime[1], cena);
   SCMF(id, SVETLOPLAVA, "* Advokat %s Vam je ponudio oslobodjeje po ceni od $%d. Upisite /prihvati oslobodjenje da prihvatite.", ime[0], cena);
   return 1;
} [/pawn]

CMD: prihvati oslobodjenje
[pawn]else if(!strcmp(ime, "oslobodjenje", true))
   {
       if(PonudioAdvokat[playerid] == -1) return Error(playerid, "Niko Vam nije ponudio da Vas izbavi iz zatvora!");
      if(PonudioAdvokat[playerid] == playerid) return Error(playerid, "Ne mozete sami sebi ponuditi!");
      if(!IsPlayerConnected(PonudioAdvokat[playerid])) return Error(playerid, "Advokat koji Vam je poslao ponudu nije vise u igri!");
       if(PI[PonudioAdvokat[playerid]][Posao] != POSAO_ADVOKAT) return Error(playerid, "Igrac koji Vam je poslao ponudu nije vise advokat ili nije u igri!");
       if(PI[playerid][Zatvoren] == 0) return Error(playerid, "Niste zatvoreni!");
       if(PI[playerid][Zatvoren] == 2) return Error(playerid, "Ne mozete koristiti ovo u Area51!");
      if(PI[playerid][ZatvorenVreme] > 300) return Error(playerid, "Ostalo Vam je vise od 300 sekundi!");
      if(PI[playerid][Novac] < AdvokatCena[playerid] && PI[playerid][Banka] < AdvokatCena[playerid]) return GRESKA(playerid, "Nemate dovoljno novca!");
      if(PI[playerid][Novac] < AdvokatCena[playerid] && PI[playerid][Banka] >= AdvokatCena[playerid])
      {
          PI[playerid][Banka] -= AdvokatCena[playerid];
          PI[AdvokatCena[playerid]][Banka] += AdvokatCena[playerid];
          //PI[AdvokatCena[playerid]][Banka] += PosaoPlata[AdvokatPlata];
          new imeds[MAX_PLAYER_NAME];
          RPIme(playerid, imeds);
          SCM(playerid, NARANDZASTA, "* Platili ste novcem sa bankovnog racuna i sada ste slobodni!");
          SCMF(PonudioAdvokat[playerid], NARANDZASTA, "** Igrac {FFFFFF}%s {FF9900}je prihvatio Vasu ponudu i platio Vam {FFFFFF}$%d.", imeds, AdvokatCena[playerid]);
          PI[playerid][Zatvoren] = 0;
           PI[playerid][ZatvorenVreme] = 0;
            SetPlayerWorldBounds(playerid, 20000.0000,-20000.0000,20000.0000,-20000.0000);
            SetPlayerInterior(playerid, 0);
           SetPlayerVirtualWorld(playerid, 0);
           SetPlayerPos_H(playerid, 1802.7881, -1577.6869, 13.4119);
           SetPlayerFacingAngle(playerid, 281.0);
           SetCameraBehindPlayer(playerid);
           GameTextForPlayer(playerid, "~g~Sloboda~n~~W~Pokusajte da budete bolji gradjanin!", 5000, 1);
         PonudioAdvokat[playerid] = -1;
         AdvokatCena[playerid] = 0;
           return 1;
      }
      if(PI[playerid][Novac] >= AdvokatCena[playerid])
      {
         NovacMinus(playerid, AdvokatCena[playerid]);
         PI[AdvokatCena[playerid]][Banka] += AdvokatCena[playerid];
         //PI[AdvokatCena[playerid]][Banka] += PosaoPlata[AdvokatPlata];
          new imeds[MAX_PLAYER_NAME];
          RPIme(playerid, imeds);
          SCM(playerid, SVETLOPLAVA, "* Platili ste novcem sa bankovnog racuna i sada ste slobodni!");
          SCMF(PonudioAdvokat[playerid], SVETLOPLAVA, "** Igrac %s je prihvatio Vasu ponudu i platio Vam $%d.", imeds, AdvokatCena[playerid]);
          PI[playerid][Zatvoren] = 0;
           PI[playerid][ZatvorenVreme] = 0;
            SetPlayerWorldBounds(playerid,20000.0000,-20000.0000,20000.0000,-20000.0000);
            SetPlayerInterior(playerid, 0);
           SetPlayerVirtualWorld(playerid, 0);
           SetPlayerPos_H(playerid, 1802.7881, -1577.6869, 13.4119);
           SetPlayerFacingAngle(playerid, 281.0);
           SetCameraBehindPlayer(playerid);
           GameTextForPlayer(playerid, "~g~Sloboda~n~~W~Pokusajte da budete bolji gradjanin!", 5000, 1);
         PonudioAdvokat[playerid] = -1;
         AdvokatCena[playerid] = 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): // -- //
Naslov: Odg: Pomoc oko jednog posla
Poruka od: Agent 47 poslato Avgust 10, 2018, 23:03:08 POSLE PODNE
koji je mod u pitanju ?
Naslov: Odg: Pomoc oko jednog posla
Poruka od: c0x poslato Avgust 11, 2018, 15:09:03 POSLE PODNE
Neko da pomogne?
Naslov: Odg: Pomoc oko jednog posla
Poruka od: Muma poslato Avgust 11, 2018, 16:57:53 POSLE PODNE
Daj kompletnu CMD /prihvati.
Naslov: Odg: Pomoc oko jednog posla
Poruka od: Don_Marquez poslato Avgust 11, 2018, 19:04:09 POSLE PODNE
Ako ti je pod tom komandom prihvati samo to za oslobodjenje onda ne ide prvo else if nego samo if
Naslov: Odg: Pomoc oko jednog posla
Poruka od: c0x poslato Avgust 11, 2018, 22:02:10 POSLE PODNE
Nije samo ta komanda pod /prihvati..
Naslov: Odg: Pomoc oko jednog posla
Poruka od: Slade poslato Avgust 12, 2018, 19:44:25 POSLE PODNE
Samo sam malo promijenio kod, ne mislim da je do toga pa probaj. Malo si nam opisao, dal mu ispise poruku da je platio, itd?
Pokusaj ovako:

[pawn]else if(!strcmp(ime, "oslobodjenje", true))
{
    if(PonudioAdvokat[playerid] == -1) return Error(playerid, "Niko Vam nije ponudio da Vas izbavi iz zatvora!");
if(PonudioAdvokat[playerid] == playerid) return Error(playerid, "Ne mozete sami sebi ponuditi!");
if(!IsPlayerConnected(PonudioAdvokat[playerid])) return Error(playerid, "Advokat koji Vam je poslao ponudu nije vise u igri!");
    if(PI[PonudioAdvokat[playerid]][Posao] != POSAO_ADVOKAT) return Error(playerid, "Igrac koji Vam je poslao ponudu nije vise advokat ili nije u igri!");
    if(PI[playerid][Zatvoren] == 0) return Error(playerid, "Niste zatvoreni!");
    if(PI[playerid][Zatvoren] == 2) return Error(playerid, "Ne mozete koristiti ovo u Area51!");
if(PI[playerid][ZatvorenVreme] > 300) return Error(playerid, "Ostalo Vam je vise od 300 sekundi!");
if(PI[playerid][Novac] < AdvokatCena[playerid] && PI[playerid][Banka] < AdvokatCena[playerid]) return GRESKA(playerid, "Nemate dovoljno novca!");
if(PI[playerid][Novac] < AdvokatCena[playerid])
{
    PI[playerid][Banka] -= AdvokatCena[playerid];
    PI[AdvokatCena[playerid]][Banka] += AdvokatCena[playerid];
    //PI[AdvokatCena[playerid]][Banka] += PosaoPlata[AdvokatPlata];
    new imeds[MAX_PLAYER_NAME];
    RPIme(playerid, imeds);
    SCM(playerid, NARANDZASTA, "* Platili ste novcem sa bankovnog racuna i sada ste slobodni!");
    SCMF(PonudioAdvokat[playerid], NARANDZASTA, "** Igrac {FFFFFF}%s {FF9900}je prihvatio Vasu ponudu i platio Vam {FFFFFF}$%d.", imeds, AdvokatCena[playerid]);
    PI[playerid][Zatvoren] = 0;
        PI[playerid][ZatvorenVreme] = 0;
            SetPlayerWorldBounds(playerid, 20000.0000,-20000.0000,20000.0000,-20000.0000);
            SetPlayerInterior(playerid, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerPos_H(playerid, 1802.7881, -1577.6869, 13.4119);
        SetPlayerFacingAngle(playerid, 281.0);
        SetCameraBehindPlayer(playerid);
        GameTextForPlayer(playerid, "~g~Sloboda~n~~W~Pokusajte da budete bolji gradjanin!", 5000, 1);
PonudioAdvokat[playerid] = -1;
AdvokatCena[playerid] = 0;
}
else
{
NovacMinus(playerid, AdvokatCena[playerid]);
PI[AdvokatCena[playerid]][Banka] += AdvokatCena[playerid];
//PI[AdvokatCena[playerid]][Banka] += PosaoPlata[AdvokatPlata];
    new imeds[MAX_PLAYER_NAME];
    RPIme(playerid, imeds);
    SCM(playerid, SVETLOPLAVA, "* Platili ste novcem sa bankovnog racuna i sada ste slobodni!");
    SCMF(PonudioAdvokat[playerid], SVETLOPLAVA, "** Igrac %s je prihvatio Vasu ponudu i platio Vam $%d.", imeds, AdvokatCena[playerid]);
    PI[playerid][Zatvoren] = 0;
        PI[playerid][ZatvorenVreme] = 0;
            SetPlayerWorldBounds(playerid,20000.0000,-20000.0000,20000.0000,-20000.0000);
            SetPlayerInterior(playerid, 0);
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerPos_H(playerid, 1802.7881, -1577.6869, 13.4119);
        SetPlayerFacingAngle(playerid, 281.0);
        SetCameraBehindPlayer(playerid);
        GameTextForPlayer(playerid, "~g~Sloboda~n~~W~Pokusajte da budete bolji gradjanin!", 5000, 1);
PonudioAdvokat[playerid] = -1;
AdvokatCena[playerid] = 0;
}
}[/pawn]
Naslov: Odg: Pomoc oko jednog posla
Poruka od: c0x poslato Avgust 12, 2018, 21:04:54 POSLE PODNE
Isto sve...
Naslov: Odg: Pomoc oko jednog posla
Poruka od: c0x poslato Avgust 13, 2018, 20:45:32 POSLE PODNE
BUMP!