[POMOC]Wanted Level


Započeo Sarkenzo, Septembar 02, 2014, 17:55:54 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:GTARP
Detaljan opis problema:Ne cita mi lepo Wanted Level sistem.Cita od drugog ubistva pa na dalje a za prvi pise samo tekst da je dobio wl.I igrac moze ubije 7 puta posle toga uopste ne dobija wl.Kako da namestim da dobija wl uvek kada ubije nekog da mu se to uvek ubraja, mislim da ovo public setplayercriminal ima neku gresku..
Dio skripte:
public OnPlayerDeath(playerid, killerid, reason)
{

	new name[MAX_PLAYER_NAME];
	new string[256];
	//new dmessage[128];
	//new deathreason[20];
	new playercash;
	new victimteam;
	new Float:px,Float:py,Float:pz;

	victimteam = gTeam[playerid];
	gPlayerSpawned[playerid] = 0;
	PlayerInfo[playerid][pInvWeapon] = 0;
 	PlayerInfo[playerid][pInvAmmo] = 0;
	GetPlayerName(playerid, name, sizeof(name));
	PlayerInfo[playerid][pLocal] = 255;
	GetPlayerPos(playerid, px, py, pz);
	if(killerid != 255)
	{
		if(GetPlayerState(killerid) == 2)
		{
		    if(ProxDetectorS(20, killerid, playerid))
		    {
		        if(!IsPlayerInAnyVehicle(playerid))
		        {
					if(PlayerInfo[killerid][pMember] == 1||PlayerInfo[killerid][pLeader] == 1||PlayerInfo[killerid][pMember] == 2||PlayerInfo[killerid][pLeader] ==2)
		    		{
		    		    SendClientMessage(killerid, COLOR_YELLOW, "To je bilo DriveBy ubistvo. Ne iskoriscavaj ga.");
						return 1;
					}
					SetPlayerCriminal(killerid,255,"Ubica vozilom");
					SetPlayerWantedLevel(killerid, GetPlayerWantedLevel(killerid)+1);
					return 1;
				}
			}
		}
	}
	if (PlayerInfo[killerid][pAdmin] < 1)
	{
		if(reason == 38)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio [%d]%s sa rucnim topom.",killerid,kickname,playerid,name);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
				//Ban(killerid);
			}
		}
		if(reason == 35)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio igraca sa bacacem plamena i njegov IP je banovan.",killerid,kickname);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
				Ban(killerid);
			}
		}
		if(reason == 9)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio igraca sa motornom testerom i njegov IP je banovan.",killerid,kickname);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
				Ban(killerid);
			}
		}
		if(reason == 16)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio igraca sa bombama i njegov IP je banovan.",killerid,kickname);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
				Ban(killerid);
			}
		}
		if(reason == 18)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio igraca sa molotovljevim koktelima i njegov IP je banovan.",killerid,kickname);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
				Ban(killerid);
			}
		}
		if(reason == 28)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio igraca sa Mac 10.Proverite ga odmah.",killerid,kickname);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
			}
		}
		if(reason == 32)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio igraca sa Tec 9.Proverite ga odmah.",killerid,kickname);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
			}
		}
		if(reason == 36)
		{
			new kstring[128];
			new kickname[MAX_PLAYER_NAME];
			if(IsPlayerConnected(killerid))
			{
				GetPlayerName(killerid, kickname, sizeof(kickname));
				format(string, 256, "AdmWarning: [%d]%s je ubio igraca sa Lock and Launcher i njegov IP je banovan.",killerid,kickname);
				ABroadCast(COLOR_LIGHTRED,string,1);
				printf("%s", kstring);
				Ban(killerid);
			}
		}
	}
	if (gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
	{
		DisablePlayerCheckpoint(playerid);
		gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
	}
	new caller = Mobile[playerid];
	if(caller != 255)
	{
		if(caller < 255)
		{
			SendClientMessage(caller,  COLOR_GRAD2, "   Linija se prekinula....");
			CellTime[caller] = 0;
			CellTime[playerid] = 0;
			Mobile[caller] = 255;
		}
		Mobile[playerid] = 255;
		CellTime[playerid] = 0;
	}
	ClearCrime(playerid);
	if(PlayerPaintballing[playerid] != 0)
	{
	    PlayerPaintballKills[killerid] ++;
	    if(PlayerPaintballKills[killerid] > PaintballWinnerKills)
	    {
	        new killer[MAX_PLAYER_NAME];
	        PaintballWinner = killerid;
	        PaintballWinnerKills = PlayerPaintballKills[killerid];
	        GetPlayerName(killerid, killer, sizeof(killer));
	        for(new i = 0; i < MAX_PLAYERS; i++)
	        {
	            if(IsPlayerConnected(i))
	            {
	                if(PlayerPaintballing[i] != 0)
	                {
	                    format(string, sizeof(string), "* %s je u vodjstvu sa %d ubistava.",killer,PaintballWinnerKills);
						SendClientMessage(i, COLOR_WHITE, string);
	                }
	            }
	        }
	    }
	    return 1;
	}
	if(GettingCK[playerid] < 999)
	{
	    if(IsPlayerConnected(killerid))
	    {
	        if(OnCK[killerid] < 999)
	        {
	            new killer[MAX_PLAYER_NAME];
	            new dier[MAX_PLAYER_NAME];
	            GetPlayerName(playerid, dier, sizeof(dier));
				GetPlayerName(killerid, killer, sizeof(killer));
	            format(string, sizeof(string), "* %s je izvrsio ubistvo lika nad vama, niste vise u mogucnosti da igrate sa tim likom.",killer);
	            SendClientMessage(playerid, COLOR_LIGHTRED, string);
	            format(string, sizeof(string), "** %s je izvrsio ubistvo lika nad %s **",killer,dier);
	            CKLog(string);
	            BroadCast(COLOR_LIGHTRED, string);
	            PlayerInfo[playerid][pCK] = 1;
	            if(GettingCK[playerid] < 999) { GettingCK[playerid] = 999; }
	            else if(OnCK[playerid] < 999) { OnCK[playerid] = 999; }
	            if(GettingCK[killerid] < 999) { GettingCK[killerid] = 999; }
	            else if(OnCK[killerid] < 999) { OnCK[killerid] = 999; }
	            KickPlayer[playerid] = 1;
	        }
	    }
	}
	if(PlayerInfo[playerid][pHeadValue] > 0)
	{
	    if(IsPlayerConnected(killerid))
	    {
		    if(gTeam[killerid] == 10 || PlayerInfo[killerid][pLeader] == 8)
		    {
		        if(GoChase[killerid] == playerid)
		        {
		            //ConsumingMoney[killerid] = 1;
					new killer[MAX_PLAYER_NAME];
					GetPlayerName(killerid, killer, sizeof(killer));
					SafeGivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
					format(string,128,"<< Hitmen %s je upotpunio ugovor o %s i prikupio $%d >>",killer,name,PlayerInfo[playerid][pHeadValue]);
					SendFamilyMessage(8, COLOR_YELLOW, string);
					PlayerInfo[playerid][pHeadValue] = 0;
					GotHit[playerid] = 0;
					GetChased[playerid] = 999;
					GoChase[killerid] = 999;
				}
			}
		}
    }
	if(victimteam >= 4)
	{
	    if(IsPlayerConnected(killerid))
	    {
			//new killer[MAX_PLAYER_NAME];
			//GetPlayerName(killerid, killer, sizeof(killer));
			new slice = 100; //$100
			playercash = GetPlayerMoney(playerid);
			if(gTeam[killerid] != 2) { WantedPoints[killerid] += 2; } //+ 2 wanted points
			if(SafeTime[playerid] <= 0)
			{
				if(gTeam[killerid] != gTeam[playerid])
				{
					if(GetPlayerState(killerid) == 1)
					{
						PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 2;
					}
					else
					{
						PlayerInfo[killerid][pKills]++;
					}
					PlayerInfo[playerid][pKills]--;
				}
			}
			/*if (strlen(deathreason) > 0)// patch
			{
				if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || gTeam[killerid] == gTeam[playerid])//med kill criminal
				{
					format(string, sizeof(string), ".: %s murdered %s. (%s) :.", killer, name, deathreason);
				}
				else
				{
					format(string, sizeof(string), ".: %s murdered %s. (%s) for $%d :.", killer, name, deathreason, slice);
				}

			}
			else
			{
				if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill || gTeam[killerid] == gTeam[playerid]))
				{
					format(string, sizeof(string), ".: %s murdered %s :.", killer, name);
				}
				else
				{
					format(string, sizeof(string), ".: %s murdered %s for $%d :.", killer, name, slice);
				}
			}*/
			if (((gTeam[killerid]) == 1) || ((gTeam[killerid]) == 3 && civnokill) || (gTeam[killerid] == gTeam[playerid] && gTeam[playerid] != 4))
			{
				slice = 0;
			}
			if (((gTeam[killerid]) != 4) && ((gTeam[killerid]) == gTeam[playerid]))//no team kill
			{
				slice = 0;
			}
			if (playercash > 0)
			{
				SafeGivePlayerMoney(playerid, -slice);
			}
			else
			{
				slice = slice+500;
			}
			//SafeGivePlayerMoney(killerid, slice);
			//GameTextForPlayer(playerid, dmessage, 5000, 2);
			PlayerPlaySound(killerid, 1083, 0.0, 0.0, 0.0);
			if (((gTeam[killerid]) == 3) && reason != 49)
			{
				SetPlayerCriminal(killerid,255, "Ubistvo prvog stepena");
				WantedPoints[killerid] += 2;
			}
			else if (((gTeam[killerid]) == 3) && reason == 49)
			{
				SetPlayerCriminal(killerid,255, "Udara i pokusava da pobegne");
			}
		}
	}
	else if (victimteam == 2)
	{
	    if(IsPlayerConnected(killerid))
	    {
			//new killer[MAX_PLAYER_NAME];
			//GetPlayerName(killerid, killer, sizeof(killer));
			// Cop kill
			PlayerInfo[playerid][pKills]--;
			if (gTeam[killerid] == 2)//cops kill cop
			{
				//format(string,128,".: Officer %s murdered Officer %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
				PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
				SafeGivePlayerMoney(killerid, -suecost);
				SafeGivePlayerMoney(playerid, suecost+100);//+100pays hospital bill
			}
			else
			{
				//format(string,128,".: %s murdered Officer %s (%s) :.",killer,name,deathreason);
		    }
			if (gTeam[killerid] >= 3)
			{
			    WantedPoints[killerid] += 2; //+ 2 wanted points
				if(reason != 49)
				{
					SetPlayerCriminal(killerid,255, "Ubistvo prvog stepena");
				}
				else if (reason == 49)
				{
					SetPlayerCriminal(killerid,255, "Udara i pokusava da pobegne");
				}
			}
			if(gTeam[killerid] >= 5 && SafeTime[playerid] <= 0)
			{
				if(GetPlayerState(killerid) == 1)
				{
					PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills]+2;
				}
				else
				{
					PlayerInfo[killerid][pKills]++;
				}
				WantedPoints[killerid]+=2;
			}
			//BroadCast(COLOR_RED, string);
		}
	}
	else if (victimteam == 3)
	{
	    if(IsPlayerConnected(killerid))
	    {
			//new killer[MAX_PLAYER_NAME];
			//GetPlayerName(killerid, killer, sizeof(killer));
			// Civ kill
			if ((gTeam[killerid]) == 2)//cops kill civ
			{
			    if(WantedLevel[playerid] < 1)
			    {
					//format(string,128,".: Officer %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
					PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
					SafeGivePlayerMoney(killerid, -suecost);
					SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill
				}
			}
			else
			{
				//format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason);
				WantedPoints[killerid] += 2;
		    }
			if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason != 49)
			{
				SetPlayerCriminal(killerid,255, "Ubistvo prvog stepena");
			}
			else if (((gTeam[killerid]) >= 3 || (gTeam[killerid]) == 1) && reason == 49)
			{
				SetPlayerCriminal(killerid,255, "Udara i pokusava da pobegne");
			}
		    //BroadCast(COLOR_RED, string);
		}
	}
	else if (victimteam == 1)
	{
	    if(IsPlayerConnected(killerid))
	    {
			//new killer[MAX_PLAYER_NAME];
			//GetPlayerName(killerid, killer, sizeof(killer));
			// Civ kill
			if ((gTeam[killerid]) == 2)//cops kill civ
			{
				//format(string,128,".: Officer %s murdered Paramedic %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
				PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
				SafeGivePlayerMoney(killerid, -suecost);
				SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill
			}
			else if ((gTeam[killerid]) == 1)//med kill civ
			{
				//format(string,128,".: Paramedic %s murdered %s (%s) and was sued for $%d :.",killer,name,deathreason,suecost);
				PlayerPlaySound(killerid, 1084, 0.0, 0.0, 0.0);
				SafeGivePlayerMoney(killerid, -suecost);
				SafeGivePlayerMoney(playerid, suecost+10);//+100pays hospital bill
			}
			else
			{
				//format(string,128,".: %s murdered %s (%s) :.",killer,name,deathreason);
		    }
			if (((gTeam[killerid]) == 4) && reason != 49)
			{
				SetPlayerCriminal(killerid,255, "Ubistvo prvog stepena");
				WantedPoints[killerid] += 2; //+ 2 wanted points
			}
			else if (((gTeam[killerid]) == 3) && reason == 49)
			{
				SetPlayerCriminal(killerid,255, "Udara i pokusava da pobegne");
			}
		    //BroadCast(COLOR_RED, string);
		}
	}
	if (victimteam >= 3 && WantedPoints[playerid] > 0)
	{
	    SetPlayerFree(playerid,killerid, "je ubijen");
	}

