Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

BleBlee - zdjęcie

BleBlee

Rejestracja: 13.06.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 27.01.2015 19:40
-----

#194922 Wyrzucanie broni przez super mana na koniec rundy.

Napisane przez hardbot w 08.12.2010 22:59

Masz czopie ;P

I nie wyrzucaj mnie (z mojego kiedyś projektu :()

Załączone pliki




#153106 Wybieranie moda na następną mapę

Napisane przez R3X w 20.07.2010 13:54

Wybieranie moda na następną mapę

Umożliwia wybranie zestawu pluginów, które zostaną dołączone na następnej mapie. Wykorzystuje wbudowany w AMXX mechanizm dodatkowych plików ini z pluginami.

Cvar
Zestaw na następną mapę wybieramy cvarem

amx_nextmod <nazwa>


Listę dostępnych nazw umieścić trzeba w cstrike/modlist.txt, każdy w osobnej linii, np.
war3ft
diablo
codmod
csdm_set
Należy się upewnić, że wpisana nazwa nie jest jednocześnie prefiksem map (dlatego ostatnia opcja nie nazywa się csdm)

Każda z tych nazw odnosi się do konretnego pliku ini

configs/plugins-NAZWA.ini


Plik moda wybranego cvarem zostaje, reszta zmieni rozszerzenie na .buf i AMXX nie wykryje go jako listę pluginów.

Komendy
modlist
  • drukuje w konsoli listę dostępnych modów (poprawnych wartości dla cvaru)

Użycie
Potrzebny będzie też plugin, który odpowiednio ustawi ten cvar, np ten: Task Scheduler - by JustinHoMi - Nieoficjalny polski support AMX Mod X
albo zapraszam do działu scripting z pomysłem w jaki sposób to zorgranizować :)

Załączone pliki


  • +
  • -
  • 3


#115085 Brass Knuckles

Napisane przez DarkGL w 27.02.2010 15:35

random_float(-100.0, 100.0)
im bliżej tym liczbom do 0 tym mniejszy odrzut
  • +
  • -
  • 2


#149505 Jak zrobić moc w randze.

Napisane przez G[o]Q w 05.07.2010 15:11

hmm wystarczy dodatkowa tablice w ktorej przechowywujemy poziomy graczy czyli kolejne rangi i po prostu na starcie rundy
set_user_health(id,100+tablica[id]*10)
wtedy kazdy dostanie 10hp + za kazdy lvl
  • +
  • -
  • 1


#149378 Jak zrobić moc w randze.

Napisane przez Owner123 w 04.07.2010 21:37

eeee fajnie przy kodzie od Hardbota osoba z rangą Lama co sekunde będzie miała 110 hp ...
Jutro coś wyskrobie bo dziś już nie dam rady.
  • +
  • -
  • 1


#149213 Jak zrobić moc w randze.

Napisane przez hardbot w 04.07.2010 00:28

#include <amxmodx>
#include <amxmisc>
#include <csx>
#include <fun>

#define PLUGIN "Rangi"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

#define TASK 666

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}

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[])
{
new id = param[0]

static stats[8], body[8]
get_user_stats(id, stats, body)

new ranga[30]

if ( stats[0] >= 0 && stats[0] <= 29)
format(ranga,29,"Wiesniak")
else if ( stats[0] >= 30 && stats[0] <= 59)
format(ranga,29,"Lama",(set_user_health(id ,110)))
else if ( stats[0] >= 60 && stats[0] <= 119)
format(ranga,29,"Sierota")
else if ( stats[0] >= 120 && stats[0] <= 209)
format(ranga,29,"Owieczka")
else if ( stats[0] >= 210 && stats[0] <= 324)
format(ranga,29,"Staruszka")
else if ( stats[0] >= 325 && stats[0] <= 499)
format(ranga,29,"Cherlak")
else if ( stats[0] >= 500 && stats[0] <= 729)
format(ranga,29,"Kozak")
else if ( stats[0] >= 730 && stats[0] <= 999)
format(ranga,29,"Macho")
else if ( stats[0] >= 1000 && stats[0] <= 1399)
format(ranga,29,"Snajper")
else if ( stats[0] >= 1400 && stats[0] <= 1849)
format(ranga,29,"Rambo")
else if ( stats[0] >= 1850 && stats[0] <= 2299)
format(ranga,29,"Terminator")
else if ( stats[0] >= 2300 && stats[0] <= 2899)
format(ranga,29,"Wiesiek")
else if ( stats[0] >= 2900 && stats[0] <= 3549)
format(ranga,29,"Morfeusz")
else if ( stats[0] >= 3550 && stats[0] <= 4000)
format(ranga,29,"Wybraniec")
else if ( stats[0] >= 4001 && stats[0] <= 4999)
format(ranga,29,"Killer")
else if ( stats[0] >= 5001 && stats[0] <= 6001)
format(ranga,29,"Multi Killer")
else if ( stats[0] >= 6001 && stats[0] <= 7001)
format(ranga,29,"Owner")
else if ( stats[0] >= 8001 && stats[0] <= 9001)
format(ranga,29,"Cziter")
else if ( stats[0] >= 10001 && stats[0] <= 11001)
format(ranga,29,"POD BOT")
else if ( stats[0] >= 12000 )
format(ranga,29,"Turbo Dymo Super Man !")

set_hudmessage(255, 255, 255, 0.15, 0.55)
show_hudmessage(id, "Ranga: %s^nZabojstw: %d",ranga,stats[0])
}



