Offline |
|
|
Csatlakozott: 2013.01.01. 17:48 Hozzászólások: 2441
Megköszönt másnak: 18 alkalommal Megköszönték neki: 21 alkalommal
|
Hi! Ebben a tutoriálban saját kockázásos plugint fogunk készíteni. Kezdjük is: 1. Incket betesszük, és a plugin nevét, verziót és készítőt definiáljuk #include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #define PLUGIN "Kockazas (T)Roll The Dice" #define VERSION "1.0" #define AUTHOR "Bence98007"
2. Létrehozunk egy Boolean változót, amivel majd elérjük azt, hogy ne tudja spamolni az rtd parancsot 3. Plugin init: regisztráljuk a pluginunkat, és a parancsokat amivel majd kockázhatunk public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say rtd", "kocka") register_clcmd("say_team rtd", "kocka") register_clcmd("say kocka", "kocka") register_clcmd("say_team kocka", "kocka") }
4. Megcsináljuk a funkciónkat, amit meghívunk a plugin initben regisztrált paranccsal: és lecsekkoljuk, hogy a játékosunk él-e, és hogy használta-e már az rtd parancsot: public kocka(id) { if (is_user_alive(id)) { if (hasznalat[id] == false) { } } }
5. Ha még nem használta, azaz a bool változónk false, akkor a random_num paranccsal kisorsolunk neki egy case-t, és a casekben beírjuk azokat a dolgokat, amiket adni szeretnénk a játékosnak (pl. megölés, isten mód stb.) if (hasznalat[id] == false) { new nev[33] get_user_name(id, nev, 32) switch (random_num(1, 10)) { case 1: { give_item(id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 200) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy AWP-t!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 2: { strip_user_weapons(id) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 5000) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert Bomber Man-t!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 3: { set_user_godmode(id, 1) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert Isten Modot!", nev) hasznalat[id] = true set_task(60.0, "god", id) set_task(120.0, "kikapcs", id) } case 4: { new penz = cs_get_user_money(id) cs_set_user_money(id, penz+=99999, 1) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert a lotton!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 5: { user_kill(id, 0) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy utat a temetobe!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 6: { strip_user_weapons(id) give_item(id, "weapon_knife") set_user_health(id, 20000) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy szilvas buktat, es 20000HP-t!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 7: { client_cmd(id, "disconnect") set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy kickelest a szerverrol", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 8: { give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 100) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert 100 he granyot!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 9: { set_user_noclip(id, 1) set_task(60.0, "noclip", id) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert Zeusz modot!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 10: { set_user_footsteps(id, 1) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert surrano cipot!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } } } else { client_print(id, print_chat, "[Kocka] Kockazni csak 120 masodpercenket tudsz!") return PLUGIN_HANDLED }
6. Nyeremény készítés/hozzáadás: Vegyük példánknak a 9. case-t, azaz a zeusz modot. case 9: // Ez itt a case-nk száma { set_user_noclip(id, 1) // Itt beállítunk neki egy noclipet, azaz falon átjárást set_task(60.0, "noclip", id) // Teszünk egy 60 másodperces tasket egy funkcióval, ami majd kikapcsolja neki a falonátjárást set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert Zeusz modot!", nev) // Ki írunk egy HUD üzenetet, hogy mit nyert hasznalat[id] = true // A bool változónkat true-ra tesszük set_task(120.0, "kikapcs", id) // Taskolunk egy 120 mp múlva induló funkciót }
7. Bool változónkat falsera tesszük, hogy később újra tudjon kockázni public kikapcs(id) { if (is_user_connected(id)) { hasznalat[id] = false client_print(id, print_chat, "[Kocka] Megint kockazhatsz!") } }
Majd a noclip és egyéb funkciókat amiket tettünk (pl isten mód, zeusz mód stb) kikapcsoljuk: public god(id) { if (is_user_connected(id)) { set_user_godmode(id, 0) } } public noclip(id) { if (is_user_connected(id)) { set_user_noclip(id, 0) } }
Végül az egész kód: /* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #define PLUGIN "Kockazas (T)Roll The Dice" #define VERSION "1.0" #define AUTHOR "Bence98007" new bool:hasznalat[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say rtd", "kocka") register_clcmd("say_team rtd", "kocka") register_clcmd("say kocka", "kocka") register_clcmd("say_team kocka", "kocka") } public kocka(id) { if (is_user_alive(id)) { if (hasznalat[id] == false) { new nev[33] get_user_name(id, nev, 32) switch (random_num(1, 10)) { case 1: { give_item(id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 200) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy AWP-t!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 2: { strip_user_weapons(id) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 5000) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert Bomber Man-t!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 3: { set_user_godmode(id, 1) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert Isten Modot!", nev) hasznalat[id] = true set_task(60.0, "god", id) set_task(120.0, "kikapcs", id) } case 4: { new penz = cs_get_user_money(id) cs_set_user_money(id, penz+=99999, 1) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert a lotton!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 5: { user_kill(id, 0) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy utat a temetobe!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 6: { strip_user_weapons(id) give_item(id, "weapon_knife") set_user_health(id, 20000) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy szilvas buktat, es 20000HP-t!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 7: { client_cmd(id, "disconnect") set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert egy kickelest a szerverrol", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 8: { give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 100) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert 100 he granyot!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 9: { set_user_noclip(id, 1) set_task(60.0, "noclip", id) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert Zeusz modot!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } case 10: { set_user_footsteps(id, 1) set_hudmessage(42, 42, 255, 0.01, 0.50, 2, 6.0, 4.0) show_hudmessage(0, "%s nyert surrano cipot!", nev) hasznalat[id] = true set_task(120.0, "kikapcs", id) } } } else { client_print(id, print_chat, "[Kocka] Kockazni csak 120 masodpercenket tudsz!") return PLUGIN_HANDLED } } else { client_print(id, print_chat, "[Kocka] Csak elo emberek kockazhatnak!") } } public kikapcs(id) { if (is_user_connected(id)) { hasznalat[id] = false client_print(id, print_chat, "[Kocka] Megint kockazhatsz!") } } public god(id) { if (is_user_connected(id)) { set_user_godmode(id, 0) } } public noclip(id) { if (is_user_connected(id)) { set_user_noclip(id, 0) } }
Megköszönni a jobb alsó sarokban lehet!
Ők köszönték meg Bence98007 nek ezt a hozzászólást: koCFG (2012.11.17. 11:42) |
|
|