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
Nomaf
Rejestracja: 07.04.2011Aktualnie: Nieaktywny
Poza forum Ostatnio: 14.09.2011 19:29




Statystyki
- Grupa: Użytkownik
- Całość postów: 344
- Odwiedzin: 12 621
- Tytuł: Wszechpomocny
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
Mateusz
-
Płeć
Mężczyzna
-
Lokalizacja
Polska
157
Profesjonalista
Narzędzia użytkownika
Ostatnio byli
Moje tematy
[JS|AJAX] BBCode jak tu na forum
06.09.2011 22:41
Szukam jakiegoś skryptu na natychmiastowe wyświetlania bbcode, tak jak tu, np. daje obrazek i widzę go w poście.
[COD] Exp na dzieńdobry ;)
29.08.2011 20:07

Plugin daje exp osobie, która dołączy do serwera jako któraś osoba. Można też ustawić, że, np. co 4 osoba zyskuje expa przy połączeniu z serwerem.
Plugin zapamiętuje nick gracza przy rozłączeniu, więc przy ponownym połączeniu się nie dostaje expa.

Cvary wklejamy do pliku codmod.cfg
cod_hello_mode 1 // tryb działania pluginu: 0 - wyłączony, 1 daje exp co x osob, 2 - daje jednej osobie cod_hello_who 4 // co ktora osoba ma dostać exp? cod_hello_info 2 // czy ma być wyświetlane info o zdobyciu expa? 0 - nie, 1 - zwykla wiadomosc na czacie, 2 - kolorowa wiadomosc na czacie cod_hello_exp 5 // ilosc dodawanego expa

cod_helloexp.sma 2,16 KB 385 Ilość pobrań
cod_helloexp.amxx
cod_helloexp.amxx 5,72 KB 87 Ilość pobrańnfVault - dodatkowa funkcja - problem
27.08.2011 21:54
Witam, otóż do własnych celów potrzebuję funkcji do tegoż includu. Mianowicie chodzi o znajdowanie klucza w pliku.
Zrobiłem coś takiego:
Jeżeli ktoś nie zna tego, to powiem, że klucz znajduje się w pliku tekstowym i rozpoczyna się od identifier'a w tym przypadku - ;
Zrobiłem coś takiego:
stock nfv_get_key(const filename[], const identifier=';', phrase[], output[], len)
{
if( !file_exists(filename) )
return 0;
new f = fopen(filename, "rt");
new _data[512];
while( !feof(f) )
{
fgets(f, _data, charsmax(_data));
if( _data[0] == identifier && equal( phrase, _data ) )
{
format( output, len, "%s", _data);
break;
}
}
fclose(f)
return 0;
} Jeżeli ktoś nie zna tego, to powiem, że klucz znajduje się w pliku tekstowym i rozpoczyna się od identifier'a w tym przypadku - ;
Deathmatch 2.1.4
20.08.2011 20:01

Każdy zna Deathmatcha'a więc opis zbędny. Autorespawn + 2 możliwości - Team Deathmatch lub Deathmatch. Jak zmienić? To będzie w cvarach. Konfiguracja jest bardzo łatwa.
Wymagania:
- Metamod 1.8.7 lub wyżej
- SourceMod 1.3.8 lub wyżej

Podstawowe.

Standardowa.

