Jump to content

script peniaze v skóre tabuľke


Fr0st

Recommended Posts

Dobrý deň videl som už pár helpov typu ako na peniaze do skóre tabuľky.. Takže jednoducho :d

 

Najlahšie to je asi cez define medzi define dáme:

 

#define GivePlayerMoneyEx(%0,%1) GivePlayerMoney(%0,%1) SetPlayerScore(%0,GetPlayerScore(%0)+%1)

 

ptm cez stock

 

stock GivePlayerMoneyEx(playerid,cash)
{
SetPlayerScore(playerid,GetPlayerMoney(playerid)+cash);
GivePlayerMoney(playerid,GetPlayerMoney(playerid)+cash);
return 1;
}

 

Ako vidíte není to nič ťažké..

 

Použitie?

 

Namiesto GivePlayerMoney budete dávať GivePlayerMoneyEx :)

 

Pre pokročilého debilina ale nováčkovi pomôže určite :)

 

S pozdravom Tomo :d

 

// Jak už máte spravený mód a chcete tam toto ide to aj cez timer

 

hore do módu :

 

forward Score();

 

do OnGameModeInit :

 

SetTimer("Score",2000,1);

 

niekde do módu :

 

public Score()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) SetPlayerScore(i,GetPlayerMoney(playerid));}
return 1;
}

to je všetko.. :d

Link to comment
Share on other sites

  • Administrátor

Sorry ale je to takhle řešit naprosto zbytečný.. Navíc ten timer je tam na dvě věci... Naprosto ti bude stačit jeden řádek

 

#define GiveMoney(%0,%1); GivePlayerMoney(%0,%1),SetPlayerScore(%0,GetPlayerScore(%0)+%1);

Link to comment
Share on other sites

Sorry ale je to takhle řešit naprosto zbytečný.. Navíc ten timer je tam na dvě věci... Naprosto ti bude stačit jeden řádek

 

#define GiveMoney(%0,%1); GivePlayerMoney(%0,%1),SetPlayerScore(%0,GetPlayerScore(%0)+%1);

 

Shit to ma nenapadlo :d Môžem to pridať dam nech je tam už aj to define ? :d

 

//Timer je tam na to že každé 2 sekundy sa mu bude updatovať skóre podľa peňazí.. Hentým spôsobom bez timeru by to podľa mňa nešlo.. Možno cez OnPlayerUpdate alebo také niečo :d

Link to comment
Share on other sites

stock GivePlayerMoneyEx(playerid,cash)
{
SetPlayerScore(playerid,cash);
GivePlayerMoney(playerid,cash);
return 1;
}

mám 500$

použijem GivePlayerMoneyEx(playerid,125);

dám TAB a ...

a mám skóre 125... prečo ? :d

 

PS : Ja odpoveď poznám stačí keď si ten stock opravíš... :slap:

public Score(playerid)

{

SetPlayerScore(playerid,GetPlayerMoney(playerid));

return 1;

}

prídu na server 2 hráči...

 

jeden s ID 1 a druhý s ID 2 ( ID 0 je už obsadené NPCčkou)

Prečo im to neupdatuje skóre ?

 

PS : Aj na toto poznám odpoveď...

Link to comment
Share on other sites

mám 500$

použijem GivePlayerMoneyEx(playerid,125);

dám TAB a ...

a mám skóre 125... prečo ? :d

 

PS : Ja odpoveď poznám stačí keď si ten stock opravíš... :slap:

 

prídu na server 2 hráči...

 

jeden s ID 1 a druhý s ID 2 ( ID 0 je už obsadené NPCčkou)

Prečo im to neupdatuje skóre ?

 

PS : Aj na toto poznám odpoveď...

 

Už aj ja :) Opravím :d

Link to comment
Share on other sites

stock GivePlayerMoneyEx(playerid,cash)
{
SetPlayerScore(playerid,GetPlayerMoney(playerid)+cash);
GivePlayerMoney(playerid,GetPlayerMoney(playerid)+cash);
return 1;
}

 

public Score()
{
for(new i; i<MAX_PLAYERS; i++)
{
SetPlayerScore(i,GetPlayerMoney(playerid));
}
return 1;
}

 

