Jump to content
  • 0

pomoc Nastavení score 1kill=1score


n3cro

Dotaz

Zdravím , 

Chtěl bych v modu změnit score za 1 kill = 1 bod score a nevím jak to udělat . 
Nyní to mám nastavené podle množství peněz . Prosím poradíte ? :) 


public OnPlayerDeath(playerid, killerid, reason)
{
	if(!IsPlayerNPC(playerid))
	{
		if(IsPlayerConnected(playerid))
		{
		    if(IsPlayerConnected(killerid))
		    {
		        GivePlayerACMoney(killerid, floatround(floatmul(GetPlayerACMoney(playerid), 0.35)));
		    }
		    SetPlayerACMoney(playerid, floatround(floatmul(GetPlayerACMoney(playerid), 0.65)));
		
		    if(IsPlayerUsingLoopingAnimation[playerid]) IsPlayerUsingLoopingAnimation[playerid] = 0;
		    
		    UsePlayerStoppingAnimation[playerid]=false;
		
		    if(Player[playerid][MissionID] != 9999)
		    {
			    FormatPlayerInfoBox(playerid,"~g~Mission","~r~Mise neuspesna!/Mission complete!",2500);

			    Player[playerid][MissionID]=9999;
			    Player[playerid][MissionInfo]=9999;

			    DisablePlayerRaceCheckpoint(playerid);
		    }

			if(Player[playerid][DriftState] == true) CancelDrifting(playerid);

		    if(Player[playerid][DM_Player]!=9999)
			{
			    Player[playerid][DM_Player]=9999;
			    DM[Players]--;

			    if(DM[Players]==1)
				{
			        for(new i=0; i<=Server[ConP]; i++)
					{
			            if(IsPlayerConnected(i))
						{
						    if(!IsPlayerNPC(i))
			    			{
				                if(Player[i][DM_Player]!=9999)
								{
				                    Player[i][DM_Player]=9999;
				                    new msg[128], Name[24];
				                    GetPlayerName(i,Name,24);
				                    format(msg,128,"~r~{b8860b}Hrac/Player {fffafa}%s (%d) {b8860b}vyhral Death Match a vyhral/ won geathmatch and won {fffafa}%d$ !",Name,i,DM[Reward]);
				                    GameTextForAll(msg, 6000, 5);
				                    format(msg,128,"{b8860b}Hrac/Player {fffafa}%s (%d) {b8860b}vyhral Death Match a vyhral/won deathmatch and won {fffafa}%d$ !",Name,i,DM[Reward]);
				                    SendClientMessageToAll(COLOR_GREEN, msg);
				                    new msgx2[128];
				                    format(msgx2,128,"{b8860b}Vyhral si/ yWIN %d$ {b8860b}v DeathMatchi, peniaze boli automaticky uložene do banky/money were automatically added to the bank ",DM[Reward]);
				                    SendClientMessage(i,COLOR_YELLOW,msgx2);
				                    Player[i][Bank]+=DM[Reward];
				                    DM[Reward]=0;
				                    SpawnPlayer(i);
				                    DM_End();
								}
							}
			            }
			        }
			    }
			}

			if(((Player[killerid][Team] != Player[playerid][Team]) && Player[playerid][ClanP]==9999) || ((Player[killerid][ClanP] != Player[playerid][ClanP]) && Player[playerid][ClanP]!=9999))
			{
				new Float:pskill;
				     if(Player[playerid][Skill]>80.0) pskill=1.2;
				else if(Player[playerid][Skill]>65.0) pskill=1.1;
				else if(Player[playerid][Skill]>50.0) pskill=1.0;
				else if(Player[playerid][Skill]>37.5) pskill=0.9;
				else if(Player[playerid][Skill]>25.0) pskill=0.8;
				else if(Player[playerid][Skill]>15.0) pskill=0.7;
				else if(Player[playerid][Skill]> 5.0) pskill=0.6;
				else pskill+=0.5;

				new Float:pxskill = Player[killerid][Skill]+pskill;
				if(pxskill>99.9) pxskill=99.9;
				SetPlayerSkill(killerid, pxskill);
			}

			if(Player[playerid][D_Player]!=9999)
			{
			    Player[playerid][D_Player]=9999;
			    Game[D_Players]--;
			    Player[playerid][UseNotebook]=false;

			    if(Game[D_Players]==1)
				{
			        for(new i=0; i<=Server[ConP]; i++)
					{
			            if(IsPlayerConnected(i))
						{
						    if(!IsPlayerNPC(i))
			    			{
				                if(Player[i][D_Player]!=9999)
								{
									new DName[24];
									GetPlayerName(i,DName,24);
									new message[128];
									format(message,128,"{b8860b}Hráč/plyer {fffafa}%s (%d) {b8860b}vyhral Demolation Derby/win Demolation Derby !",DName,i);
									SendClientMessageToAll(COLOR_WHITE,message);
									GameTextForPlayer(i,"~w~{b8860b}Vyhral si Demolation Derby/You Win Demolation Derby  !",3000,5);
									if(IsPlayerInAnyVehicle(i)) SetVehicleVirtualWorld(GetPlayerVehicleID(i),0);
									SpawnPlayer(i);
				                }
			                }
			            }
			        }
			    }
			}

			if(Player[playerid][DA_Player] != 9999)
			{
				if(Game[DA_State]==1)
			    {
					if(Player[killerid][DA_Player] != 9999) OnPlayerExitDuelArena(killerid, playerid);
				}
			}

			if(Player[playerid][NFSSA_Player]!=9999)
			{
			    Player[playerid][NFSSA_Player]=9999;
			    Game[NFSSA_Players]--;
			    Player[playerid][UseNotebook]=false;
			    DisablePlayerRaceCheckpoint(playerid);
			    if(IsPlayerInAnyVehicle(playerid)) SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),0);
			}

			if(Player[playerid][MTBR_Player]!=9999)
			{
			    DestroyVehicleEx(MTBR_Bike[Player[playerid][MTBR_Player]]);
			    Player[playerid][MTBR_Player]=9999;
			    Game[MTBR_Players]--;
			    Player[playerid][UseNotebook]=false;
			    DisablePlayerRaceCheckpoint(playerid);
			}

		    if(Player[playerid][BrigadaID] != 9999)
		    {
			    FormatPlayerInfoBox(playerid,"~g~Brigada/brigade","~r~Mise neuspesna!/mission complete!",2500);

			    Player[playerid][BrigadaID]=9999;
			    Player[playerid][BrigadaInfo]=9999;
			    Player[playerid][BrigadaTime]=9999;

			    DisablePlayerRaceCheckpoint(playerid);
		    }

			if(!IsPlayerConnected(killerid))
			{
				SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
				FormatHighScore(playerid);
			}
			else
			{
			    if(GetPlayerWeapon(killerid) == 38 || GetPlayerWeapon(killerid) == 36)
			    {
			    	if(Player[killerid][Logged] == true)
			    	{
				        new pName[24];
				        GetPlayerName(killerid, pName, 24);

				        new message[128];
				        format(message,128, "{ff0000}[  ANTICHEAT  ] Hráč {fffafa}%s (%d) {ff0000}byl vyhozen anticheatem z důvodu: Weapon Hack !", pName, killerid);
				        SendClientMessageToAll(COLOR_ADMIN, message);
				        
				        Kick(killerid);
				    }
			    }
			
			    FormatHighScore(playerid);
			    FormatHighScore(killerid);

			    	 if(Player[playerid][Respect] > 90) Player[killerid][Respect]+=0.600;
			    else if(Player[playerid][Respect] > 75) Player[killerid][Respect]+=0.520;
			    else if(Player[playerid][Respect] > 50) Player[killerid][Respect]+=0.450;
			    else if(Player[playerid][Respect] > 30) Player[killerid][Respect]+=0.375;
			    else if(Player[playerid][Respect] > 15) Player[killerid][Respect]+=0.300;
			    Player[killerid][Respect]+=0.75;

			    SetPlayerRespect(killerid, Player[killerid][Respect]);

			    if(Player[killerid][ClanP] != 9999)
			    {
			        new clanid = Player[killerid][ClanP];
			        Clan[clanid][Kills]++;

			        new cway[64];
			        format(cway,64, "SL/Server/Clans/Clan%d.cfg", clanid);
			        dini_IntSet(cway, "Kills", Clan[clanid][Kills]);
			    }

			    Player[killerid][FailDeath]=0;
				SendDeathMessage(killerid,playerid,reason);

				Player[killerid][Kills]++;
				Player[playerid][Deaths]++;

				if(Player[playerid][Team]==5)
				{
				    if(GetPlayerWantedLevel(killerid)<3)
					{
						SetPlayerWantedLevel(killerid,3);
						SendClientMessage(killerid,COLOR_WARNING,"{b8860b}Zabil si policajta ! Hledanost se ti zvýšila na WL 3 !");
					}
					if(GetPlayerWantedLevel(killerid)>=3 && GetPlayerWantedLevel(killerid)<=5)
					{
						SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid)+1);
					}
				}
				else if(GetPlayerWantedLevel(killerid)<=5)
				{
				    SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(killerid)+1);
				}

				new PlayerState = GetPlayerState(killerid);
				new Weapon = GetPlayerWeapon(killerid);

				if(PlayerState == PLAYER_STATE_DRIVER)
				{
					if(Weapon == 32 || Weapon == 28 || Weapon == 29)
					{
						SetPlayerHealth(killerid,0);
						SendClientMessage(killerid,COLOR_WARNING,"{ff0000}Bol si usmrtený za CarKill !");
						GameTextForPlayer(killerid,"~r~!!!{ff0000} CarKill !!!",3000,5);
						Player[killerid][FailDeath]=1;
					}
				}
				else if(PlayerState == PLAYER_STATE_PASSENGER)
				{
					if(Weapon == 24)
					{
						SetPlayerHealth(killerid,0);
						SendClientMessage(killerid,COLOR_WARNING,"{ff0000}Bol si usmrtený za CarKill !");
						GameTextForPlayer(killerid,"~r~!!!{ff0000} Car Kill !!!",3000,5);
						Player[killerid][FailDeath]=1;
					}
				}
	        	else if(IsPlayerInAnyVehicle(killerid))
				{
	        	    if(PlayerState == PLAYER_STATE_DRIVER)
					{
						SetPlayerHealth(killerid,0);
						SendClientMessage(killerid,COLOR_WARNING,"{ff0000}Bol si usmrtený za CarKill !");
						GameTextForPlayer(killerid,"~r~!!! {ff0000}Car Kill !!!",3000,5);
						Player[killerid][FailDeath]=1;
					}
				}
				if(Player[playerid][Reward]>=1)
				{
				    if(Player[killerid][FailDeath]==0)
					{
				        if(Player[killerid][Team]==8)
						{
					        new MSG[128], Name[24], Name2[24];
					        GetPlayerName(killerid,Name,24);
					        GetPlayerName(playerid,Name2,24);
					        format(MSG,128,"{ff0000}Nájomný vrah {fffafa}%s {ff0000}zabil hráče {fffafa}%s {ff0000}a získava odměnu {fffafa}%d$ !",Name,Name2,Player[playerid][Reward]);
					        SendClientMessageToAll(COLOR_YELLOW,MSG);
					        GivePlayerACMoney(killerid,Player[playerid][Reward]);
					        Player[playerid][Reward]=0;
						}
				    }
				}
			}

			Player[killerid][FailDeath]=0;
			if(GetPlayerWantedLevel(killerid)>6) SetPlayerWantedLevel(killerid,6);
			if(GetPlayerWantedLevel(playerid)>6) SetPlayerWantedLevel(playerid,6);
		}
	}
	return 1;
}

 

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 2