// Czy CS:S DM ma byc wlaczony? // -- // Domyslnie: "1" cssdm_enabled "1" // Czy tryb FFA (kazdy na kazdego) ma byc wlaczony? // W tym trybie dostaje sie punkty za zabicie swojego. // -- // Domyslnie: "0" cssdm_ffa_enabled "0" // Wybor miejsca odrodzenia. // "none" -- Odrodzenie w normalnym miejscu, tam gdzie zawsze. // "preset" -- Odrodzenie w losowym punkcie z pliku odrodzen mapy. // -- // Domyslnie: "preset" cssdm_spawn_method "preset" // Number of seconds to wait before deleting a ragdoll. // If 0, ragdoll will be deleted instantly. // If >=20, ragdoll will never be deleted. // -- // Default: "2" cssdm_ragdoll_time "2" // Czas w sekundach do odrodzenia gracza. // -- // Domyslnie: "0.75" cssdm_respawn_wait "0.75" // Czy C4 powinno byc dozwolone? Jezeli nie, to // zostanie usuniete pole do podkladania oraz // z graczy przy odrodzeniu. // -- // Domyslnie: "0" cssdm_allow_c4 "0" // Czy plugin z ekwipunkiem ma byc wlaczony? // -- // Wymaga: dm_equipment.smx // Domyslnie: "1" cssdm_enable_equipment "1" // Czy ma byc wlaczona ochrona punktu odrodzenia? // -- // Wymaga: sm_spawn_protection.smx // Domyslnie: "1" cssdm_spawn_protection "1" // Czas ochrony po odrodzeniu w sekundach, jezeli // ochrona jest wlaczona. // -- // Wymaga: sm_spawn_protection.smx // Domyslnie: "2" cssdm_prot_time "2" // Kolor obwodki wokol Anty-Terrorysty, gdy ma ochrone. // Format koloru: "r g b a" (glebia czerwieni, glebia zieleni, glebia blekitu, przezroczystosc) // -- // Wymaga: sm_spawn_protection.smx // Domyslnie: "0 0 255 50" cssdm_prot_ctcolor "0 0 255 128" // Kolor obwodki wokol Terrorysty, gdy ma ochrone. // Format koloru: "r g b a" (glebia czerwieni, glebia zieleni, glebia blekitu, przezroczystosc) // -- // Wymaga: sm_spawn_protection.smx // Domyslnie: "255 0 0 50" cssdm_prot_tcolor "255 0 0 128" // Pozwol graczowi uzywac komendy "respawn" // Notka: komenda nie pozwala na odrodzenie przed czasem: // cssdm_respawn_wait. // -- // Wymaga: dm_basics.smx // Domyslnie: "1" cssdm_respawn_command "1" // Czy plugin ma wymuszac wybor mapy. // Użyteczne tylko dla uzytkownikow Stripper:Source. // -- // Wymaga: dm_basics.smx // Domyslnie: "0" cssdm_force_mapchanges "0" // Wybor pliku z mapami. // Potrzebne tylko jesli jest wlaczony: cssdm_force_mapchanges. // -- // Wymaga: dm_basics.smx // Domyslnie: "mapcycle.txt" cssdm_mapchange_file "mapcycle.txt" // Czy amunicja ma byc automatycznie uzupelniana? // -- // Wymaga: dm_basics.smx // Domyslnie: "1" cssdm_refill_ammo "1" // Ile botow ma byc w grze. Uzyj tego w // w bot_quota, aby zarzadzac botami. // bot_quota - wartosc powinna wynosic "0" // bot_quota_mode - "normal" // bot_auto_vacate - "0" // -- // Wymaga: dm_bot_quotas.smx // Domyslnie: "0" cssdm_bots_balance "0" // Eksperymentalnyy cvar, ktory chorni przed wyrzucaniem przedmiotow. // Rekomendowany dla tych, ktorzy nie chca, aby na ziemi lezalo // duzo broni i zeby nie lagowalo zarowno serwera jak i klienta. // -- // Domyslnie: "1" cssdm_remove_drops "1"

