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): // -- //
koji je mod u pitanju ?
Neko da pomogne?
Daj kompletnu CMD /prihvati.
Ako ti je pod tom komandom prihvati samo to za oslobodjenje onda ne ide prvo else if nego samo if
Nije samo ta komanda pod /prihvati..
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]
Isto sve...
BUMP!