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
 

AmD - zdjęcie

AmD

Rejestracja: 04.05.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.03.2011 18:45
-----

Moje tematy

Banowanie Adresu IP - czy to możliwe?

07.03.2011 19:36

Witam,

Mam Pytanie czy da się zablokować dostęp do bazy dla danego Adresu IP?
wiem że można ustawić prawa dostępu, jednak ja korzystam z % bo jak daje adresy IP to raz działa raz nie.
dokładnie chodzi mi o AmxBans, dla każdego serwera robię osobnego użytkownika do bazy, jednak ostatnio jeden z serwerów został sprzedany innej sieci (H@'owi nie chciało się go prowadzić a nam dać nie chciał), usunąłem ten serwer z bazy oraz usunąłem użytkownika bazy, jednak wygląda na to że użytkownik nadal działa, gdy chce zrobić go ponownie wyskakuje że dany użytkownik istnieje(jestem w 100% pewny że go nie ma) a sprzedający serwer nie usunął AmxBans z serwera...
Większość pewnie teraz zada pytanie "Ale O Co Chodzi ?"
Już wyjaśniam, serwer ciągle się dodaje do listy serwerów AmxBans co mnie denerwuje...
Administracja Hostingu nie odpowiada, nie wiem czemu, jednak jest to dziwne...

Trochę Lamerskie pytanie ale co mi tam :)

Pozdrawiam, Dariusz.

ranking gracza SQL

18.02.2011 00:09

Witam,

Robię ranking na swój serwer lecz zamiast pokazywać poprawnej wartości daje inna (jakby losową)...
przykład: moja wartość kolumny jest największa więc mój ranking powinien mieć 1, a mam 3 jak każdy...

Kod:

new count = 0

public Rank_SQL(id) {

new Data[1]
Data[0] = id

new szTemp[512]
format(szTemp,charsmax(szTemp),"SELECT COUNT(*) FROM amd_sklep WHERE `marzenia` > %d",marzenia[id])
SQL_ThreadQuery(g_SqlTuple,"Sql_Rank",szTemp,Data,1)

return PLUGIN_CONTINUE
}

public Sql_Rank(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) {
if(FailState){
log_amx("SQL Error: %s (%d)", Error, Errcode)
return PLUGIN_HANDLED
}

count = SQL_ReadResult(Query,0)
if(count == 0)
count = 1

return PLUGIN_HANDLED
}

wyświetlam ranking w hudmessage [ show_hudmessage(id, "Ranking Gracza %d", count) ]

Gdzie popełniłem błąd?
Pozdrawiam!

Sprawdzenie Czy gracz steam czy NS

08.02.2011 23:14

Witam!


mam problem z warunkiem sprawdzającym czy gracz jest steam czy NS, a mianowicie podczas łączenia się gracza powinno sprawdzić czy gracz ma rekord w bazie czy też nie, graczy steam sprawdza dobrze a dla NS raz działa raz nie...
Aktualnie mam tak:

public handle_load(FailState,Handle:Query,Error[],Errcode,Data[],DataSize){
if(FailState){
log_amx("SQL Error: %s (%d)", Error, Errcode)
return PLUGIN_HANDLED
}
new id = Data[0]
new PlayerName[32], args[32]
read_args(args, 31)
remove_quotes(args)
new steam[32]
get_user_authid(id, steam, sizeof steam - 1 )

if(SQL_MoreResults(Query) > 0)
{

PlayerXP[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"xp"))
PlayerLevel[id] = SQL_ReadResult(Query,SQL_FieldNameToNum(Query,"lvl"))

SkillPoints[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "sptk"))
PtkGraw[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "pgraw"))
PtkSpeed[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "pspeed"))
PtkFuria[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "pfuria"))
PtkFizyk[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "pfizyk"))
PtkCzar[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "pczar"))
PtkNc[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "pnc"))
marzenia[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "fbhy"))
gratz[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "gz"))
lpm[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "lpm"))
sprawdz_przejsca[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "s_prz"))
lpmt_os[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "lpmt_os"))
sprawdz_level[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "s_lvl"))
sprawdz_graw[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "s_graw"))
sprawdz_speed[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "s_speed"))
lpmtOS[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "lpmtos"))
os_scout[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "os_scout"))
os_scout_s[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "os_scout_s"))


new name[32]
get_user_name(id, name, 31)
log_to_file(sql_load, "Dane gracza ^"%s^" zostaly wczytane", name)

