Pomoc oko jednog posla


Započeo c0x, Avgust 10, 2018, 22:56:17 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

c0x

*

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
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;
}


CMD: prihvati oslobodjenje
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;
		}
	}


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 ?
Es ist nicht alles Gold, was glänzt

c0x

*



Ako ti je pod tom komandom prihvati samo to za oslobodjenje onda ne ide prvo else if nego samo if
#M24

c0x

*


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:

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;
}
}

c0x

*


c0x

*