No áno.. Lenže on neodstránil to na peniaze, a teraz má score aj na peniaze aj na killy.. A zbytočne zataží server ked to dá do OnPlayerUpdate.. Predsa, Killy a umrtia sú len v OnPlayerDeath.. Takže je zbytočné to dávať do OnPlayerUpdate :) Skús si dáť správu do OnPlayerUpdate, a stlačiť W.. Dá ti ju tak cca 3 krát, a skús isť Infernusom 3 minúty, ta máš 20 tisíc správ.. Takže zbytočne 20 tisíc krát (napríklad) 100 hráčom bude nastavovať score za sekundu, no nie ? :d

Link to comment
Share on other sites

  • 1

Ahoj,

OnPlayerUpdate:

SetPlayerScore(playerid, GetPlayerMoney(playerid)); // GetPlayerMoney(playerid) si dej vlastní promměnu Killu, jinak tohle znamená že zisti v TAB kolik má hráč Peněz 

A aby to přičitalo + tak jak ti to poslal EEEE ten link

  • Nope 1
Link to comment
Share on other sites

  • 0
 Tak lebo si neodstránil to, že ti to má počítať v peniazoch.. 

 

Edited by EvoLve.
Kód je napísaný v linku hore :D
Link to comment
Share on other sites

  • 0

 