return PLUGIN_HANDLED
}
else
{
if(equal(PlayerName, "STEAM_ID_LAN") || strlen(steam) > 18){
get_user_name(id,PlayerName,charsmax(PlayerName));
}
else
{
get_user_authid(id,PlayerName,charsmax(PlayerName));
}

new cache[1024],pos

pos = formatex(cache, 1023, "INSERT INTO `fbh_xp` (sid, xp, lvl, sptk, pgraw, pspeed, pfuria, pfizyk, pczar, pnc, fbhy, gz, lpm, s_prz, lpmt_os, s_lvl, s_graw, s_speed, lpmtos, os_scout, os_scout_s) VALUES (");
pos += formatex(cache[pos], 1023 - pos, "'%s', '0', '0', '0', '0', '0', '0', '0', '0', '0',", PlayerName);
pos += formatex(cache[pos], 1023 - pos, " '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');");
log_to_file(sql_save, "Tworze Nowego Uzytkownika: %s", cache)
SQL_ThreadQuery(g_SqlTuple, "handle_save", cache)

return PLUGIN_HANDLED
}

return PLUGIN_HANDLED
}

próbowałem też sprawdzać czy gracz steam czy ns przez stock:

stock bool: is_user_steam(id)
{
static pcv_dp_r_id_provider;
pcv_dp_r_id_provider = get_cvar_pointer("dp_r_id_provider");
server_cmd("dp_clientinfo %d", id);
server_exec();

static uClient;
uClient = get_pcvar_num(pcv_dp_r_id_provider);

if ( uClient == 2)
return true;

return false;
}

lecz też nie działa...

Da się to naprawić?

Oraz jeszcze jedno pytanie:
Jak mogę zamienić znaki w nicku gracza tak by nie bugowały bazy (przykład " ' ", " " ", " \ ", itp)
myślałem by to zrobić tak:

replace_all(PlayerName,31,"^"^^^"","6")
replace_all(PlayerName,31,"*","8")
replace_all(PlayerName,31,":","0")
replace_all(PlayerName,31,"-","4")
replace_all(PlayerName,31,"=","5")
replace_all(PlayerName,31,">","7")
replace_all(PlayerName,31,"<","1")
replace_all(PlayerName,31,"?","3")
replace_all(PlayerName,31,"'","2")

ale albo nie działało, albo robiło podwójne rekordy w bazie...
Myślałem o SQL_QuoteString ale nie za bardzo wiem jak tym to zrobić...

Pozdrawiam!

Nie mogę wejść do Panelu Admina

30.01.2011 18:27

Witam!


Mam problem z GM 1.5, a mianowicie gdy chcę wejść do Panelu Admina wyskakuje błąd:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request

Administrator Hosta napisał do mnie:
serwer wywala 500 w momencie, gdy php zacznie naruszać ochronę pamięci, tzn. dana aplikacja/skrypt zjedzą maksimum ramu dla niej przydzielonego

Lecz za bardzo nie wyjaśnił mnie co mogę z tym zrobić...
Może wy wiecie jak rozwiązać ten problem?

Pozdrawiam!

Ustawienie Predkosci Gracza..

25.01.2011 22:18

Witam!


Mam problem z ustawieniem prędkości gracza, wydaje się mnie że wszystko jest dobrze lecz nie działa...

oto części Kodu które powinny się przydać:

tablice:

new bool:speed[33];
new const Float:gfCSSpeeds[]={
000.0,
250.0, 000.0, 260.0, 250.0, 240.0,
250.0, 250.0, 240.0, 250.0, 250.0,
250.0, 250.0, 210.0, 240.0, 240.0,
250.0, 250.0, 210.0, 250.0, 220.0,
230.0, 230.0, 250.0, 210.0, 250.0,
250.0, 235.0, 221.0, 250.0, 245.0
};


Event:
register_event("CurWeapon","CurWeapon","be")


Funkcja Dla Eventu[a?](a raczej jej część):

public CurWeapon(id){
new WeaponNum = read_data(2)

//new speedspr += get_user_maxspeed(id)

switch(speed[id])
{
case 0: set_user_maxspeed(id,gfCSSpeeds[WeaponNum] +1.0);
case 1: set_user_maxspeed(id,gfCSSpeeds[WeaponNum] +200.0);
}
// dalej juz inny kod


Funkcja Przyznająca Prędkość:


case 31: {
if(marzenia[id] <= s31){
ColorChat(id, GREEN, "[%s]^x01 Masz Za Malo Marzen :(", prefix);
}
else
{
if(bz[id])
{
marzenia[id] -= s31;
speed[id] = true
bz[id] = false;
ColorChat(id, GREEN, "[%s]^x01 Kupiles:^x03 Szybkie Bieganie", prefix);
if(!slot[id])
slot[id] = true
}
else
{
ColorChat(id, GREEN, "[%s]^x01 Juz To Kupiles :(", prefix);
}
}
menu_destroy(menu_stat);
SklepHookCT(id);
SaveXp(id);

return PLUGIN_HANDLED;
}


Coś jest źle?
ps. dodam że ustawiam sv_maxspeed na 1000


Pozdrawiam!