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.
|
Guest Message by DevFuse
3rdParty
CSX
DoDX
Engine
ESF
Fakemeta
Fun
GeoIP
HamSandwich
JSON
NS
nVault
REAPI
Sockets
Sql
SQLx
TFCX
TSFUN
TSX
ammopacks
amxbans_core
amxbans_main
atac
basebuilder
celltrie
chr_engine
cod
codmod
colorchat
credits
csdm
dHUD
diablo_nowe
entlib
expmod
expmod_achievements
expmod_mission
expmod_shop
fvault
ggpro
gunxpmod
ncodmod
netdb
orpheu
orpheu_advanced
orpheu_const
orpheu_memory
orpheu_stocks
pokemod
roulette
StripWeapons
zmvip
zombie_plague_advance
zombieplague
zombieplaguenew1.3
Coreamxbans_core
amxbans_main
atac
basebuilder
celltrie
chr_engine
cod
codmod
colorchat
credits
csdm
dHUD
diablo_nowe
entlib
expmod
expmod_achievements
expmod_mission
expmod_shop
fvault
ggpro
gunxpmod
ncodmod
netdb
orpheu
orpheu_advanced
orpheu_const
orpheu_memory
orpheu_stocks
pokemod
roulette
StripWeapons
zmvip
zombie_plague_advance
zombieplague
zombieplaguenew1.3
amxconst
amxmisc
amxmodx
cellarray
chatcolor
core
datapack
file
float
hlsdk_const
lang
message_const
message_stocks
messages
newmenus
sorting
string
time
vault
vector
Cstrikeamxmisc
amxmodx
cellarray
chatcolor
core
datapack
file
float
hlsdk_const
lang
message_const
message_stocks
messages
newmenus
sorting
string
time
vault
vector
CSX
DoDX
Engine
ESF
Fakemeta
Fun
GeoIP
HamSandwich
JSON
NS
nVault
REAPI
cssdk_const
hlsdk_const
reapi
reapi_engine
reapi_engine_const
reapi_gamedll
reapi_rechecker
reapi_reunion
reapi_vtc
Regexhlsdk_const
reapi
reapi_engine
reapi_engine_const
reapi_gamedll
reapi_rechecker
reapi_reunion
reapi_vtc
Sockets
Sql
SQLx
TFCX
TSFUN
TSX
SortCustom2D
Dodane 04.05.2010 17:04 przez: R3X#
Opis
Sortuje dwuwymiarową tablicę liczb całkowitych. Wykorzystuje algorytm qsort (szybkiego sortowania).
Funkcja pozwala na zdefiniowanie procedury porównującej elementy.
Składnia
SortCustom2D(array[][], array_size, const comparefunc[], data[], data_size=0)
Typ
NatywnyNotatki
- array - tablica do posortowania, po wywołaniu funkcji zapisywany jest w niej wynik.
- array_size - ilość elementów w tablicy.
- comparefunc - nazwa publiczne funkcji, która będzie decydować o kolejności elementów.
- data - nasze dane przydatne podczas porównywania elementów.
- data_size - wielkość tablicy naszych danych.
Funkcja porównująca ma mieć postać:
public MySortFunc(const elem1[], const elem2[], const array[], const data[], data_size)
gdzie:
- elem1 - pierwszy element do porównania (tablica).
- elem2 - drugi element do porównania (tablica).
- array - pomniejsza tablica (powstała przy podziale qsort).
- data - nasze dane.
- data_size - wielkość tablicy z naszymi danymi.
O kolejności decyduje wartość zwrócona przez funkcję dla danych elementów
- -1 - elem1 idzie przed elem2.
- 0 - elem1 i elem2 są równe.
- 1 - elem1 idzie za elem2.
Przykład
// Niech myArray przechowuje informacje o ilości zabójstw i śmierci graczy.
new myArray[][] = {
{3, 5}
};
// Czyli jest tylko 1 gracz który zabił 3 osoby, a 5 razy zginął
public plugin_init() {
//Zabójstwa i śmierci
new myArray[][] = {
{3, 5},
{5, 3},
{5, 2},
{3, 1},
{7, 10}
};
new len = 5; // lub new len = sizeof(myArray);
SortCustom2D(myArray, len, "porownaj2D");
for(new i=0;
log_amx("%d, %d", myArray[i][0], myArray[i][1]);
}
}
/*
* Sortowanie malejące
*
* Nie używamy własnych danych, więc data[] i data_size nie są potrzebne
* podobnie jak array, więc lista parametrów skróciła się do 2
*/
public porownaj2D(const elem1[], const elem2[]){
if(elem1[0] == elem2[0]){
//gdy ilość zabójstw obu graczy jest równa
//o kolejności decyduje ilość śmierci
if(elem1[1] == elem2[1])
//no cóż, takie same staty
return 0;
else if(elem1[1] < elem2[1])
//zabił tyle samo przeciwników, lecz ginął rzadziej -> idzie przed
return -1;
//zabił tyle samo przeciwników, lecz ginął częściej
return 1;
}
else if(elem1[0] > elem2[0])
// zabił więcej przeciwników, więc idzie przed
return -1;
//zabił mniej przeciwników
return 1;
}
/*
Konsola
L 05/04/2010 - 17:56:08: [sort.amxx] 7, 10
L 05/04/2010 - 17:56:08: [sort.amxx] 5, 2
L 05/04/2010 - 17:56:08: [sort.amxx] 5, 3
L 05/04/2010 - 17:56:08: [sort.amxx] 3, 1
L 05/04/2010 - 17:56:08: [sort.amxx] 3, 5
*/Zakaz używania, kopiowania i innego wykorzystywania treści witryny oraz innych materiałów w niej zawartych bez zgody autorów. Wszelkie prawa zastrzeżone. © 2009-2025


Dodatki SourceMod


