Jump to content

xhunterx

Uživatel
  • Příspěvků

    154
  • Registrován

  • Aktivní

  • Vítězných dnů

    13

Everything posted by xhunterx

  1. 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.
  2. 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.html Tento subor otvor vo svojom internetovom prehliadaci a v nom su vsetky data, ktore plugin ziska.
  3. 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 :/
  4. 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.
  5. Na windowse sa do configu nepise .dll spravne je: plugins sscanf streamer
  6. xhunterx

    pomoc [SAMP] Niektoré znaky..

    Netreba nic stahovat. Control Panel -> Region -> Administrative -> Change system locale Tam si daj Czech/Cestina a mas to.
  7. 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.
  8. OP az dneska upresnil, co chce Mi za to nemozeme, ze T.Evil odpovedal na GaRGoyLeSovu otazku az teraz.
  9. 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: 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(). Je to zlozeny vyraz, ; tam byt nemoze. Taktiez moznost, ale zbyrocna, to co pouzil je dobre + sa s tym lepsie pracuje ak treba vracat hodnotu alebo nieco podobne. 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.
  10. xhunterx

    pomoc Unban

    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.
  11. xhunterx

    pomoc Unban

    Tak na toto som uplne zabudol, ze sa vlastne da
  12. xhunterx

    pomoc Unban

    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.
  13. 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?
  14. Ne To by bolo pekne napisat, ze treba Ne len dat kick bez spravy
  15. Ked sa skusim pripojit: Server closed the connection. To uz som stihol mat ban nejak divne, alebo to mate furt na whitelist alebo daco?
  16. new vehicleid = CreateVehicle(vehid,x,y,z,Angle,random(255),random(250),5,5); Ale toto si si fakt mohol pozret na wiki
  17. xhunterx

    pomoc Unban

    Este tam medzi tym nema byt ciarka. "s[25]s[128]" 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.
  18. xhunterx

    pomoc Unban

    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.
  19. 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.
  20. 12 odpovedi a este ani jedna k teme No pekne
  21. 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. Nic, ale boli tam aj DOSi aj cross-site scripty. To uz sa za hack povazovat da v urcitom slovazmysle. 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?
  22. 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.
  23. Čo si myslíťe, sú hackeri ako Krudol TU grey hat alebo black hat? A mali by s nimi teda admini tohoto fóra niečo robiť? Diskutujte
  24. xhunterx

    pomoc Errory

    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.
  25. xhunterx

    pomoc Errory

    Potrebujeme vidiet funkciu IsBanned To druhe bude pravdepodobne preto, ze neriesis casove zony v date(). Cize tam mas anglicky cas
×
×
  • Create New...