-
Příspěvků
154 -
Registrován
-
Aktivní
-
Vítězných dnů
13
Content Type
Profiles
Forums
Calendar
Gallery
SA-MP
Příspěvky posted by xhunterx
-
-
Do pawna nic davat nemusis. Musis zapisat plugin do configu a pridat do configu nieco ako
profile_gamemode 1 profile_format html call_graph 0
alebo
profile_gamemode 0 profile_filterscripts unit profile_format html call_graph 0
Samozrejme "unit" nahrad za meno tvojho FS, ktory chces zmerat.
Potom restartujes server, aby sa nacital plugin. Nechas server nejaku dobu bezat kym plugin ziskava data a potom ho musis vypnut normalnym sposobm (napriklad rcon exit), NIE TVRDO STLACENIM KRIZIKU!
Ked server vypnes, v zlozke filterscripts resp gamemode sa ti objavi dalsi subor, ktory sa bude volat meno_scriptu.htmlTento subor otvor vo svojom internetovom prehliadaci a v nom su vsetky data, ktore plugin ziska.
-
Tento plugin dokaze zistit, ktore funkcie ti zaberaju najviac CPU casu. http://forum.sa-mp.com/showthread.php?t=271129
Skus ho pouzit na svojom servery a zistit, co ti najviac spomaluje, potom ries len to.
PS: Ak pouzivas nejake sialene veci ako YSI, tak ten plugin nieje uplne spolahlivy :/ -
Problem je, ze listitem je typu _ a up_safe je typu propInfo. Tieto dva typy sa nedaju scitat. Staci pretypovat listitem.
if (properties[players[playerid][current]][up_safe + propInfo:listitem] >= MAX_UPGRADE_VIP)
Vdaka tomu sa daju scitat.
Druha moznost je pretypovat up_safe na _.
if (properties[players[playerid][current]][_:up_safe + listitem] >= MAX_UPGRADE_VIP)
Tak ci tak musia byt rovnakeho typu.
- 1
-
Na windowse sa do configu nepise .dll
spravne je:
plugins sscanf streamer
-
Netreba nic stahovat.
Control Panel -> Region -> Administrative -> Change system locale
Tam si daj Czech/Cestina a mas to.- 1
-
Nevšiml jsem si že jsi to tam napsal. Vtipný je že jsem udělal přesně to samý mezitim co jsem tu nebyl až na to že v tom timeru nemám switch, je to tak, že když použiju switch timer se spustí pouze pro tento konkrétní case když player seberepickup? A jak moc je důležitý rozdíl mezi SetTimer a SetTimerEx v tomto případě? Hádám že to souvisí s caseováním těch pickupů v timeru že? Hned jsem zpět..
Rozdiel medzi SetTimer a SetTimerEx je, ze SetTimerEx ti da do publicu parametre. Cize do Ex som pridal 2 veci, prva je "i", coz oznacuje, ze ide o jeden ciselny parameter (i = integer = cele cislo). Napriklad "sii" by bol string a 2 cisla.
Druha vec, ktoru som pridal je id pickupu, ktory hrac zobral, aby si v danom pickupe potom mal toto cislo pickupu a mohol vytvorit len ten jeden pickup. (aby sa nevytvorili vsetky naraz) Cize to cislo v tom SetTimerEx je ta premenna "id" v tom publicu timeru
Nakoniec switch funguje rovnako ako if() else, cize
switch(id) {
case 1:
case 2:
case 3:
}
je to iste ako
if(id == 1)
else if(id == 2)
else if(id == 3)
Iba je to rychlejsie (menej narocne na CPU, mensia casova zlozitost) a prehladnejsie.
-
-
Okej dost bolo, teraz realne opraveny kod.
new pPickup[4]; forward mytimer(id); public mytimer(id) { switch(id) { case 1: if(pPickup[1] == -1) pPickup[1] = CreatePickup(1274,19,1492.1907,-1767.8684,18.7958,-1); case 2: if(pPickup[2] == -1) pPickup[2] = CreatePickup(1212,19,1312.3002,-1006.9481,33.8984,-1); case 3: if(pPickup[3] == -1) pPickup[3] = CreatePickup(1212,19,980.9848,-1064.0038,36.0387,-1); } return 1; } public OnGameModeInit() { pPickup[1] = CreatePickup(1274,19,1492.1907,-1767.8684,18.7958,-1); pPickup[2] = CreatePickup(1212,19,1312.3002,-1006.9481,33.8984,-1); pPickup[3] = CreatePickup(1212,19,980.9848,-1064.0038,36.0387,-1); return 1; } public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == pPickup[1]) DestroyPickup(pPickup[1]), GivePlayerMoney(playerid, 10000), SetTimerEx("mytimer", 1800000, false, "i", 1), pPickup[1] = -1; if(pickupid == pPickup[2]) DestroyPickup(pPickup[2]), GivePlayerMoney(playerid, 10000), SetTimerEx("mytimer", 1800000, false, "i", 2), pPickup[2] = -1; if(pickupid == pPickup[3]) DestroyPickup(pPickup[3]), GivePlayerMoney(playerid, 10000), SetTimerEx("mytimer", 1800000, false, "i", 3), pPickup[3] = -1; return 1; }
Problem je v tom, ze pokazde ked sa ti zavolal mytimer si vymenil premenne za novy pickup, ale neznicil tie stare. Cize ti ostali na rovnakom mieste 2 pickupy a ked si jeden z nich zdvihol, ten sa znicil ale druhy zostal.
PS:1. Kto ta prosím učil robiť toto ? if(pickupid == pPickup[1]) DestroyPickup(pPickup[1]),GivePlayerMoney(playerid, 10000),SetTimer("mytimer", 1800000, false); Popravde som si myslel, že to máš niaku funkciu keď tam máš za každým príkazom "," , aj keď neviem či sa to tak môže robiť.Moze. A, B, C; je v pawne zlozeny vyraz, ktory returne hodnotu C. Cize napr "return func1(), func2();" ti vykona func1(), ptom func2() a returne hodnotu vratenu funkciou func2().
2. DestroyPickup(pPickup[1]),GivePlayerMoney(playerid, 10000) Neviem či som až tak sprostý, alebo tam nevidím ukončenie príkazu s ";"
Je to zlozeny vyraz, ; tam byt nemoze.3. Keď sa snažíš šetriť riadkami, sprav si to jednoducho takto: if(pickupid == pPickup[1]) { DestroyPickup(pPickup[1]); GivePlayerMoney(playerid, 10000); SetTimer("mytimer", 1800000, false); }
Taktiez moznost, ale zbyrocna, to co pouzil je dobre + sa s tym lepsie pracuje ak treba vracat hodnotu alebo nieco podobne.
4. Vymažeš jeden pickup a vytvoríš 3 ďalšie ? Znova si pozri čo ti robí public mytimer.
Jop, presne toto je ten problem. Konkretne, ze tie 2 pickupy uz viac niesu ulozene v ziadnej premennej a preto sa nikdy nesmazu. Velmy podobne memory leaku v inych jazykoch.- 4
-
V PAWN sa nedaju prechadzat vsetky zlozky, bez nejakeho special pluginu na to a aj tak je to velmi zly napad, to je strasne pomale.
-
Do sscanfu2 můžeš klidně házet makra díky heštegu.
Tak na toto som uplne zabudol, ze sa vlastne da
- 1
-
Myslim, ze to ma byt podla IP hracov. Lenze v tom pripade sa to co chces spravit neda.
Odporucam pouzit na ukladanie banov sqlite. S tym by sa to spravit dalo jednoducho. -
Prave som si vybral zo skrinky -100000000. Uplne divne hlasky ked zadam nieco chybne do prikazu typu "ERROR." No to mi pomohlo teda. Nejde mi odist zo zamestnania. Velmi vela veci, ktore by mali fungovat len na tlacitko + dialog ma prikaz zbytocne. Proste vojdem do pickupu, zmagnem F, tak nech sa zobrazi dialog ne? Naco mam pisat prikaz?
Uprimne, pekna mapa, ale v PAWN ste moc dorby neni.
Taktiez by ste sa mali zamyslet, co sa bude u vas dat robit, ked nebude na servery dozorca. Spravte si aspon nejaky skill system, nech hraci mozu trenovat alebo daco.
A nakoniec, neviem jak moc roleplay je fakt, ze si mam kupovat celu? Wut? -
Ne To by bolo pekne napisat, ze treba Ne len dat kick bez spravy
-
Ked sa skusim pripojit: Server closed the connection. To uz som stihol mat ban nejak divne, alebo to mate furt na whitelist alebo daco?
-
new vehicleid = CreateVehicle(vehid,x,y,z,Angle,random(255),random(250),5,5);
Ale toto si si fakt mohol pozret na wiki
-
Este tam medzi tym nema byt ciarka.
"s[25]s[128]"
Niekde som snaď čítal, že do SA-MPu sa aj tak nepripojíš s 24 znakovým Nickom,
To je pravda, na pripojenie je limit 20 znakov, ale na SetPlayerName je 24. A ak niekedy v buducnosti spravi [AFK] pred meno alebo nieco a bude mu to blbnut, tak sa mu to uz bude tazko vsade hladat. -
s[MAX_PLAYER_NAME]
Toto bohuzial nefunguje. Pouzi: s[24]. Taktiez by si mal pouzit new UnbanName[MAX_PLAYER_NAME+1] a s[25], inak ti najdlhsie meno nebude fungovat. String potrebuje +1 znak pre NULL terminator.
-
Ako bolo by treba sem dat nejake funkcne poziadavky alebo ak to dokazes odhad casu, aky by to zabralo, ale vseobecne ma サトシ pravdu. Ak chce uplny velky mod, tak za nejakych 0.41e/hod ti nikdo dobry robit nebude.
-
12 odpovedi a este ani jedna k teme No pekne
-
Ani jedno. Pravý hacker by o tom držel hubu, pač by si byl vědom, že je jeho činnost proti zákonná a určitě by se tím nikde nechlubil.
To je absolutne proti definicii gray hat. Precitaj si aspom ten link na wiki co som tam dal nes trepnes takuto sprostost a aj vela black hatov bere za hacky zodpovednost pod pseudonymom.
BTW spíš by mě zajímalo co je "hackerské" na tom nahrávat data na poskytnuté FTP.Nic, ale boli tam aj DOSi aj cross-site scripty. To uz sa za hack povazovat da v urcitom slovazmysle.
Upřímně spíš začneme něco dělat s "prezentacemi" nedodělků. Protože celé fungování takovýchto hostingů a podobných je celé pochybné. 80% data která by ti měli podle zákona předat ti nedají. Všechno se řeší. Jsme tu teprve 3 dny... Upřímně kdyby toto dělal třeba wedos nebo jiné hostingy tak se na ně každej vykašle. Já chápu touhu mít vlastní [dopln co chces mít vlastní]. Taky jsem jeden čas měl vlastní samp hosting do kterého jsme vráželi peníze. Ale neměli jsme dostatek zkušeností jak s provozem tak s právními věcmi. To samé pop-corn.cz který jsem tu nedávno představoval. Bohužel jsem nebyl schopen uvést projekt do "legálního" provozu a tak jsme ho ukončili. Je super něco sám tvořit a snažit se vyřešit nějaký problém. Ale je hloupost s nulovými zkušenostmi rozjíždět projekt rovnou v produkci a všechno řešit rovnou v produkci. Kdyby celé to téma bylo pojaté jako betatest tak bych já a věřím že i tady Krudol poskytl debug informace a informace o chybá které jsme našli. Jako jsem pomáhal jednomu podobnému hostingu asi před měsícem. Ale když každá odpověd u produkčního hostingu je "ještě to nemáme jsme tu 3 dny".....Uprimne suhlasim, netusil som, ze je hosting v tak zlom stave ked som k nemu prisiel. Znovu hovorim, s technickym fungovanim tam nemam nic.
Ale sme trosku od temy. Nejde mi tu o to riesit konkretne IGHost ale skorej ma zaujima, co si myslite o "moralite" takychto "hackov". Je to dobre, pretoze zabrania tomu aby sa na tom napalili zakaznici, alebo to nieje prijatelne, pretoze sposobuju financnu skodu hostingu? Mali by taketo "prakticke ukazky" robit, alebo by mali len zodpovedne nahlasit problem?
-
Přeji příjemný večer,
Každý mi píše jaký z tebe mají respekt a podobně, ale tímhle co jsi právě zde dal jsi mě spíše rozesmál
Nikdo bohužel nemůže za to, že si neumíte něco zabezpečit a když to uděláte, tak to obejde každý.
Přeji pěkný zbytek večera.
Prijemny vecer tiez, sorry za nedorozumenie ale toto nieje vobec staznost na tvoju osobu, tu by som smeroval priamo adminom, nie sem. Zaujima ma, aky maju ludia nazor na tento typ hackovania, ked ide viacmenej o ukazku, ale tato ukazka ma nicive dosledky pre napadnuty system.
Co sa tyka IGhostu, som iba sucast podpory (tickety), nemam pristup k VPS, zdrojaku webu ani k nicomu podobnemu a nepovazujem sam seba za niekoho, kdo by za bezpecnost hostingu bol zodpovedny. Ani by som hosting v sucasnom stave nikomu nedoporucil. Prosim nehodnot moje schopnosti podla prace inych.
-
-
Casove pasmo je proste pripocitanie x hodin. Bratislava je casove pasmo UTC+1 takze pripocitas jednu hodinu. Ked je letny cas, tak sme UTC+2, takze pripocitas 2 hodiny. A ano, zimny a letny cas su katastrofa...
A spravu ti asi nepise preto, ze je prilis dlha. SendClientMessahe nemoze odoslat viac ako 144 znakov. Tam kde mas nove riadky \n miesto toho sprav novu spravu SCM. -
Potrebujeme vidiet funkciu IsBanned
To druhe bude pravdepodobne preto, ze neriesis casove zony v date(). Cize tam mas anglicky cas
Optimalizace kódu
v Herní (SA:MP, CS apod.)
Odesláno: · Edited by xhunterx
Graf nieje prilis podstatny. Dolezitejsie je asi optimalizovat SQL. Ale este pred tym nez zacnes by si mohol pozriet nie len na % ale aj na average a worst time. To je cas, kolko trva vykonat tu funkciu. Ak sa ti server lagne raz za cas, moze to byt tym, ze sa nejaka funkcia vola malokedy (cize ma male %) ale trva dlho.
Ak potrebujes optimalizovat SQL, tak skus vytvorit indexy, ak ich este nemas. Taktiez ak robis velke mnozstvo INSERT/UPDATE, tak pouzi transakciu. Ak vyhladavas, snaz sa vyhladavat podla veci, ktore su indexovane. To iste zoradovanie. (index v SQL je akysi zoradeny zoznam. Cize ak napriklad vytvoris index na tabulke hracov podla mena, tak sa ulozia abecedne zoradeny podla mena. Vdaka tomu sa v nich rychlejsie vyhladava hrac s urcitim menom a nieje nutne rucne zoradovat. To vyrazne zrychli vykonavanie db_query).
PS: ale neprezen to s prilis vela indexmi, indexy zaberaju miesto a trochu spomaluju insert a update.