DNLS 31 Odesláno: 31. Březen, 2016 Share Odesláno: 31. Březen, 2016 (upraveno) Zdravím. Jelikož sem zde na pawnu nenašel (možná tu je, opravdu sem to nenašel) jak nastavit damage u zbraní, tak sem dám tutoriál. Takže. Otevřeme si klasicky a pawno a jediné co nám stačí před samotným nastavením je základní include. #include "a_samp" Dobře, máme? Super. Nyní si dáme někam pod to public. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) // Playerid - ID střeleného // Issuerid - ID toho, kdo vás střelil // Float: amount - Kolik vám hráč vzal HP // Weaponid - ID zbraně. Tak. A do toho publicu. { // Otevřeme public new Float:HP,Float:amount; // Ukládání HP hráče GetPlayerHealth(playerid, HP); // "Získáme" HP hráče GetPlayerArmour(playerid, amount); // "Získáme" ARMOUR hráče if(weaponid == 24) SetPlayerHealth(playerid, HP+amount-60); // Nyní se stane to, že pokud hráč tě trefí s Desert Eaglem, ubere to - 60 HP. return 1; // Umožní to zpětné volání být vyvolán z jiného scriptu } // Ukončíme public Samozřejmě sem i dám celý kod. #include "a_samp" public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) { new Float:HP; GetPlayerHealth(playerid, HP); if(weaponid == 24) SetPlayerHealth(playerid, HP+amount-60); return 1; } Závěr .... Ano, je to můj první tutoriál, proto očekávám kritiku. Ale, na to nechci se na to nějak vymlouvat, takže hodnotit tak jak to vidíte. Edited 1. Duben, 2016 by Daniels Link to comment Share on other sites More sharing options...
Amenadiel 286 Odesláno: 31. Březen, 2016 Share Odesláno: 31. Březen, 2016 stále přemýšlím jestli ses dost neinspiroval zde... http://forum.sa-mp.com/showthread.php?t=330005 Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 31. Březen, 2016 Author Share Odesláno: 31. Březen, 2016 stále přemýšlím jestli ses dost neinspiroval zde... http://forum.sa-mp.com/showthread.php?t=330005 Jak sem psal v shoutboxu. Inspirovat sem se nechal, ale popsal sem to slovy ze své hlavy. Ale ano, opravdu sem se nechal inspirovat odtud, to vyvrátit nemohu. Link to comment Share on other sites More sharing options...
Scydo 397 Odesláno: 31. Březen, 2016 Share Odesláno: 31. Březen, 2016 ~> Jj, už něco takového tu je. Jenom je naprosto pitomě zpracované(několik řádků, podmínka ke každé zbrani...). ~> Kdybych měl říct něco k tomu tvému tutoriálu, tak pro jedinou zbraň bych mohl říct, že je to téměř ideální takhle. Ale pro více zbraní bych udělal nějaké pole (id zbraně a kolik ubere života), abych, jakmile tam bude více zbraní, nemusel pro každou přidávat zvlášť další a další podmínky a funkce. Jen jeden cyklus, pár podmínek a hotovo. Jinak, nic více mě momentálně nenapadá. Jen, že jsi zapomněl přidat obtížnost podle pravidel přidávání návodů. Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 31. Březen, 2016 Author Share Odesláno: 31. Březen, 2016 Jen, že jsi zapomněl přidat obtížnost podle pravidel přidávání návodů. Přidáno. Link to comment Share on other sites More sharing options...
Globální moderátor Hip 191 Odesláno: 31. Březen, 2016 Globální moderátor Share Odesláno: 31. Březen, 2016 1. Návod na návody je zde http://pawno.cz/topic/51862-šablona-pro-psan%C3%AD-návodů/Je to takový standartizovaný postup jak ho psát. Kromě obtížnosti co ti chyběla, tak přidej ještě hvězdičky (je to jako smajlík) 2. Píšeš to do návodů "Všechno možné", ale patří to do návodů "Pawno" (přesouvám, tak pro příště pozor) 3. Ideálně by jsi to mohl popsat i bokem v nějakém menším odstavci. Defacto máš jenon popsaný kód, ale shrnutě co to dělá celkově tam není. To tak asi vše co bych vytknul Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 31. Březen, 2016 Globální moderátor Share Odesláno: 31. Březen, 2016 Mám velmi silný pocit, že mnozím z Vás to hodí error při: #include "a_samp" Ale co já vlastně vím, viďte... Link to comment Share on other sites More sharing options...
Administrátor Ewwe 434 Odesláno: 1. Duben, 2016 Administrátor Share Odesláno: 1. Duben, 2016 Mám velmi silný pocit, že mnozím z Vás to hodí error při: #include "a_samp" Ale co já vlastně vím, viďte... nehodí lze používat #include nebo #include a_samp nebo #include "a_samp" je to v podstatě to samé jen je více zažité používat tu první možnost BTW ještě by se tam hodila podmínka issuerid != INVALIT_PLAYER_ID ale jinak v pohodě Link to comment Share on other sites More sharing options...
Globální moderátor HighPrint 177 Odesláno: 1. Duben, 2016 Globální moderátor Share Odesláno: 1. Duben, 2016 já jsem měl za to, že < > se hledá v includes a " " hledá lokálně Link to comment Share on other sites More sharing options...
ATomas 290 Odesláno: 1. Duben, 2016 Share Odesláno: 1. Duben, 2016 if(weaponid == 24) SetPlayerHealth(playerid, HP-60); tohle ti neodebere jen 60 zivotu ale jeste i to co je v amount. pokud ches aby to ubralo presne 60 zivotu musis pouzit if(weaponid == 24) SetPlayerHealth(playerid, HP-60.0+amount); Link to comment Share on other sites More sharing options...
DNLS 31 Odesláno: 1. Duben, 2016 Author Share Odesláno: 1. Duben, 2016 já jsem měl za to, že < > se hledá v includes a " " hledá lokálně Přesně jak říká Ewwe. lze používat #include <a_samp> nebo #include a_samp nebo #include "a_samp" je to v podstatě to samé jen je více zažité používat tu první možnost 1. Návod na návody je zde http://pawno.cz/topic/51862-šablona-pro-psan%C3%AD-návodů/Je to takový standartizovaný postup jak ho psát. Kromě obtížnosti co ti chyběla, tak přidej ještě hvězdičky (je to jako smajlík) 2. Píšeš to do návodů "Všechno možné", ale patří to do návodů "Pawno" (přesouvám, tak pro příště pozor) 3. Ideálně by jsi to mohl popsat i bokem v nějakém menším odstavci. Defacto máš jenon popsaný kód, ale shrnutě co to dělá celkově tam není. To tak asi vše co bych vytknul Budu si dávat pozor. if(weaponid == 24) SetPlayerHealth(playerid, HP-60); tohle ti neodebere jen 60 zivotu ale jeste i to co je v amount. pokud ches aby to ubralo presne 60 zivotu musis pouzit if(weaponid == 24) SetPlayerHealth(playerid, HP-60.0+amount); Fixnuto, díky za připomínku. Link to comment Share on other sites More sharing options...
Hlavní moderátor vEnd 279 Odesláno: 1. Duben, 2016 Hlavní moderátor Share Odesláno: 1. Duben, 2016 (upraveno) Nebude to fungovat. Proměnnou, kam ukládáš vestu hráče, máš pojmenovanou stejně jako argument callbacku (amount). { // Otevřeme public new Float:HP,Float:amount; // Ukládání HP hráče GetPlayerHealth(playerid, HP); // "Získáme" HP hráče GetPlayerArmour(playerid, amount); // "Získáme" ARMOUR hráče Btw, proč vlastně? D: To nebylo to, na co ATomas narážel. Abys zjišťoval vestu navíc. Edited 1. Duben, 2016 by vEnd 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