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
 

Zdjęcie

czytanie nicków z pliku textowego


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 wheypro

    Pomocny

  • Zbanowany

Reputacja: -25
Masakra

  • Postów:74
  • Lokalizacja:Zakaz podawania adresów stron w polu "Lokalizacja" itp.
Offline

Napisano 29.12.2012 21:47

Witam, widzialem podobne pytanie już na forum, lecz tam sprawa była inna gdyż chodziło o liczbę graczy , a ja mam takie pytanie i problem:
Chciałbym by w pliku mojego ftp znajdował się plik textowy o nazwie "gang"
W ów pliku są umiesczone nicki w rządku:

Freefrag
Yeti
Otoman



Chciałbym by teraz silnik gry widząc takowy nick wykonał na nim instrukcje np.
cs_set_user_health(id, 200)
set_user_model.....
itp

Thx za pomoc

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 01.01.2013 18:50

#include <amxmodx>
#include <fun>
#include <hamsandwich>

new Array:gangi;

public plugin_init(){
register_plugin("gang bonus", "0.1", "benio101");
RegisterHam(Ham_Spawn, "player", "spawned", 1);
}

public plugin_cfg(){
gangi=ArrayCreate();
new i=-1, len, gang[32];
while(read_file("addons/amxmodx/configs/gangi.ini", ++i, gang, 31, len)){
replace_all(gang, 31, " ", "");
replace_all(gang, 31, " ", "");
if(!equal(gang[0],";")){
ArrayPushString(gangi, gang);
}
}
}

public spawned(id){
if(is_user_alive(id)){
new name[32], n=ArraySize(gangi), gang[32];
get_user_name(id, name, 31);

for(new i=0; i<n; ++i){
ArrayGetString(gangi, i, gang, 31);
if(equal(gang, name)){
set_user_health(id, get_user_health(id)+100);
i=n;
}
}
}
}


#3 wheypro

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -25
Masakra

  • Postów:74
  • Lokalizacja:Zakaz podawania adresów stron w polu "Lokalizacja" itp.
Offline

Napisano 01.01.2013 20:01

niestety nie działa, sprawdzałem na dedyku

#4 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 01.01.2013 22:00

Zapomniałem, że używam zmodyfikowanej wersji dynamicznych tablic u siebie.
Poprawiłem, przetestowałem i śmiga.

Wersja, gdzie nick być identyczny wpisanemu w pliku config/gangi.ini
#include <amxmodx>
#include <fun>
#include <hamsandwich>

new Array:gangi;

public plugin_init(){
register_plugin("gang bonus", "0.1", "benio101");
RegisterHam(Ham_Spawn, "player", "spawned", 1);
}

public plugin_cfg(){
gangi=ArrayCreate(32, 16);
new i=-1, len, gang[32];
while(read_file("addons/amxmodx/configs/gangi.ini", ++i, gang, 31, len)){
replace_all(gang, 31, " ", "");
replace_all(gang, 31, " ", "");
if(!equal(gang[0],";")){
ArrayPushString(gangi, gang);
}
}
}

public spawned(id){
if(is_user_alive(id)){
new name[32], n=ArraySize(gangi), gang[32];
get_user_name(id, name, 31);

for(new i=0; i<n; ++i){
ArrayGetString(gangi, i, gang, 31);
if(equal(gang, name)){
set_user_health(id, get_user_health(id)+100);
i=n;
}
}
}
}


Wersja j.w. ale bez rozróżniania wielkości liter:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

new Array:gangi;

public plugin_init(){
register_plugin("gang bonus", "0.1", "benio101");
RegisterHam(Ham_Spawn, "player", "spawned", 1);
}

public plugin_cfg(){
gangi=ArrayCreate(32, 16);
new i=-1, len, gang[32];
while(read_file("addons/amxmodx/configs/gangi.ini", ++i, gang, 31, len)){
replace_all(gang, 31, " ", "");
replace_all(gang, 31, " ", "");
if(!equal(gang[0],";")){
ArrayPushString(gangi, gang);
}
}
}

public spawned(id){
if(is_user_alive(id)){
new name[32], n=ArraySize(gangi), gang[32];
get_user_name(id, name, 31);

for(new i=0; i<n; ++i){
ArrayGetString(gangi, i, gang, 31);
if(equali(gang, name)){
set_user_health(id, get_user_health(id)+100);
i=n;
}
}
}
}


Wersja, gdzie wystarczy, że nick zawiera podany fragment:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

new Array:gangi;

public plugin_init(){
register_plugin("gang bonus", "0.1", "benio101");
RegisterHam(Ham_Spawn, "player", "spawned", 1);
}

public plugin_cfg(){
gangi=ArrayCreate(32, 16);
new i=-1, len, gang[32];
while(read_file("addons/amxmodx/configs/gangi.ini", ++i, gang, 31, len)){
replace_all(gang, 31, " ", "");
replace_all(gang, 31, " ", "");
if(!equal(gang[0],";")){
ArrayPushString(gangi, gang);
}
}
}

public spawned(id){
if(is_user_alive(id)){
new name[32], n=ArraySize(gangi), gang[32];
get_user_name(id, name, 31);

for(new i=0; i<n; ++i){
ArrayGetString(gangi, i, gang, 31);
if(contain(name, gang)){
set_user_health(id, get_user_health(id)+100);
i=n;
}
}
}
}


Wersja j.w. ale bez rozróżniania wielkości liter:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

new Array:gangi;

public plugin_init(){
register_plugin("gang bonus", "0.1", "benio101");
RegisterHam(Ham_Spawn, "player", "spawned", 1);
}

public plugin_cfg(){
gangi=ArrayCreate(32, 16);
new i=-1, len, gang[32];
while(read_file("addons/amxmodx/configs/gangi.ini", ++i, gang, 31, len)){
replace_all(gang, 31, " ", "");
replace_all(gang, 31, " ", "");
if(!equal(gang[0],";")){
ArrayPushString(gangi, gang);
}
}
}

public spawned(id){
if(is_user_alive(id)){
new name[32], n=ArraySize(gangi), gang[32];
get_user_name(id, name, 31);

for(new i=0; i<n; ++i){
ArrayGetString(gangi, i, gang, 31);
if(containi(name, gang)){
set_user_health(id, get_user_health(id)+100);
i=n;
}
}
}
}

(01.01.2013 22:04):
U mnie mam
ArrayCreate(128, 1)

Zapomniałem o tym ;>
(01.01.2013 22:05):
btw. U siebie też jednak to zmieniłem na domyślne, żeby mi się nie myliło.

Użytkownik benio101 edytował ten post 01.01.2013 22:02
lit.


#5 wheypro

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -25
Masakra

  • Postów:74
  • Lokalizacja:Zakaz podawania adresów stron w polu "Lokalizacja" itp.
Offline

Napisano 02.01.2013 11:46

Facet.....jesteś niesamowity, wszyscy mi mówili ( w tym naxe) że to godziny roboty, cuda bajki...minimum 300 linijek kodu a Ty chop siup i śmiga. Czy jeszcze mógłbyś dodać takie coś że przy nicku jest [Gang Rumperta]?? Założmy ze miałbym 10 takich pluginów, rzecz jasna z inną nazwą pliku .ini no i w nich po 10 osób . Czy to by obciążało silnik??....i tk już mam problemy z reliable channel overflood. W tych gangach byłoby tylko: inny model i ta dopiska do nicku




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych