Jump to content
  • 0

pomoc Money = Score ://


_RoGer

Dotaz

Zdravím .. 

mam takový menší problém se orientovat v převodech score na peníze . 
nyní to mám tak že : Score = Peníze  

a chtěl bych to udělat tak abych měl : Score = Score .

 

public OnPlayerDeath(playerid, killerid, reason)
{
    if(killerid != INVALID_PLAYER_ID)
    {
        SetPlayerScore(killerid, GetPlayerScore(killerid) + 3);
    }
    
	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!",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,"{C91628}~r~Hrac {FFFFFF}%s (%d){4417E8} vyhral Death Match a vyhral %d$ !",Name,i,DM[Reward]);
				                    GameTextForAll(msg, 6000, 5);
				                    format(msg,128,"{C91628}Hrac {FFFFFF}%s (%d){4417E8} vyhral Death Match a vyhral %d${FFFFFF} !",Name,i,DM[Reward]);
				                    SendClientMessageToAll(COLOR_GREEN, msg);
				                    new msgx2[128];
				                    format(msgx2,128,"{C91628}Vyhral si {FFFFFF}%d${4417E8} v DeathMatchi, peniaze boli automaticky uložene do banky",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,"{C91628}Hráè {FFFFFF}%s (%d){4417E8} vyhral Demolation Derby !",DName,i);
									SendClientMessageToAll(COLOR_WHITE,message);
									GameTextForPlayer(i,"{C91628}~w~Vyhral si 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","~r~Mise neuspesna!",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áè {FFFFFF}%s (%d){FF0000} byl vyhozen anticheatem z dùvodu: {FFFFFF}Weapon Hack !{FFFFFF}", 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,"{4417E8}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,"{4417E8}Bol si usmrtený za CarKill !");
						GameTextForPlayer(killerid,"~r~!!! CarKill !!!",3000,5);
						Player[killerid][FailDeath]=1;
					}
				}
				else if(PlayerState == PLAYER_STATE_PASSENGER)
				{
					if(Weapon == 24)
					{
						SetPlayerHealth(killerid,0);
						SendClientMessage(killerid,COLOR_WARNING,"{4417E8}Bol si usmrtený za CarKill !");
						GameTextForPlayer(killerid,"~r~!!! Car Kill !!!",3000,5);
						Player[killerid][FailDeath]=1;
					}
				}
	        	else if(IsPlayerInAnyVehicle(killerid))
				{
	        	    if(PlayerState == PLAYER_STATE_DRIVER)
					{
						SetPlayerHealth(killerid,0);
						SendClientMessage(killerid,COLOR_WARNING,"{4417E8}Bol si usmrtený za CarKill !");
						GameTextForPlayer(killerid,"~r~!!! 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,"{C91628}Nájomný vrah {FFFFFF}%s{4417E8} zabil hráèe {FFFFFF}%s{4417E8} a získava odmìnu {FFFFFF}%d${4417E8} !",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;
} 

 

 

za každou radu budu rád . Díky :)

Edited by _RoGer
Link to comment
Share on other sites

15 odpovědí na tuto otázku

Recommended Posts

  • 0

Dám sem OnPlayerUpdate 

 

public OnPlayerUpdate(playerid)
{
    if(GetPlayerState(playerid)==PLAYER_STATE_ONFOOT)
	{
		new weaponid=GetPlayerWeapon(playerid),oldweapontype=GetWeaponType(OldWeapon[playerid]);
		new weapontype=GetWeaponType(weaponid);
		if(HoldingWeapon[playerid]==weaponid)
		    StopPlayerHoldingObject(playerid);
        if(OldWeapon[playerid]!=weaponid)
		{
		    new modelid=GetWeaponModel(OldWeapon[playerid]);
		    if(modelid!=0 && oldweapontype!=WEAPON_TYPE_NONE && oldweapontype!=weapontype)
		    {
		        HoldingWeapon[playerid]=OldWeapon[playerid];
		        switch(oldweapontype)
		        {
		            case WEAPON_TYPE_LIGHT:
						SetPlayerHoldingObject(playerid, modelid, 8,0.0,-0.1,0.15, -100.0, 0.0, 0.0);

					case WEAPON_TYPE_MELEE:
					    SetPlayerHoldingObject(playerid, modelid, 7,0.0,0.0,-0.18, 100.0, 45.0, 0.0);

					case WEAPON_TYPE_HEAVY:
					    SetPlayerHoldingObject(playerid, modelid, 1, 0.2,-0.125,-0.1,0.0,25.0,180.0);
		        }
		    }
	    }

		if(oldweapontype!=weapontype)
			OldWeapon[playerid]=weaponid;
	}

    if(!IsPlayerNPC(playerid))
	{
		if(Player[playerid][DriftState] == true) Drifting(playerid);

		if(IsPlayerAdmin(playerid)) Player[playerid][RCON]=true;

		if(GetPlayerVehicleID(playerid) > 0) if(Player[playerid][Speed] >= 200) if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		{
		    new Float:x, Float:y, Float:z, Float:a, vehicleid = GetPlayerVehicleID(playerid);
		    GetVehiclePos(vehicleid, x, y, z);
		    GetVehicleZAngle(vehicleid, a);

		    if((839 > x) && (x > 834) && (-2055 > y) && (y > -2080) && (13 > z) && (z > 10))
			{
				if((a > 155) && (a < 205)) //180
			    {
					new Float:V[3];
					GetVehicleVelocity(vehicleid, V[0], V[1], V[2]);
					SetVehiclePos(vehicleid, -2992.4865722656, 467.88174438477, 4.9140625);
					SetVehicleZAngle(vehicleid, 270.000000);
					SetVehicleVelocity(vehicleid, -V[1], V[0], V[2]);
				}
			}

			else if((-2991 > x) && (x > -3010) && (470.5 > y) && (y > 465) && (6 > z) && (z > 2.5))
			{
				if((a > 65) && (a < 115)) //90
			    {
					new Float:V[3];
					GetVehicleVelocity(vehicleid, V[0], V[1], V[2]);
					SetVehiclePos(vehicleid, 836.35540771484, -2063.2978515625, 12.8671875);
					SetVehicleZAngle(vehicleid, 0.000000);
					if(-V[0] < 0.5) V[0]=-1.000000;
					SetVehicleVelocity(vehicleid, V[1], -V[0], V[2]);
				}
			}
		}

		if(GetPlayerVirtualWorld(playerid)==2000 || GetPlayerVirtualWorld(playerid)==2001 || GetPlayerVirtualWorld(playerid)==2012 || GetPlayerVirtualWorld(playerid)==2015 || GetPlayerVirtualWorld(playerid)==2018)
		{
		    if(GetPlayerWeapon(playerid) != 0) SetPlayerArmedWeapon(playerid, 0), PlayerPlaySound(playerid, 1053, 0, 0, 0), GameTextForPlayer(playerid, "~r~ZAKAZ ZBRANI !", 1000, 5);
		}
	}
	return 1;
}
Link to comment
Share on other sites

  • 0
public OnPlayerDeath(playerid, killerid, reason)
{
    if(killerid != INVALID_PLAYER_ID)
    {
        SetPlayerScore(killerid, GetPlayerScore(killerid) + 3);
    }
    

 

Zde :d

+

Server[TimeUpTimer] = SetTimer("TimeUp", 1000, 1);
SetTimer("ServerMessages", 150000, 1);
SetTimer("SendMessageAboutBestClans", 200000, 1);
Server[WeatherTimer] = SetTimer("SetRandomWeather", 500000+random(180000), 0);

* Mívam problém i s přičítáním a odčítáním peněz . Např. Dům stojí 20 mega , koupím ho a mě se odečtou peníze a   hned nato zase přičtou zpět do původního stavu .

 

 
Edited by _RoGer
Link to comment
Share on other sites

  • 0

V FS to není stoprocentně , jelikož jsem testoval čistý mod bez FS a byl jsem na tom stejně . 

Timery , které jsou obsaženy v modu jsou výše . 
Ono to bude někde určitě . :d



 

Link to comment
Share on other sites

  • 0

//EDIT:

 

a chtěl bych to udělat tak abych měl : Score = Score .

~> Počkej, pokud chceš, aby se tam nacházelo jen score, tak nastavuj jen score, ne? :d.

Link to comment
Share on other sites

  • 0

Nějak vás nestíhám :d 
 

Skus použít CTRL + F a tam zadat PlayerScore .. logicky.. 

 

 


forward GivePlayerACMoney(playerid, money);
public GivePlayerACMoney(playerid, money)
{
	if(IsPlayerConnected(playerid))
	{
	    ResetPlayerMoney(playerid);
	    GivePlayerMoney(playerid, Player[playerid][Money]);
		Player[playerid][Money] += money;
	    GivePlayerMoney(playerid, money);
	    SetPlayerScore(playerid, GetPlayerACMoney(playerid));
	}
	return 1;
}

forward SetPlayerACMoney(playerid, money);
public SetPlayerACMoney(playerid, money)
{
	if(IsPlayerConnected(playerid))
	{
	    ResetPlayerMoney(playerid);
	    GivePlayerMoney(playerid, money);
	    Player[playerid][Money] = money;
	    SetPlayerScore(playerid, money);
	}
	return 1;
}

forward ResetPlayerACMoney(playerid);
public ResetPlayerACMoney(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    ResetPlayerMoney(playerid);
	    Player[playerid][Money] = 0;
	    SetPlayerScore(playerid, 0);
	}
	return 1;
}

forward KillPlayer(playerid);
public KillPlayer(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    SetPlayerHealth(playerid, -1);
	}
	return 1;
}

