Fr0st 23 Odesláno: 14. Červen, 2013 Share Odesláno: 14. Červen, 2013 Dobrý deň videl som už pár helpov typu ako na peniaze do skóre tabuľky.. Takže jednoducho 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 // 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.. Link to comment Share on other sites More sharing options...
Albus Brambůrek 41 Odesláno: 14. Červen, 2013 Share Odesláno: 14. Červen, 2013 Tak jsem si to četl a říkal jsem si co je to za ***** ale máš štěstí že si tam dal i ten timer Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 14. Červen, 2013 Administrátor Share Odesláno: 14. Červen, 2013 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 More sharing options...
Fr0st 23 Odesláno: 14. Červen, 2013 Author Share Odesláno: 14. Červen, 2013 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 Môžem to pridať dam nech je tam už aj to define ? //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 Link to comment Share on other sites More sharing options...
Quiter 99 Odesláno: 14. Červen, 2013 Share Odesláno: 14. Červen, 2013 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 ? PS : Ja odpoveď poznám stačí keď si ten stock opravíš... 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 More sharing options...
Fr0st 23 Odesláno: 14. Červen, 2013 Author Share Odesláno: 14. Červen, 2013 mám 500$ použijem GivePlayerMoneyEx(playerid,125); dám TAB a ... a mám skóre 125... prečo ? PS : Ja odpoveď poznám stačí keď si ten stock opravíš... 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 Link to comment Share on other sites More sharing options...
Quiter 99 Odesláno: 14. Červen, 2013 Share Odesláno: 14. Červen, 2013 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: 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 More sharing options...
Fr0st 23 Odesláno: 14. Červen, 2013 Author Share Odesláno: 14. Červen, 2013 A ja som ti toľko veril.... :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 $ .. Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 14. Červen, 2013 Administrátor Share Odesláno: 14. Červen, 2013 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 $ .. 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 More sharing options...
Quiter 99 Odesláno: 14. Červen, 2013 Share Odesláno: 14. Červen, 2013 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 $ .. 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 More sharing options...
Administrátor Ewwe 434 Odesláno: 14. Červen, 2013 Administrátor Share Odesláno: 14. Červen, 2013 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now