Do konfiguracji w folderze /cfg/ mamy plik: cssdm.equip.txt. Jest tam też: cssdm.weapons.txt, ale jego nie wolno edytować!
Dodatkowo możemy tworzyć spawny tworząc nowy plik tekstowy w folderze /cfg/spawns/ o nazwie mapy, a w treści wypisujemy punkty.
Zawartość pliku cssdm.equip:
"Equipment"
{
"Settings"
{
// Pozwol graczowi na wpisanie "guns" aby odblokowac menu.
// Jest to zablokowane, gdy menu jest niewyswietlone
//
"guns_command" "yes"
}
//
// Odblokowywanie i blokowanie menu.
// Dla przykladu, dla menu z glownymi i pobocznymi broniami, mozesz uzyc:
// "no" - Kompletnie blokuje menu
// "yes" - Odblokowuje menu
// "random" - Losowa bron z menu dla gracza
//
"Menus"
{
// Menu glownych broni
"primary" "yes"
// Menu pobocznych broni
"secondary" "yes"
// Normalne menu kupywania z CS:S
// Jeżeli jest odblokowane, to menu z ekwipunkiem zostanie zablokowane
"buy" "no"
}
//
// Domyslne wartosci na poczatku rundy
//
"AutoItems"
{
// Domyslna wartosc zycia (0 - domyslna wartosc z gry lub innego pluginu)
"health" "100"
// Domyslna wartosc kamizelki
"armor" "100"
// Czy dawac helm?. Jezeli chcesz calkowicie zablokowac menu,
// wpisz tu "no" i dla pancerza "0"
"helmet" "yes"
// Ilosc granatow oslepiajacych
"flashbangs" "0"
// Czy dawac granat dymny?
"smokegrenade" "no"
// Czy dawac granat wybuchowy?
"hegrenade" "no"
// Czy dawac kombinerki anty-terrorystom?
"defusekits" "yes"
// Czy dawac noktowizor?
"nightvision" "yes"
}
//
// Przedmioty z listy ponizej beda automatycznie dawane botom.
// Jezeli istnieja bronie z roznych kategorii (glownej/pobocznej),
// to bedzie dawane przedmiot z jednej kategorii. Jezeli jedna bron
// bedzie dawana wiele razy, to zwieksza sie szansa, ze bedzie wybrana.
// Nie moze byc tu wiecej niz 32 bronie.
//
"BotItems"
{
"weapon" "ak47"
"weapon" "m4a1"
"weapon" "awp"
"weapon" "galil"
"weapon" "aug"
"weapon" "deagle"
"health" "100"
"armor" "100"
"helmet" "yes"
"flashbangs" "0"
"smokegrenade" "no"
"hegrenade" "no"
"defusekits" "yes"
}
//
// Jezeli nie bedzie tu ani jednej broni, to menu bedzie pominiete.
// Jezeli bedzie tu tylko jedna bron, to menu rowniez bedzie
// pominiete, a gracz otrzyma ta bron.
//
"SecondaryMenu"
{
"weapon" "usp"
"weapon" "glock"
"weapon" "deagle"
"weapon" "p228"
"weapon" "elite"
"weapon" "fiveseven"
}
//
// Jezeli nie bedzie tu ani jednej broni, to menu bedzie pominiete.
// Jezeli bedzie tu tylko jedna bron, to menu rowniez bedzie
// pominiete, a gracz otrzyma ta bron.
//
"PrimaryMenu"
{
"weapon" "m4a1"
"weapon" "ak47"
"weapon" "awp"
"weapon" "scout"
"weapon" "sg552"
"weapon" "galil"
"weapon" "famas"
"weapon" "sg550"
"weapon" "aug"
"weapon" "m249"
"weapon" "g3sg1"
"weapon" "ump45"
"weapon" "mp5navy"
"weapon" "m3"
"weapon" "xm1014"
"weapon" "tmp"
"weapon" "mac10"
"weapon" "p90"
}
}

Windows:
cssdm-2.1.4.zip 197,81 KB 2266 Ilość pobrańLinux:
cssdm-2.1.4-linux.zip 217,55 KB 1634 Ilość pobrańSDKHooks 2.0.0
20.08.2011 12:22
SDKHooks

SDKHooks to biblioteka z bardzo dobrymi funkcjami, umożliwiającymi o wiele lepsze pisanie pluginów. Praktycznie każda większa modyfikacja wymaga SDKHooks to działania, więc warto zawczasu wyposażyć się w te potężne narzędzie skryptera. Jest ono dostępne dla Windows'a i Linux'a oraz Mac'a, ale jego nie będę wrzucał, bo i tak nikt nie zakłada na tym serwerów

Zawartość archiwum wrzucamy do /nazwa_gry/.