forward SavePlayerLastStats(playerid);
public SavePlayerLastStats(playerid)
{
	if(IsPlayerConnected(playerid))
	{
	    new Float:player_pos_x,
			Float:player_pos_y,
			Float:player_pos_z,
			Float:player_hp,
			Float:player_armour;

		GetPlayerPos(playerid, player_pos_x, player_pos_y, player_pos_z);
		GetPlayerHealth(playerid, player_hp);
		GetPlayerArmour(playerid, player_armour);

	    Player[playerid][SavePosX] = player_pos_x;
	    Player[playerid][SavePosY] = player_pos_y;
	    Player[playerid][SavePosZ] = player_pos_z;
	    Player[playerid][SaveHP] = player_hp;
	    Player[playerid][SaveArmour] = player_armour;
	    Player[playerid][SaveVirtualWorld] = GetPlayerVirtualWorld(playerid);
	    Player[playerid][SaveInterior] = GetPlayerInterior(playerid);
	    Player[playerid][SaveMoney] = GetPlayerACMoney(playerid);
	    Player[playerid][SaveSkin] = Player[playerid][Skin];
	}
} 

 

 

 

 

//EDIT:


~> Počkej, pokud chceš, aby se tam nacházelo jen score, tak nastavuj jen score, ne? :d. 

Ano to chci , ale jsem v tom  celkem ztracený :d 
díky všem za rady :) 

Link to comment
Share on other sites

  • 0

Ano to chci , ale jsem v tom  celkem ztracený :d 

díky všem za rady :)

~> Odstraň všechny funkce, které dávají hráči peníze ( njč. GivePlayerMoney() ).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...