-
Postów
184 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
20
Odpowiedzi opublikowane przez n.o.x
-
-
Akurat "ruscy" mają bardzo jakościowy i wydajny kod, level ranks też dzialało okej, jesli reszta Twoich "optymalnych" pluginów zżera całe CPU to nie narzekaj na rangi, których prawdopodobnie sam byś nie napisał ?
- 2
- 1
-
18 minut temu, pcku napisał:
Nie bardzo xDD
Zależy kto co ma w głowię, ktoś kto ceni sobię swoją pracę i wie jak to wygląda, poszedł by na to bezproblemowo, z drugiej strony, kto jak woli.. Błąd i tak zostanie usunięty, a praca www sklepu jest zatrzymana.
-
2 minuty temu, GoldeneK napisał:
kiedy www już stało, sklep nigdy nie był na użytek więcej niż jednej sieci..
-
Jest jakieś powiązanie między tymi kontami?
Czemu byłeś zamieszany w większość spraw, w których "ktoś" obrabiał mi dupę?
Zbyt dużo sytuacji, żeby można było mówić wgl o jakiś relacjach..
Szkoda tylko, że każdy potrafi jedynie obrabiać komuś dupę, całkiem możliwe, że sklep posiada luki w zabezpieczeniach, nie jestem robotem i każdy robi błędy, a kiedy www już stało, sklep nigdy nie był na użytek więcej niż jednej sieci..
Przeglądam cały kod i pracuję nad fixem, tak więc praca sklepu zostaje wstrzymana do momentu znalezienia podatności.
-
Zaraz, zaraz.. Grono osób, które zakupiły sklep jest bardzo wąskie, ewentualne błędy są naprawiane w okresie od paru godzin do 3 dni.
Każdy kto kiedykolwiek zakupił coś u mnie, ma support wieczny, i nie odstąpiłem od tego nigdy.
Jeśli chodzi o exploit, życzę powodzonka.
@pcku Śmiesznie, że pisałeś do osób, które zakupiły mój sklep, po czym, kiedy się o tym dowiedziałem, po chwili usunąłeś mnie ze steam, damn..
Jestem ciekaw Twojego powiązania z cała sprawą.
- 2
-
Witam, plugin nie działa od pamiętnego update cs go, w którym zablokowano możliwość korzystania z MOTD.
-
Mnie też już nic nie zdziwi, oczywiście skrypt useless z racji tego, że w moim sklepie nie ma backdoor'ów, jedyne jakie kiedyś były, to te, ze starej wersji sklepu, która znajdowała się jedynie na mojej sieci.
Oczywiście z racji tego, że @GoldeneK wepcha nos wszędzie, dekompilował wszystko do czego tylko miał dostęp, po czym kod rezolutnie podpinał pod swoje pracę ;).
Nie będę snuł bezpodstawnych oskarżeń, jestem w stanie powiedzieć tylko, że dziś już społeczeństwo to taka cebula... Odechciewa się robić czegokolwiek dla tego community, po 4 latach w tym gównie, ostatnie dwa to szerząca się obłuda i kradzież, zero szacunku dla autora.. Pozostaje mi życzyć szczęśliwego nowego roku, oby garstka ludzi, tego typu przyjęła do siebie pare wartości, za które (cenzura) będzie przez spory czas. Powodzonka!
Pozderki, nox.
-
-
Sprawdź poprawność protokołu
-
Wygląda na to, że domena wygasła i biznes się skończył :x
-
W dniu 17.09.2018 o 20:54, GoldeneK napisał:
Np w aplikacjach typu Sklepsms gdzie trzeba wejść w przeglądarkę aby zapłacić np psc to steambot wysyła zaproszenie i plugin po zaakceptowaniu wiadomości zleca wysłanie url np przez własny url shortner
Widzę, że spodobał Ci się mój pomysł :). Działanie 1:1 ?
-
Dnia 13.03.2018 o 20:48, GoldeneK napisał:
a i btw. system jest tak zabezpieczony że nawet morda team by nie wykradło danych z db/api/ftp ingerencja nieuprawnionej osoby = blokada na ip
LucQy się już nie bawi więc no nie ma strachu, ale jakie zabezpieczenia wchodzą w grę? DB/API/FTP?
System automatycznie wykrywa nieautoryzowane wejście i blokuje niepożądane osoby przez ich IP?
Możesz troszkę rozjaśnić? (Nie, to nie jest próba ataku, a rozwinięcie myśli).
-
Przepraszam za zwłokę, niżej info. (Nie mogę edytować tematu)
Demo Website: http://ashop.noxsp.pl
Demo PA: http://ashop.noxsp.pl/admin/
Dane logowania do PA: admin & password
Screeny (Server-Site):
- 2
-
1 godzinę temu, Qesik napisał:
Kiedy pojawi się demo?
12 godzin temu, n.o.x napisał:- Demo PA: Jutro
- Demo Website: Jutro
- Screeny: Jutro
-
9 godzin temu, GoldeneK napisał:
Widziałem, nazwijmy to "przetestowałem" oraz polecam.
Może mi aż tak design nie przypadł do gustu chodź uwielbiam jak jest kolorowo to i tak sklep sztos.
Generalnie +++ warto zainwestować.
| Edit: nie wiem czy ja czegoś nie rozumiem czy o co biega AShop - Sklep Automatyczny dla serwerów SOURCEMOD i nie tylko a jakie jeszcze serwery?
Nie serwery, możliwości. Możliwa jest np. Sprzedaż usług typu VIP na forum.
-
Czym jest AShop?
AShop jest sklepem automatycznym, pozwalającym na sprzedaż usług na serwerach wykorzystujących rozszerzenie Sourcemod.
Sklep jest rozbudowany w wysokim stopniu, pozwala na kupienie usługi bezpośrednio na serwerze (sms/psc), korzystając z interfejsu użytkownika.
Przy tworzeniu sklepu dbałem o komfort jego użytkowania, poziom zabezpieczeń jak i stworzyłem dosyć obszerne API dla developerów, którzy chcieli by powiązać pracę sklepu z innymi funkcjami serwera.
Panel Administracyjny zawiera wszelkie potrzebne opcje, jestem pewien, że wystarczające na administrowanie oraz monitorowanie postępów dochodowych serwera jak i całej sieci serwerów.
Metody płatności
Aktualne metody płatności obsługiwane przez sklep to:
- 1Shot1Kill
- Pukawka
- Hostplay
- CSSetti
- Przelewy24
- Przelewy24 (PSC)
Z implementacją nowych metod płatności nie będzie problemu, jestem otwarty również na propozycje dotyczące sklepu.
Monitorowanie postępów dochodowych
W sklepie dostępne są statystyki typu:
- Przychód miesięczny
- Przychód ogólny
- Zakupione usługi (miesiąc)
- Zakupione usługi (ogółem)
- Wysłane sms
- Użytkownicy
- Wykres warstwowy dochodów z danego miesiąca
- Statystyki sprzedaży miesięcznej - Progressbary pierścieniowe przedstawiają postęp w osiąganiu celów (przychód, sprzedane usługi oraz wysłane sms), których wartości można zmienić w ustawieniach
- Statystyki na tle poprzedniego miesiąca - To samo co wyżej, z tym, że progressbary lniowe
- Wykres kołowy najczęściej kupowanych usług
- Wykres kołowy przedstawiający serwery wg. największego zbytu
- Każda statystyka może być przedstawiona wg. Wybranego serwera lub ogólnie
Możliwości sklepu
Ustawienia & Metody płatności
- Możliwość personalizacji sklepu poprzez dynamiczne ustawienia
- Możliwość dodawania wielu tych samych metod płatności (np. W sytuacji, kiedy właściciel serwera nr.1 posiada taką samą metodę płatności jak właściciel serwera nr.2)
Usługi
- Możliwość ustawienia innego opisu usługi (server site/website)
- Możliwość ustawienia własnego sufixu usługi (dni/fajki/monety itd..)
-
Trzy typy usług:
- Flagi
- Zapytanie mysql - Pozwalające np. zakup VIP'a na forum.
- Inne (Bazujące na API) - Opcja dla developerów, pozwala na tworzenie własnych usług, przy których kupnie oraz bycie jest wykonywana akcja określona zamysłem developera (np. Sprzedaż waluty serwerowej)
- Możliwość ustawienia kolejności wyświetlania usług
Usługi użytkowników
- Możliwość dodawania użytkownikowi tej samej usługi na wielu serwerach jednocześnie
- Progressbar wyświetlający status graficzny usługi użytkownika
Cennik
- Cena usługi może być inna na każdym serwerze
- Taryfy są dodawane przez użytkownika, tak więc każda nieprawidłowość ze strony hostingu, oferującego swoje API może być poprawiona.
Użytkownicy
- Możliwość dodawania użytkowników bezpośrednio przez panel
- Możliwość edytowania danych oraz stanu potrfela użytkownika
- Wszystkie hasła są ukryte, administrator nie ma w nie wglądu, może je jedynie zmienić.
- Edytując swój profil lub profil innego administratora wymagane jest wpisanie hasła
- Użytkownika można przypisać do grupy (W następnej aktualizacji sklepu dodane zostaną usługi dla określonych grup)
- Uprawnienia użytkownika są zależne od grupy, w której się znajduje
Logi Administracyjne
- Kupione usługi
- Płatności SMS
- Płatności PaySafeCard
- Płatności Portfelem
- Działania Administracyjne
Inne
- Rejestracja odbywa się poprzez serwer (wszystko szyfrowane) aby uniknąć problemu powiązania z kontem steam, oraz z racji interfejsu użytkownika od strony serwera,
- Każdy użytkownik posiada wirtualny portfel, który można doładować poprzez serwer lub stronę,
- Gotowe przykłady implementacji API dla developerów,
- Powiadomienia o błędach w konfiguracji sklepu/problemów ze sklepem wywołanych błędami API
-
Opisane kody błędów, zwracane użytkownikom i Administratorom
Prezentacja sklepu
- Demo PA: Jutro
- Demo Website: Jutro
-
Screeny: Jutro
Kontakt & informacje dodatkowe
Kontakt poprzez:
- Steam - https://steamcommunity.com/id/noxuuu
- PW
- http://noxsp.pl
- GG: 51083770
Cena: Do negocjacji
Płatność: PayPal/Przelew
Pozderki, n.o.x.
- 4
-
-
-
To chyba oczywiste, tutaj też wykorzystujesz te rękawiczki, z tym, że nie dajesz możliwości ich wyboru..
-
18 minut temu, xBonio | AS napisał:
Zrobienie takiego serwera to jest dosłownie 30min jak nie mniej. Za co Ty chcesz 80zl? XD
Serwer przedłużony na rok czy co xd
80 zł to 2 miesiące, jeśli nie jesteś zainteresowany to nie rób spamu w temacie bo żaden z Twoich serwerów (poza dr klasy, który ma potencjał) nie jest wart więcej..
- 1
-
2 godziny temu, xBonio | AS napisał:
Jest podobny, nawet bardzo (przynajmniej nowa deklaracja), no ale się różni się
Deklaracja to nadanie zmiennej wartości początkowej. Chodziło Ci raczej o składnie..
Trzymaj parę linków, nie korzystałem to nie mam pewności, ale wygląda na dobrze opisane i przyjazne dla oka.
https://wiki.alliedmods.net/Introduction_to_SourcePawn
https://wiki.alliedmods.net/Introduction_to_SourceMod_Plugins
-
Niezła kopia (bynajmniej wygląd i interfejs).
-
Twój obecny plugin nie ma w swoim kodzie nic co czyniło by bronie niewidzialnymi.. Porównaj sobie oba źródła i domyśl się czego brakuje (bazując również na poprzednim temacie).
-
wykryj również inne nazwy noża typu: weapon_bayonet itd, powinno działać.
[JUNK CODE] Diablo Mod
w Pluginy
Opublikowano · Edytowane przez n.o.x
Witam.
Jako, że mam sporo projektów, które leżą i się marnują, postanowiłem zrobić z nich użytek, ponieważ i tak ich nie będę reaktywował ani rozwijał..
W związku z tym w wolnych chwilach postaram się wrzucić "co nieco", bierzcie i jedzcie z tego więc, ponieważ noksik ma dobre serduszko..
Na pierwszy ogień leci "legendarny" DiabloMod, o którym nieliczna część osób słyszała, swego czasu był on moją perełką, która i tak nie miała ujrzeć światła dziennego, programowanie jak i kodowanie w sm to moje hobby, więc dobrze się bawiłem pisząc kod właśnie tej modyfikacji.Od razu zastrzegam, kod może nie być kompletny, nie wiem w którym momencie skończyłem przebudowę diablo, daję go więc jako kod do zabawy.
Króciutki opis niżej, nie chce mi się rozpisywać, zobaczycie sami przeglądając kod..
-> System podzielony na moduły, odpowiednio:
-> System skillów
Tutaj można się rozpisywać, lecz nie trzeba, przy deklaracji nowej klasy możemy nadać jej skila, który jest ładowany na nożu. Naładowany skill może być potem użyty, tyle w temacie.
-> Statystyki
-> Natywy + Forwardy (powiedzą więcej niż mój skrromny opis)
native void DBM_RegisterItem(const char[] name, const char[] desc, int from = 0, int _to = 0);
native int DBM_GetItem(int client);
native void DBM_SetItem(int client, int ItemId);
native int DBM_GetItemChance(int client);
native int DBM_GetItemID(const char[] name);
native int DBM_GetItemCount();
native void DBM_GetItemName(int ItemId, const char[] _buffer, int MaxLeng);
native void DBM_GetItemDesc(int ItemId, const char[] _buffer, int MaxLeng);
forward void DBM_OnItemEnabled(int client, ItemID id);
forward void DBM_OnItemDisabled(int client, ItemID id);
forward void DBM_OnClientUseItem(int client, ItemID id);
/**
* ----------------------------------------
* RuneS
* ----------------------------------------
*/
native void DBM_RegisterRune(const char[] name, const char[] desc, int from = 0, int _to = 0);
native int DBM_GetRune(int client);
native void DBM_SetRune(int client, int ItemId);
native int DBM_GetRuneID(const char[] name);
native int DBM_GetRunesCount();
native void DBM_GetRuneName(int RuneId, const char[] _buffer, int MaxLeng);
native void DBM_GetRuneDesc(int RuneId, const char[] _buffer, int MaxLeng);
forward void DBM_OnRuneEnabled(int client, ItemID id);
forward void DBM_OnRuneDisabled(int client, ItemID id);
/**
* ----------------------------------------
* Stats
* ----------------------------------------
*/
native int DBM_GetPoints(int client);
native void DBM_SetPoints(int client, int value);
native void DBM_AddPoints(int client, int value);
native int DBM_GetInt(int client);
native void DBM_SetInt(int client, int value);
native void DBM_AddInt(int client, int value);
native int DBM_GetStrength(int client);
native void DBM_SetStrength(int client, int value);
native void DBM_AddStrength(int client, int value);
native int DBM_GetDex(int client);
native void DBM_SetDex(int client, int value);
native void DBM_AddDex(int client, int value);
native int DBM_GetAglity(int client);
native void DBM_SetAglity(int client, int value);
native void DBM_AddAglity(int client, int value);
native int DBM_GetAdrenaline(int client);
native void DBM_SetAdrenaline(int client, int value);
native void DBM_AddAdrenaline(int client, int value);
native int DBM_GetIntBonus(int client);
native void DBM_SetIntBonus(int client, int value);
native void DBM_AddIntBonus(int client, int value);
native int DBM_GetStrengthBonus(int client);
native void DBM_SetStrengthBonus(int client, int value);
native void DBM_AddStrengthBonus(int client, int value);
native int DBM_GetDexBonus(int client);
native void DBM_SetDexBonus(int client, int value);
native void DBM_AddDexBonus(int client, int value);
native int DBM_GetAglityBonus(int client);
native void DBM_SetAglityBonus(int client, int value);
native void DBM_AddAglityBonus(int client, int value);
native int DBM_GetAdrenalineBonus(int client);
native void DBM_SetAdrenalineBonus(int client, int value);
native void DBM_AddAdrenalineBonus(int client, int value);
/**
* ----------------------------------------
* lvl/exp
* ----------------------------------------
*/
native int DBM_GetExp(int client);
native void DBM_SetExp(int client, int value);
native void DBM_AddExp(int client, int value);
native int DBM_GetExpBonus(int client);
native void DBM_SetExpBonus(int client, int value);
native void DBM_AddExpBonus(int client, int value);
native int DBM_GetExpForLvl(int level);
native void DBM_CheckLvl(int client);
/**
* ----------------------------------------
* Class
* ----------------------------------------
*/
native void DBM_RegisterClass(const char[] name, const char[] desc, const char[] skill, int iBaseMana, int iMaxMana, int iManaRegen, int iManaForUse, int iBaseInvis, const char[] fBaseGravity, const char[] fBaseSpeed, int iBaseKnifes, int bCast, const char[] fCastTime, int HudCast, int StopOnMove, int iUseOnlyOnKnife, int iInt, int iStrength, int iDex, int iAglity, int iAdrenaline);
native int DBM_GetClass(int client);
native void DBM_GetClassName(int ClassId, const char[] name, int maxlenght);
native int DBM_GetClassId(const char[] name);
native void DBM_GetClassDesc(int ClassId, const char[] name, int maxlenght);
native void DBM_GetClassSkillDesc(int ClassId, const char[] name, int maxlenght);
native int DBM_GetClassInt(int ClassId);
native int DBM_GetClassStrength(int ClassId);
native int DBM_GetClassDex(int ClassId);
native int DBM_GetClassAglity(int ClassId);
native int DBM_GetClassAdrenaline(int ClassId);
native void DBM_SetClassInt(int ClassId);
native void DBM_SetClassStrength(int ClassId);
native void DBM_SetClassDex(int ClassId);
native void DBM_SetClassAglity(int ClassId);
native void DBM_SetClassAdrenaline(int ClassId);
native void DBM_AddClassInt(int ClassId);
native void DBM_AddClassStrength(int ClassId);
native void DBM_AddClassDex(int ClassId);
native void DBM_AddClassAglity(int ClassId);
native void DBM_AddClassAdrenaline(int ClassId);
native void DBM_GiveBaseRender(int client);
forward int DBM_OnClassEnabled(int client, ClassID id);
forward int DBM_OnClassDisabled(int client, ClassID id);
forward int DBM_OnSkillLoaded(int client, ClassID id);
forward int DBM_OnSkillUse(int client, ClassID id);
/**
* ----------------------------------------
* Skills System
* ----------------------------------------
*/
native int DBM_GetFlashlightAccess(int client);
native void DBM_SetFlashlightAccess(int client, int value);
native int DBM_GetTKnifes(int client);
native void DBM_SetTKnifes(int client, int value);
native void DBM_AddTKnifes(int client, int value);
native void DBM_ThrowKnife(int client);
native void DBM_FireballStart(int client);
/**
* ----------------------------------------
* Mana System
* ----------------------------------------
*/
native int DBM_GetMana(int client);
native void DBM_SetMana(int client, int value);
-> Przykładowa klasa
#include <sourcemod>
#include <sdktools>
#include <nox_dbmod>
bool bActive[MAXPLAYERS+1];
public void OnPluginStart()
{
DbmClass Class = new DbmClass();
// --- Descs ---
Class.SetName("Nazwa");
Class.SetDesc("Opis");
Class.SetSkillDesc("Skill");
// --- Stats ---
Class.Int = 1;
Class.Strength = 2;
Class.Dex = 3;
Class.Aglity = 4;
Class.Adrenaline = 5;
// --- Mana ---
Class.BaseMana = 1200;
Class.MaxMana = 1800;
Class.ManaRegen = 148;
Class.ManaForUse = 200;
// --- Invis ---
Class.BaseInvisiblity = 255;
Class.BaseGravity = 1.0;
Class.BaseSpeed = 1.0;
Class.BaseKnifes = 0;
// --- Skill ---
Class.KnifeSkill = true;
Class.CastTime = 5.0;
Class.HudCast = true;
Class.CastStopOnMove = true;
Class.UseOnlyOnKnife = false;
// --- Make it! ---
Class.Register();
}
public DBM_OnClassEnabled(int client, ClassID id)
{
bActive[client] = true;
}
public DBM_OnClassDisabled(int client, ClassID id)
{
bActive[client] = false;
}
public DBM_OnSkillLoaded(int client, ClassID id)
{
PrintToChat(client, "%s \x06Załadowano skill !", DBM_PREFIX_NORMAL);
}
-> Przykładowy item
#include <sourcemod>
#include <sdktools>
#include <nox_dbmod>
bool bActive[MAXPLAYERS+1];
public OnPluginStart()
{
DbmItem Item = new DbmItem();
Item.SetName("Name");
Item.SetDesc("Desc");
Item.SetChance(1, 3);
Item.Register();
}
public DBM_OnItemEnabled(int client, ItemID id)
{
bActive[client] = true;
PrintToChat(client, "dostales item !");
}
public DBM_OnItemDisabled(int client, ItemID id)
{
bActive[client] = false;
}
public DBM_OnClientUseItem(int client, ItemID id)
{
PrintToChat(client, "%s \x06Uzyto itemu !", DBM_PREFIX_NORMAL);
}
Dalej mi sie nie bardzo chce, gdyby Wam czegoś z downloadu brakowało to krzyczeć.
Fell free to use it, have fun.'
Pozdrowionka, noxik!
dbmod.rar