A ja som ti toľko veril.... :slap: :slap: :slap: :slap:

 

stock GivePlayerMoneyEx(playerid,cash)
{
GivePlayerMoney(playerid,cash); // GivePlayerMoney ti pridáva peniaze
SetPlayerScore(playerid,GetPlayerMoney(playerid)); // Nebolo to zlé, ale takto je to jednoduchšie (peniaze totiž boli pridané o riadok vyššie)
return 1;
}

 

public Score()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) // Prečo to updatovať keď nieje pripojený ???
{
SetPlayerScore(i,GetPlayerMoney(playerid));
}
}
return 1;
}

Link to comment
Share on other sites

A ja som ti toľko veril.... :slap: :slap: :slap: :slap:

 

stock GivePlayerMoneyEx(playerid,cash)
{
GivePlayerMoney(playerid,cash); // GivePlayerMoney ti pridáva peniaze
SetPlayerScore(playerid,GetPlayerMoney(playerid)); // Nebolo to zlé, ale takto je to jednoduchšie (peniaze totiž boli pridané o riadok vyššie)
return 1;
}

 

public Score()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) // Prečo to updatovať keď nieje pripojený ???
{
SetPlayerScore(i,GetPlayerMoney(playerid));
}
}
return 1;
}

 

Nice až na to že toto tam musí byť :)

 

GivePlayerMoney(playerid,GetPlayerMoney(playerid)+cash);

 

pretože ak ma hráč 50 $ a dáme GivePlayerMoneyEx(playerid,60); tak nebude mať 110 $ ale 60 $ .. :d

Link to comment
Share on other sites

  • Administrátor

Nice až na to že toto tam musí byť :)

 

GivePlayerMoney(playerid,GetPlayerMoney(playerid)+cash);

 

pretože ak ma hráč 50 $ a dáme GivePlayerMoneyEx(playerid,60); tak nebude mať 110 $ ale 60 $ .. :d

 

Nemusí už jsi tu novou hodnotu peněz nastavil tudíž Get..Money načítá už novou změněnou hodnotu

Link to comment
Share on other sites

Nemusí už jsi tu novou hodnotu peněz nastavil tudíž Get..Money načítá už novou změněnou hodnotu

trochu si pletieš peniaze a skóre (alebo som ťa zle pochopil)

Nice až na to že toto tam musí byť :)

 

GivePlayerMoney(playerid,GetPlayerMoney(playerid)+cash);

 

pretože ak ma hráč 50 $ a dáme GivePlayerMoneyEx(playerid,60); tak nebude mať 110 $ ale 60 $ .. :d

Trepeš somariny...

Ak to spravíš takto tak ti uvediem príklad :

máš 50$

použiješ GivePlayerMoneyEx(playerid,60);

Tak nebudeš mať 60 ani 110...

Budeš mať 50 (základ) + 50 (GetPlayerMoney) + 60 (cash)

Takže budeš mať 160 (ak ma matematika neklame)

GivePlayerMoney(playerid, cash);

 

(Nezabudni to aj hore upraviť, v 1. príspevku)

Link to comment
Share on other sites

  • Administrátor

stock GivePlayerMoneyEx(playerid,cash)

{

GivePlayerMoney(playerid,cash); // GivePlayerMoney ti pridáva peniaze

SetPlayerScore(playerid,GetPlayerMoney(playerid)); // Nebolo to zlé, ale takto je to jednoduchšie (peniaze totiž boli pridané o riadok vyššie)

return 1;

}

 

Takto je to správně což jsi ho myslím opravil ty....

 

Kdyby to nechal takto :

stock GivePlayerMoneyEx(playerid,cash)

{

GivePlayerMoney(playerid,cash); // GivePlayerMoney ti pridáva peniaze

SetPlayerScore(playerid,GetPlayerMoney(playerid)+cash); // Nebolo to zlé, ale takto je to jednoduchšie (peniaze totiž boli pridané o riadok vyššie)

return 1;

}

Tak to přidá score navíc... Hodnota peněz je změněná o řádek výše tudíš není třeba připočítávat proměnou do SetPlayerScore když tam je GetPlayerMoney

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...