Aby skorzystać z biblioteki, należy na początku pluginu dać:
#include <sdkhooks>
Podstawowy hook (możemy go wpisać praktycznie, gdzie chcemy):
SDKHook(entity, SDKHookType:type, SDKHookCB:callback)
1 parametr to byt (id, index, client, ent, entity czy co tam wymyślimy)
2 parametr to typ hook'a. Dostępne są:
Spoiler
SDKHook_EndTouch, SDKHook_FireBulletsPost, SDKHook_OnTakeDamage, SDKHook_OnTakeDamagePost, SDKHook_PreThink, SDKHook_PostThink, SDKHook_SetTransmit, SDKHook_Spawn, SDKHook_StartTouch, SDKHook_Think, SDKHook_Touch, SDKHook_TraceAttack, SDKHook_TraceAttackPost, SDKHook_WeaponCanSwitchTo, SDKHook_WeaponCanUse, SDKHook_WeaponDrop, SDKHook_WeaponEquip, SDKHook_WeaponSwitch, SDKHook_ShouldCollide, SDKHook_PreThinkPost, SDKHook_PostThinkPost, SDKHook_ThinkPost, SDKHook_EndTouchPost, SDKHook_GroundEntChangedPost, SDKHook_SpawnPost, SDKHook_StartTouchPost, SDKHook_TouchPost, SDKHook_VPhysicsUpdate, SDKHook_VPhysicsUpdatePost, SDKHook_WeaponCanSwitchToPost, SDKHook_WeaponCanUsePost, SDKHook_WeaponDropPost, SDKHook_WeaponEquipPost, SDKHook_WeaponSwitchPost, SDKHook_Use, SDKHook_UsePost
3 parametr to natomiast nazwa funkcji, która będzie się wykonywała przy hook'u. Możliwości:
Spoiler
// PreThink/Post // PostThink/Post public(client), // GroundEntChanged // Spawn/Post // Think/Post // VPhysicsUpdate/Post public(entity), // EndTouch // StartTouch // Touch Action:public(entity, other), // EndTouchPost // StartTouchPost // TouchPost public(entity, other), // SetTransmit Action:public(entity, client), // WeaponCanSwitchTo // WeaponCanUse // WeaponDrop // WeaponEquip // WeaponSwitch Action:public(client, weapon), // WeaponCanSwitchToPost // WeaponCanUsePost // WeaponDropPost // WeaponEquipPost // WeaponSwitchPost public(client, weapon), // OnTakeDamage // Note: Force application is dependent on game and damage type(s) Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype), Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3]), // OnTakeDamagePost public(victim, attacker, inflictor, Float:damage, damagetype), public(victim, attacker, inflictor, Float:damage, damagetype, weapon, const Float:damageForce[3], const Float:damagePosition[3]), // FireBulletsPost public(client, shots, const String:weaponname[]), // TraceAttack Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotype, hitbox, hitgroup), // TraceAttackPost public(victim, attacker, inflictor, Float:damage, damagetype, ammotype, hitbox, hitgroup), // ShouldCollide bool:public(entity, collisiongroup, contentsmask, bool:originalResult), // Use Action:public(entity, activator, caller, UseType:type, Float:value), // UsePost public(entity, activator, caller, UseType:type, Float:value)
Przykładowy kod (zwiększa ilość hp o 1 po zadaniu obrażeń):
public OnClientPutInServer(client)
{
SDKHook(client, SDKHook_OnTakeDamagePost, OnTakeDamagePost);
}
public OnTakeDamagePost(victim, attacker, inflictor, Float:damage, damagetype)
{
SetUserHealth(attacker, GetUserHealth(attacker) + 1)
return Plugin_Changed
}

Windows:
sdkhooks-2.0.0-hg127-windows.zip 732,85 KB 399 Ilość pobrańLinux:
sdkhooks-2.0.0-hg127-linux.tar.gz 523,11 KB 376 Ilość pobrańPoradnik stworzony przez: Nomaf dla AMXX.pl - Support AMX Mod X
Kopiowanie bez mojej zgody jest zakazane!
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Tematy: Nomaf
- Regulamin


Dodatki SourceMod



Moja zawartość