#149032 Problem z kompilacją

Napisane przez Knopers w 03.07.2010 10:24

Jak się bierzecie za pisanie pluginów to może najpierw poczytajcie o pisaniu jakimkolwiek języku programowania podobnym do pawna, wy nas tu kiedyś wykończycie :P
public Nowa_Runda()
{
for(new id = 1; id < 33; id++)
{
if(!is_user_alive(id)) continue;
switch(get_user_team(id))
{
case 1: cs_set_user_model(id, "pilkarztt");
case 2: cs_set_user_model(id, "pilkarzct");
}
}
}

  • +
  • -
  • 1


#148683 Problem z kompilacją

Napisane przez R3X w 01.07.2010 18:45

Przeniosłem posty, bo problem nie dotyczy bezpośrednio instrukcji warunkowej

Nowa_Runda()
było ok, bo nie ma argumentów

Musisz użyć pętli, np for

for(new player=1;player<33;player++){
    if(!is_user_connected(player)) continue;
    //Tu dodaj swój kod
}


i zmień
new team = get_user_team(player)
na
new CsTeams:team = cs_get_user_team(player)

  • +
  • -
  • 1


#148789 Prosze o sprawdzenie błedów.

Napisane przez Siemir w 02.07.2010 10:16

public reset()
{
        for(new i=0;i<33;i++)
        {
                if(!is_user_alive(i))
                        continue
                cs_reset_user_model(i)
                set_user_gravity(i, 1.0)
                set_user_health(i, 100)
                set_user_armor(i, 0)
                set_user_rendering(i,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
        }
}
Nie wiem czy wiesz hardbot ale to event globalny.
  • +
  • -
  • 1


#148772 Prosze o sprawdzenie błedów.

Napisane przez hardbot w 02.07.2010 03:38

public reset(id)
{
cs_reset_user_model(id)
set_user_gravity(id, 1.0)
set_user_health(id, 100)
set_user_armor(id, 0)
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,25)
}



#148766 Prosze o sprawdzenie błedów.

Napisane przez R3X w 01.07.2010 23:49

id robi za indeks w tablicy players[i], właściwe id przypisałeś zmiennej i

i = players[id]

cs_set_user_model(i, "supermen")
                                give_item(i,"weapon_awp")
                                cs_set_user_bpammo(i, CSW_AWP, 1000)
                                give_item(i,"weapon_deagle")
                                cs_set_user_bpammo(i, CSW_DEAGLE, 1000)
                                set_user_gravity(i, 0.5)
                                set_user_health(i, 255)
                                set_user_armor(i, 999)
                                set_user_rendering(i,kRenderFxGlowShell,255,0,0,kRenderNormal,25)

  • +
  • -
  • 1


#148765 Prosze o sprawdzenie błedów.

Napisane przez Screeaam... w 01.07.2010 23:48

Zamiast (id) zrób (i) .


#148763 Prosze o sprawdzenie błedów.

Napisane przez R3X w 01.07.2010 23:40

No spoko, powinno działać.

Zamień te id przy funkcjach (cs_set_...) na i
  • +
  • -
  • 1


#148759 Prosze o sprawdzenie błedów.

Napisane przez R3X w 01.07.2010 23:24

Przypilnuj, żeby 2 razy nie wylosowało 1 gracza
while(jest<ilu_losowac){                        
	new id = players[random_num(0, num)]
	if(!wylosowany[id] && is_user_alive(id)){
		wylosowany[id] = true;
		jest++;
	}
}

  • +
  • -
  • 1


#148757 Prosze o sprawdzenie błedów.

Napisane przez R3X w 01.07.2010 23:10

Na forum jest tutorial o menusach.

Mój główny zarzut to to, że dostajesz gratis zmienną item, która określa numer opcji w menu i mimo to wprowadzasz dodatkowe numerowanie przez pole info[] - każda opcja ma 2 numery identyfikujące. Nie pierwszy raz widzę takie rozwiązanie, więc pewnie skopiowałeś od kogoś :P

zamiast
new menu = menu_create("\yWitaj \rGraczu!^n\yWybierz cos dla \rSiebie\y.^n\rSuperMan MOD's!","ShowMenu")

lepiej zrobić tak
new menu = menu_create("SuperMan MOD","ShowMenu")
menu_setprop(menu, MPROP_TITLE, "\yWitaj \rGraczu!^n\yWybierz cos dla \rSiebie\y.^n\rSuperMan MOD's!" );


Funkcja losująca jest nieprecyzyjna, popracuj nad nią.
To jest źle
while(jest<ilu_losowac){                        
                        new id = players[random_num(0, num)]
                        if(is_user_connected(id) && is_user_alive(id)){
                                wylosowany[id] = true;
                                jest++;
                        }
                }

  • +
  • -
  • 1