←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Im wiekszy level tym mniejszy exp.

  • +
  • -
Na 5tyk's Photo Na 5tyk 30.12.2011

Witam. Chciałbym zrobić tak aby na serwerze było że jeśli dany gracz wbił 100 level to za killa dostaje 100expa gdy wbije 200 level to za kila dostaje 90 expa gdy wbije 300 level to dostaje 80 expa itd...

Widziałem to gdzieś na tym forum lecz nie mogę tego znaleźć.

Czy jest ktoś w stanie mi pomóc ?
Quote

  • +
  • -
Na 5tyk's Photo Na 5tyk 31.12.2011

dzięki :facepalm2:

reff
Quote

  • +
  • -
Stachuu :D ??'s Photo Stachuu :D ?? 31.12.2011

ale jesli na kazdy następny lvl potrzebuje wiecej expa wiec ?? :D

W diablo sa jakieś redukcje ze liczy sie różnice lvl i z tego oblicza exp zalukuj .
Quote

  • +
  • -
Raen's Photo Raen 31.12.2011

Serca a tabelą expa się tak nie da? pytam bo nie jestem pewien lecz możesz spróbować.
Quote

  • +
  • -
Na 5tyk's Photo Na 5tyk 01.01.2012

Nie...

A jak się da to są łatwiejsze sposoby.

REFRESH / ODŚWIEŻAM
Quote

  • +
  • -
ric0's Photo ric0 01.01.2012

No tabela xp się da, tylko że trzeba wtedy ręcznie pisać tą tabele.
Quote

  • +
  • -
HaDeS From HELL's Photo HaDeS From HELL 01.01.2012

może za pomocą if else?
if(poziom_gracza[id] >= 1)
doswiadczenie_gracza[attacker] += 100;
else if(poziom_gracza[id] >= 100){
doswiadczenie_gracza[attacker] += 100;
else if(poziom_gracza[id] >= 200){
doswiadczenie_gracza[attacker] += 90;
else if(poziom_gracza[id] >= 300)
doswiadczenie_gracza[attacker] += 80;

Edited by Mr.Szybcioor, 01.01.2012 17:49.
Quote

  • +
  • -
Na 5tyk's Photo Na 5tyk 01.01.2012

Gdzie wklepać ten kod?
Quote

  • +
  • -
HaDeS From HELL's Photo HaDeS From HELL 01.01.2012

znajdz pubic
public SmiercGraczaPost(id, attacker, shouldgib)
i w nim znajdź
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
i zamień na
if(poziom_gracza[id] >= 1)
new doswiadczenie_gracza[attacker] += 110;
else if(poziom_gracza[id] >= 100){
new doswiadczenie_gracza[attacker] += 100;
else if(poziom_gracza[id] >= 200){
new doswiadczenie_gracza[attacker] += 90;
else if(poziom_gracza[id] >= 300)
new doswiadczenie_gracza[attacker] += 80;

a i usuń
cvar_doswiadczenie_za_zabojstwo,


a z public plugin_init()
cvar_doswiadczenie_za_zabojstwo = register_cvar("cod_killxp", "35");

Edited by Mr.Szybcioor, 01.01.2012 18:08.
Quote

  • +
  • -
dasiek's Photo dasiek 01.01.2012

if else? Bez sensu ;] 500 dodatkowych linijek... -.-^

Podziel Lvl Gracza przez 100 i zaokrąglij w dół. w tabeli dodaj Sobie np [0,100,90,80,70..10] w momecie kiedy będzie naturalna liczba (100/100 = 1,200/100 = 2 itp) dodaj exp z tabeli

tabela_dodatkowym_expem[podzielona_liczba]

Myślę że tak jest krócej.
Quote

  • +
  • -
HaDeS From HELL's Photo HaDeS From HELL 01.01.2012

No tak niby twój sposób jest krótszy ;]
Quote

TyrTrek's Photo TyrTrek 11.04.2014

if else? Bez sensu ;] 500 dodatkowych linijek... -.-^

Podziel Lvl Gracza przez 100 i zaokrąglij w dół. w tabeli dodaj Sobie np [0,100,90,80,70..10] w momecie kiedy będzie naturalna liczba (100/100 = 1,200/100 = 2 itp) dodaj exp z tabeli

tabela_dodatkowym_expem[podzielona_liczba]

Myślę że tak jest krócej.

mógłbyś napisać jak to dodać ?

 

wiem odkop ale bardzo mi to potrzebne

Quote