[Mój mod][Expenie na Klasie NONE]Problem
Gh0st
02.07.2011
Witam , dziś bawaiłem się w pisanie własnego moda (Transformers mod)
Wiec tak , Chcę żeby nie dało się expić na klasie none ( probowałem ale nie wyszło)
Nie otwiera się menu rozdania statystyk a powinno .
Tutaj daje .sma
Użytkownik Gh0st edytował ten post 03.07.2011 14:53
Wiec tak , Chcę żeby nie dało się expić na klasie none ( probowałem ale nie wyszło)
Nie otwiera się menu rozdania statystyk a powinno .
Tutaj daje .sma
Użytkownik Gh0st edytował ten post 03.07.2011 14:53
Masło 02.07.2011
A może zrób tak żeby:
* nie było klasy NONE tylko pierwsza w liście klas ?
* nie było klasy NONE tylko pierwsza w liście klas ?
R3X
02.07.2011
klasa none jest potrzebna, bo zanim wybierzesz klasę to musisz mieć punkt odniesienia
zrób sobie funkcję, którą będzie rozdawał xp graczom i tam walnij ten sam warunek
public Zapisz(id) { if(player_klasa[id] == NONE) return PLUGIN_CONTINUE;
zrób sobie funkcję, którą będzie rozdawał xp graczom i tam walnij ten sam warunek
R3X
03.07.2011
sma masz w pierwszy poście
Jeśli nie umiesz zrobić funkcji, która dodaje graczowi XP i oczekujesz żebym to ja uzupełnił kod nie powinieneś zabierać się za pisanie moda.
Jeśli nie umiesz zrobić funkcji, która dodaje graczowi XP i oczekujesz żebym to ja uzupełnił kod nie powinieneś zabierać się za pisanie moda.
Gh0st
03.07.2011
A ktoś powiedział że nie umiem ? , nie jestem pewnie . wolałem napisać żeby ktoś zrobił niż ja bym zrobił i może by coś nie działało i bym zakładał nowy Topick ...
R3X
03.07.2011
Takie wrażenie zrobił na mnie ten kod:
Absurd
pętla w SprawdzPoziom(id) spamuje hudmessage`ami
no i zapisywanie skopiowane z CodModa pewnie, bo jest ten sam błąd z formatowaniem danych przed pobranie i użycie # w zapisie a potem zamiana na spacje
Dawanie expa za pośrednictwem funkcji wiele ułatwi, możesz tu np. sprawdzać poziom i unikać expienia na klasie none
Absurd
if (player_rasa[id] == NONE) { get_pcvar_num(cZabojca) == 0 }
pętla w SprawdzPoziom(id) spamuje hudmessage`ami
no i zapisywanie skopiowane z CodModa pewnie, bo jest ten sam błąd z formatowaniem danych przed pobranie i użycie # w zapisie a potem zamiana na spacje
Dawanie expa za pośrednictwem funkcji wiele ułatwi, możesz tu np. sprawdzać poziom i unikać expienia na klasie none
dajExpa(id, ile){ if(player_klasa[id] == NONE) return; player_exp[id] += ile; SprawdzPoziom(id); }
Gh0st
03.07.2011
R3X tak to jest z początkującymi . Masz rację Kod Zapisz/wczytaj skopiowany z Codmod .
Dziękuje za pomoc . leci drugi plusik za to że nie powiedziałeś Pier*** niech sam sobie radzi : )
p.s . to jak mam zrobić z tym formatowaniem ?
Użytkownik Gh0st edytował ten post 03.07.2011 15:21
Dziękuje za pomoc . leci drugi plusik za to że nie powiedziałeś Pier*** niech sam sobie radzi : )
p.s . to jak mam zrobić z tym formatowaniem ?
replace_all(vaultdata, 255, "#", " ")
Użytkownik Gh0st edytował ten post 03.07.2011 15:21
R3X
03.07.2011
Jak byś chciał poprawić wczytywanie to musisz zrozumieć jak to działa. Oto Twój(przesadziłem? ) kod
z nvault g_vault odczytaj wartość klucza vaultkey i zapisz w vaultdata
więc linijka wyżej
Edit.
a ten krzaki przy zapisie możesz spokojnie zastąpić spacjami i wywalić to replace_all() z wczytwania
new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-%s-%s-Transformers",AuthID,player_rasa[id],player_klasa[id]) format(vaultdata,255,"#%i#%i#%i#",player_exp[id], player_level[id], player_sila[id]) nvault_get(g_vault,vaultkey,vaultdata,255)
z nvault g_vault odczytaj wartość klucza vaultkey i zapisz w vaultdata
nvault_get(g_vault,vaultkey,vaultdata,255)chwila, chwila: "zapisz w vaultdata"? czy to oznacza, że to co było tam wcześniej zostanie nadpisane czymś nowy? tak jest
więc linijka wyżej
format(vaultdata,255,"#%i#%i#%i#",player_exp[id], player_level[id], player_sila[id])jest jak podlewanie stawu, bez sensu
Edit.
a ten krzaki przy zapisie możesz spokojnie zastąpić spacjami i wywalić to replace_all() z wczytwania
Gh0st
03.07.2011
R3X'iu mam pytanie czy w evencie DeathMSG mogę używać Id ?
dam przykład :
czy musi być :
Użytkownik Gh0st edytował ten post 03.07.2011 17:03
dam przykład :
public DeathMsg(id)
{
//code
}
czy musi być :
public DeathMsg()
{
//code
}
Użytkownik Gh0st edytował ten post 03.07.2011 17:03
R3X
03.07.2011
id w handlerach możesz używać jeśli rejestrujesz event z flagą b (DeathMsg łapie się tylko z flagą a); id graczy wyciągnij read_data -> Half-Life 1 Game Events - AlliedModders Wiki
Gh0st
03.07.2011
Dziękuje rozumiem .
proszę o nie zamykanie tego tematu gdyż nie będę zaśmiecał forum . wszystkie pytanie/problemy będę umieszczał tutaj ,
Dodano 03 lipiec 2011 - 19:41:
Wiec tak : Mam następujący błąd / błędy
gdy wchodzę na serwer klasa = none , ma zerowy level , jak zmienić na 1 ?
gdy wbijam następująco inne levele wyświetla się menu statystyk , ale nie mogę rozdać tych punktów , menu po naciśnięciu się zamyka .
Słowa krytyki mile widziane .
proszę o nie zamykanie tego tematu gdyż nie będę zaśmiecał forum . wszystkie pytanie/problemy będę umieszczał tutaj ,
Dodano 03 lipiec 2011 - 19:41:
Wiec tak : Mam następujący błąd / błędy
gdy wchodzę na serwer klasa = none , ma zerowy level , jak zmienić na 1 ?
gdy wbijam następująco inne levele wyświetla się menu statystyk , ale nie mogę rozdać tych punktów , menu po naciśnięciu się zamyka .
Słowa krytyki mile widziane .