public SetPlayerCriminal(playerid,declare,reason[])
{//example: SetPlayerCriminal(playerid,255, "Stealing A Police Vehicle");
	if(IsPlayerConnected(playerid))
	{
	    PlayerInfo[playerid][pCrimes] += 1;
	    new points = WantedPoints[playerid];
		new turned[MAX_PLAYER_NAME];
		new turner[MAX_PLAYER_NAME];
		new turnmes[128];
		new wantedmes[128];
		new wlevel;
		strmid(PlayerCrime[playerid][pAccusedof], reason, 0, strlen(reason), 255);
		GetPlayerName(playerid, turned, sizeof(turned));
		if (declare == 255)
		{
			format(turner, sizeof(turner), "Nepoznat");
			strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
		}
		else
		{
		    if(IsPlayerConnected(declare))
		    {
				GetPlayerName(declare, turner, sizeof(turner));
				strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
				strmid(PlayerCrime[declare][pBplayer], turned, 0, strlen(turned), 255);
				strmid(PlayerCrime[declare][pAccusing], reason, 0, strlen(reason), 255);
			}
		}
		format(turnmes, sizeof(turnmes), "Pocinili ste zlocin: %s. Tuzilac: %s.",reason,turner);
		SendClientMessage(playerid, COLOR_DARKNICERED, turnmes);
		if(points > 0)
		{
		    new yesno;
			if(points == 3) { if(WantedLevel[playerid] != 1) { WantedLevel[playerid] = 1; wlevel = 1; yesno = 1; } }
			else if(points >= 4 && points <= 5) { if(WantedLevel[playerid] != 2) { WantedLevel[playerid] = 2; wlevel = 2; yesno = 1; } }
			else if(points >= 6 && points <= 7) { if(WantedLevel[playerid] != 3) { WantedLevel[playerid] = 3; wlevel = 3; yesno = 1; } }
			else if(points >= 8 && points <= 9) { if(WantedLevel[playerid] != 4) { WantedLevel[playerid] = 4; wlevel = 4; yesno = 1; } }
			else if(points >= 10 && points <= 11) { if(WantedLevel[playerid] != 5) { WantedLevel[playerid] = 5; wlevel = 5; yesno = 1; } }
			else if(points >= 12 && points <= 13) { if(WantedLevel[playerid] != 6) { WantedLevel[playerid] = 6; wlevel = 6; yesno = 1; } }
			else if(points >= 14) { if(WantedLevel[playerid] != 10) { WantedLevel[playerid] = 10; wlevel = 10; yesno = 1; } }
			if(WantedLevel[playerid] >= 1) { if(gTeam[playerid] == 3) { gTeam[playerid] = 4; } }
			if(yesno)
			{
				format(wantedmes, sizeof(wantedmes), "Trenutni Wanted Level: %d", wlevel);
				SendClientMessage(playerid, COLOR_YELLOW, wantedmes);
				for(new i = 0; i < MAX_PLAYERS; i++)
				{
					if(IsPlayerConnected(i))
					{
					    if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1)
					    {
							format(cbjstore, sizeof(turnmes), "BAZA: Svim jedinicama APB: Tuzilac: %s",turner);
							SendClientMessage(i, TEAM_BLUE_COLOR, cbjstore);
							format(cbjstore, sizeof(turnmes), "BAZA: Zlocin: %s, Osumnjiceni: %s",reason,turned);
							SendClientMessage(i, TEAM_BLUE_COLOR, cbjstore);
						}
					}
				}
			}
		}
	}//not connected
}

