Cześc,
nie do końca wiem, jak się za to zabrać, ale potrzebuję aby do każdej rangi można było przypisać dodatek (na przykład ranga 1=+5 hp, ranga 2=+10hp)
Rangi stąd;
https://amxx.pl/topi...it-by-pineksio/
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Najlepsza odpowiedź Linux' , 18.04.2016 16:12
Rusz glową, dlaczego tak sie dzieje skoro public poprawna_ranga(id) nie jest nigdzie przypisany .
Jesli nie chcesz korzystac z case to wystarczy je pominac, nawet nie trzeba go dodawac. Poza tym pamietaj o tabulatorach!
Napisano 18.04.2016 00:33
Cześc,
nie do końca wiem, jak się za to zabrać, ale potrzebuję aby do każdej rangi można było przypisać dodatek (na przykład ranga 1=+5 hp, ranga 2=+10hp)
Rangi stąd;
https://amxx.pl/topi...it-by-pineksio/
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
Napisano 18.04.2016 09:16
Musisz przechwycić aktualna range gracza a następnie ustawiać mu zdrowie przy odrodzeniu, np ranga gracza*5.
Nie rozumiem albo jestem głupi, mam zrobić zmienną
ranga_gracza = pobierz_range_gracza
ranga_gracza*5?
Może jakiś przykładzik?
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
Napisano 18.04.2016 11:52
co mi wyszło ^, ale problem jest taki że hp mi dodaje o 43, bo po respie mam 143 (Pewnie coś źle zrobiłem, albo znowu robie z siebie debila i wykładam się na najprostszym )
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
Napisano 18.04.2016 15:07
Musisz przechwycić numer rangi gracza do zmiennej a ty próbujesz wykonać funkcje na stringu. Nie testowałem ale się kompiluje
#include <amxmodx> #include <amxmisc> #include <csx> #include <fakemeta> #include <fun> #include <hamsandwich> #define PLUGIN "Rangi" #define VERSION "1.0" #define AUTHOR "Sn!ff3r" /* Edit by Real */ #define TASK 666 #define ADMIN_FLAG ADMIN_LEVEL_H /* TUTAJ WYZEJ ZMIEN FLAGE VIPA NA SWOJA */ new ranga_gracza[33]; new nazwy_rang[][] = { "Brak", // 0 "Poczatkowy", // 1 "Bywalec", // 2 "Mistrz", // 3 "Staly Bywalec", // 4 "KoX", // 5 "Kat", // 6 "Kozak", // 7 "Macho", // 8 "Snajper", // 9 "Rambo", // 10 "Terminator" // 11 }; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "Fw_PlayerSpawnPost", 1) } public client_connect(id) { if(is_user_bot(id)) return new param[1] param[0] = id set_task(1.0,"rank",TASK+id,param,1,"b") } public client_disconnect(id) { if(task_exists(TASK+id)) remove_task(TASK+id) } public rank(param[]) { static stats[8], body[8] new id = param[0] if(!is_user_alive(id)) { id = pev(id, pev_iuser2); if(!id) id = param[0] } get_user_stats(id, stats, body) if ( stats[0] >= 0 && stats[0] <= 29) ranga_gracza[id] = 1; else if ( stats[0] >= 30 && stats[0] <= 59) ranga_gracza[id] = 2; else if ( stats[0] >= 60 && stats[0] <= 119) ranga_gracza[id] = 3; else if ( stats[0] >= 120 && stats[0] <= 209) ranga_gracza[id] = 4; else if ( stats[0] >= 210 && stats[0] <= 324) ranga_gracza[id] = 5; else if ( stats[0] >= 325 && stats[0] <= 499) ranga_gracza[id] = 6; else if ( stats[0] >= 500 && stats[0] <= 729) ranga_gracza[id] = 7; else if ( stats[0] >= 730 && stats[0] <= 999) ranga_gracza[id] = 8; else if ( stats[0] >= 100 && stats[0] <= 1399) ranga_gracza[id] = 9; else if ( stats[0] >= 1400 && stats[0] <= 1849) ranga_gracza[id] = 10; else if ( stats[0] >= 1850 && stats[0] <= 2299) ranga_gracza[id] = 11; new name[33] get_user_name(id,name, charsmax(name)) set_hudmessage(255, 255, 255, 0.01, 0.17) show_hudmessage(id, "| Nick: %s^n| Ranga: %s^n| Zabojstw: %d^n| Postep: %i/11^n| VIP: %s", name , nazwy_rang[ranga_gracza[id]], stats[0], ranga_gracza[id], get_user_flags(id) & ADMIN_FLAG ? "Tak" : "Nie") } public Fw_PlayerSpawnPost(id) { if (is_user_alive(id)) set_user_health(id, 100+ranga_gracza[id]*5); }
Napisano 18.04.2016 15:31
No dobra, problem jest taki, że hp dodaje, ale do 110/115, a wyżej już nie.
A jakby to zrobić, żeby do każdej rangi przypisać inny dodatek?
public poprawna_ranga(id) { if(ranga_gracza[1]) { set_user_health(id, get_user_health(id)+5); } }
? Czy nie? :v
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
Napisano 18.04.2016 15:38
Czyli
public poprawna_ranga(id) { if(ranga_gracza[id] == 1) { set_user_health(id, get_user_health(id)+5); } if(ranga_gracza[id] == 2) { // Dla rangi z id 2, czyli "Bywalec" set_user_health(id, get_user_health(id)+10); }
(tylko zamiast get_user_health(id), to 100+10, tak?)
i wtedy ranga bywalec 100+10 hp tak?
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
Napisano 18.04.2016 15:53
No nie, już myślałem że dziobie i do zamknięcia, a jednak
Nie dodaje bonusów
Użytkownik asik edytował ten post 18.04.2016 15:54
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
Napisano 18.04.2016 16:38
Rusz glową, dlaczego tak sie dzieje skoro public poprawna_ranga(id) nie jest nigdzie przypisany .
Spoiler
Jesli nie chcesz korzystac z case to wystarczy je pominac, nawet nie trzeba go dodawac. Poza tym pamietaj o tabulatorach!
Ja serio jestem głupi -.-
Zawsze się wykładam na najprostszym .__.
Dzięki wielkie, sory za problem bo się ciut ośmieszyłem
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
Napisano 18.04.2016 17:27
na co robic jakies smierdzacy ify czy casey jak mozna 10 tysiecy razy ladniej i optymalniej
public Fw_PlayerSpawnPost(id) { set_user_health(id,get_user_health(id)+ranga_gracza[id]*5) }
tak jak to napisal linux...
Cześć
Napisano 18.04.2016 17:36
na co robic jakies smierdzacy ify czy casey jak mozna 10 tysiecy razy ladniej i optymalniej
public Fw_PlayerSpawnPost(id) { set_user_health(id,get_user_health(id)+ranga_gracza[id]*5) }tak jak to napisal linux...
HP to dla wygody wyjaśnienia przykładu Linuxa. Dodatki mam w zamiarze zrobić inne dla każdej rangi. Dlatego też, łatwiej jest mi zrobić to w case'ach
Temat do zamknięcia. Dziękuję wszystkim
Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.
0 użytkowników, 0 gości, 0 anonimowych