57 minutes ago, _DraGonS_ said:

Ahoj,

OnPlayerUpdate:

SetPlayerScore(playerid, GetPlayerMoney(playerid)); // GetPlayerMoney(playerid) si dej vlastní promměnu Killu, jinak tohle znamená že zisti v TAB kolik má hráč Peněz 

A aby to přičitalo + tak jak ti to poslal EEEE ten link

 

45 minutes ago, EvoLve. said:

No áno.. Lenže on neodstránil to na peniaze, a teraz má score aj na peniaze aj na killy.. A zbytočne zataží server ked to dá do OnPlayerUpdate.. Predsa, Killy a umrtia sú len v OnPlayerDeath.. Takže je zbytočné to dávať do OnPlayerUpdate :) Skús si dáť správu do OnPlayerUpdate, a stlačiť W.. Dá ti ju tak cca 3 krát, a skús isť Infernusom 3 minúty, ta máš 20 tisíc správ.. Takže zbytočne 20 tisíc krát (napríklad) 100 hráčom bude nastavovať score za sekundu, no nie ? :d

 

8 hours ago, EEEE said:

http://wiki.sa-mp.com/wiki/SetPlayerScore

 

Example Usage je presne to čo hľadáš.

 

??

Děkuju Vám kluci :):) 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...