public SetPlayerCriminalEx(playerid,declare,reason[])
{//example: SetPlayerCriminal(playerid,255, "Stealing A Police Vehicle");
	if(IsPlayerConnected(playerid))
	{
	    PlayerInfo[playerid][pCrimes] += 1;
	    new points = WantedPoints[playerid];
		new turned[MAX_PLAYER_NAME];
		new turner[MAX_PLAYER_NAME];
		new turnmes[128];
		new wantedmes[128];
		new wlevel;
		strmid(PlayerCrime[playerid][pAccusedof], reason, 0, strlen(reason), 255);
		GetPlayerName(playerid, turned, sizeof(turned));
		if (declare == 255)
		{
			format(turner, sizeof(turner), "Nepoznat");
			strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
		}
		else
		{
		    if(IsPlayerConnected(declare))
		    {
				GetPlayerName(declare, turner, sizeof(turner));
				strmid(PlayerCrime[playerid][pVictim], turner, 0, strlen(turner), 255);
				strmid(PlayerCrime[declare][pBplayer], turned, 0, strlen(turned), 255);
				strmid(PlayerCrime[declare][pAccusing], reason, 0, strlen(reason), 255);
			}
		}
		format(turnmes, sizeof(turnmes), "Pocinili ste zlocin: %s. Tuzilac: %s.",reason,turner);
		//SendClientMessage(playerid, COLOR_DARKNICERED, turnmes);
		if(points > 0)
		{
		    new yesno;
			if(points == 3) { if(WantedLevel[playerid] != 1) { WantedLevel[playerid] = 1; wlevel = 1; yesno = 1; } }
			else if(points >= 4 && points <= 5) { if(WantedLevel[playerid] != 2) { WantedLevel[playerid] = 2; wlevel = 2; yesno = 1; } }
			else if(points >= 6 && points <= 7) { if(WantedLevel[playerid] != 3) { WantedLevel[playerid] = 3; wlevel = 3; yesno = 1; } }
			else if(points >= 8 && points <= 9) { if(WantedLevel[playerid] != 4) { WantedLevel[playerid] = 4; wlevel = 4; yesno = 1; } }
			else if(points >= 10 && points <= 11) { if(WantedLevel[playerid] != 5) { WantedLevel[playerid] = 5; wlevel = 5; yesno = 1; } }
			else if(points >= 12 && points <= 13) { if(WantedLevel[playerid] != 6) { WantedLevel[playerid] = 6; wlevel = 6; yesno = 1; } }
			else if(points >= 14) { if(WantedLevel[playerid] != 10) { WantedLevel[playerid] = 10; wlevel = 10; yesno = 1; } }
			if(WantedLevel[playerid] >= 1) { if(gTeam[playerid] == 3) { gTeam[playerid] = 4; } }
			if(yesno)
			{
				format(wantedmes, sizeof(wantedmes), "Trenutni Wanted Level: %d", wlevel);
				SendClientMessage(playerid, COLOR_YELLOW, wantedmes);
				for(new i = 0; i < MAX_PLAYERS; i++)
				{
					if(IsPlayerConnected(i))
					{
					    if(PlayerInfo[i][pMember] == 1||PlayerInfo[i][pLeader] == 1)
					    {
							format(cbjstore, sizeof(turnmes), "BAZA: Svim jedinicama APB: Tuzilac: %s",turner);
							SendClientMessage(i, TEAM_BLUE_COLOR, cbjstore);
							format(cbjstore, sizeof(turnmes), "BAZA: Zlocin: %s, Osumnjiceni: %s",reason,turned);
							SendClientMessage(i, TEAM_BLUE_COLOR, cbjstore);
						}
					}
				}
			}
		}
	}//not connected
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Poslednja Izmena: Septembar 02, 2014, 17:56:46 POSLE PODNE od Sarkenzo