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