Jump to content

HighPrint

Globální moderátor
  • Příspěvků

    1335
  • Registrován

  • Aktivní

  • Vítězných dnů

    30

Everything posted by HighPrint

  1. if(j==100) - tahle podmínka se totiž nevykoná nikdy... Někdo kdo programoval 3 roky by to mohl vědět Also tvůj algoritmus porovnává hráče sám se sebou. Taky se pak dá zrychlit (složitost ovšem zůstává ale stejná) tím, že jakmile nějaký hráč má menší tedy CpCount > CpCount[j], tak vyskočíš z vnitřního cyklu PS: Jinak celá tenhle "věc", úplně špatně a neefektivní – co když bude 70s? Co s těma 10s? To je jako vyresetuješ? if(RTsec == 60) { RTsec=0; RTmin++; } if(RTmin>=10) format(str,sizeof(str),"Cas: %i",RTmin); else if(RTmin<=9) format(str,sizeof(str),"Cas: 0%i",RTmin); if(RTsec>=10) format(str,sizeof(str),"%s:%i",str,RTsec); else if(RTsec<=9) format(str,sizeof(str),"%s:0%i",str,RTsec); PlayerTextDrawSetString(i,RaceTime[i],str); přepsat na: format(str,sizeof(str),"Cas: %02d:%02d",RTsec/60,RTsec%60); PlayerTextDrawSetString(i,RaceTime[i],str);
  2. HighPrint

    nabízím G-Host.eu

    Možná se primárně zaměřit na ten sql injection. Takhle jsem se ti dostal do všech tabulek... A možná hešovat i ty ftp přístupy nebo nevím jakej má smysl takhle uchovávat ftp informace.
  3. Ty gang systémy, to je furt to samý dokola. Jediný co mě nadchlo jsou ty tagy před jménem. To se ti hodně povedlo. Každopádně bych uvítal nějakej gang systém ve stylu SinglePlayer (neobsazené zóny by byly světle šedivé, a zóny obsazené gangem dle vlastních barev). V multiplayer by se dalo aplikovat stylem, že s rostoucím gangem (území) musí gang mít víc členů. Na neobsazené území by museli např přejít z CP na CP aspoň všech 1/3 členů (první varianta) – tím se prokáže aktivita gangu a nebo stát jen na místě třebas na 2min (druhá). V případě že chtějí obsadit nějaké území, tak vyhlásej "válku" druhému gangu a (dejme tomu lhůta 3 dny) by museli přijít a vybojovat si území (klidně v jiném VW) – samozřejmě zase musí přijít aspoň 1/3 z prvního gangu na daný D den (z druhého to ještě nemám promyšlené, ale tam libovolně od 1-x). Pokud nepřijde první strana, zůstává území stejnému gangu, pokud nepříjde druhá, dostane to území druhá strana. Ale je to takovej návrh, kterej jsem kdysi chtěl udělat, ale zase... je to pawn realizovatelné to je ale srát se s tím se mi nechce
  4. Tak první věc co si musíme ujasnit je co je error, co warning a který z nich mají dopad na běh serveru. Zde je potřeba taky pochopit základní princip dcmd, ale ten ti tu nebudu vysvětlovat. Spíš se vrhnu na problémy, se kterými ses teď setkal. Errory v pawnu jsou velmi jasně a srozumitelně dané (ještě aby ne že). Těch errorů/warningů není tolik a především nepotřebuješ C1 ájinu abys je vyluštil. Takže projít si tenhle seznam – http://wiki.sa-mp.com/wiki/Errors_List. Warning, který se vztahuje k dcmd má zrovna vliv na běh serveru, ale to bych musel vykládat jak funguje dcmd. Ve zkratce se jedná o makro, které "přepisuje" příkaz do funkce, proto je třeba ho vložit do OnPlayerCommandText, jinak se na serveru neprojeví Co se týče tabulky na konci, tak ta nemá žádný vliv, jenom upozorňuje kolik tvůj kód zabírá (potencionálně) paměti. #pragma dynamic bych se vyvaroval, pokud nevyvíjíš větší projekt. Všechny tyhle informace jsou ovšem dostupné v sekci Návodu. Pokud se ti taková tabulka objevila na konci malého scriptu, děláš něco blbě a je potřeba s pamětí zacházet šetrněji Příkaz ti nefunguje a to může způsobit spoustu věcí, zkus si zkontrolovat jestli příkaz je opravdu nahraný na server a popřípadně zkus ten příkaz dát do lowercase (dcmd_prikaz)
  5. Chyba bude tady: format(pass, sizeof(pass), "RCON HESLO: %s"pass); Mrkni na to a chybu snad uvidíš
  6. HighPrint

    script Pravidla - Script .pwn

    Uprav link, odkazuje na anticrasher.amx
  7. Do OnPlayerCommandText dcmd(Prikaz,6,cmdtext); Každopádně warning 203: symbol is never used: "dcmd_Prikaz" Tohle patří do Chyby/varování kompilátoru a při běhu:
  8. Na první pohled se mi vcelku líbí. Na můj vkus až moc textu na úvodní stranu
  9. HighPrint

    pomoc RPG

    Na konci je přiloženej kód...
  10. HighPrint

    pomoc RPG

    Protože si musíš představit, že hra pracuje na souřadnicovém systému. Musíš si vytáhnout informace o tom, kam hráč směřuje, z toho vytáhnout hodnotu cosinu a sinu (floatcos, floatsin) a vynásobit to koeficientem vzdálenosti (skalár). Basically když si představíš na kružnici a její vlastnosti, tak na tom to uvidíš, ale nechme tý matiky bejt. Pokud tě zajímá jak to zhruba funguje, tak to máš znázorněné na následujícím obrázku (předpokládáme, že hráč kouká pod úhlem 45°) V sa-mpu je ještě potřeba zmínusovat úhel pohledu, protože celý je to zinvertovaný. Viz wiki. Angles are reversed in GTA:SA; 90 degrees would be East in the real world, but in GTA:SA 90 degrees is in fact West. North and South are still 0/360 and 180. To convert this, simply do 360 - angle. new Float:angle,Float:x,Float:y,Float:z; GetPlayerFacingAngle(playerid,angle); GetPlayerPos(playerid,x,y,z); new Float:vzd = 5.0; // koeficient v podstatě "skalár" angle = 360 - angle; x += vzd * floatcos(angle, degrees); y += vzd * floatsin(angle, degrees); A takto bys měl dostat pozici před sebe. //edit: A možná taky je to celý blbě zkusím si to ověřit //edit2: tak není //edit3: Pokud to chceš ve vozidle zjišťovat, tak GetVehicleZAngle
  11. if(!strcmp("/nemocnicelv", cmdtext, true, 10)) Zjisti si co dělá to 10 v strcmp a potom svůj problém snad rozluštíš
  12. Tak to pak znamená, že máš chybu někde v kódu. Konečně se ti totiž kompiluje ta část, která se kompilovat má. Na jaký řádek to poukazuje?
  13. 1) Špatná sekce // edit -> přesunuto 2) kompiluješ si prázdný fs #if defined FILTERSCRIPT ... #endif Nikde nemáš makro filterscript nadefinované, takže ještě nad tím #define FILTERSCRIPT a nebo to obojí smaž (#if defined FILTERSCRIPT a #endif)
  14. Off-topic Vyvarujte se off-topicu! Další zpráva, která se nebude týkat tématu, bude smazána a potrestána
  15. Takto obecně do více řádků: new str[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque arcu nunc, fringilla ut placerat vitae, accumsan eu urna. Cras id posuere eros, eu blandit leo."; #define split_chars 50 for(new i = 0, j = strlen(str)/split_chars; i <= j; i++){ new tmp[split_chars]; if((strlen(str)-(i*split_chars)) > split_chars) strmid(tmp, str, split_chars*i, split_chars*(i+1)); else strmid(tmp,str,split_chars*i,strlen(str),sizeof(tmp)); print(tmp); } Output: Lorem ipsum dolor sit amet, consectetur adipiscin elit. Pellentesque arcu nunc, fringilla ut place at vitae, accumsan eu urna. Cras id posuere eros, eu blandit leo. Jestli to chceš mít na dva řádky, tak si s tím pohraj. Je to jenom o strmid (v podstatě funkce, která extrahuje znaky do jiné proměnné). Taky pak bacha na OnPlayerText s returnem
  16. for(new i; i<pocetzbrani; i++) { if(i==1) format(str,sizeof str,"%s",zbran[0]); else if(i>1) format(str,sizeof str,"%s\n%s",str,zbran[id-1]); pocetzbrani++; } Když už radíš a nejsi zdatný programátor, tak si to příště radši ověř než budeš radit. Konceptuálně je to úplně špatně a tenhle cyklus je tomu důkazem. Hned co bije do očí: 1) jedná se o nekonečný cyklus, případně se nevykoná vůbec, proč? Na začátku inicializace je pocetzbrani 0 – neprovede se vůbec. pocetzbrani je větší nebo rovna 1 => v každé iteraci bude vždy i menší než pocetzbrani => nekonečný cyklus 2) format(str,sizeof str,"%s",zbran[0]); vypíše se úplně něco jiného (konkrétně řetězec od určité pozice) než máš v představě. Když už tak, zbran[20][34]; // 20 zbraní s názvem o max. 34 znacích
  17. HighPrint

    pomoc Zaučení

    Pokud něčemu nerozumíš, tak využij fórum a zeptej se. My ti rádi pomůžeme
  18. Tak v tom případě se omlouvám já a měl pravdu rawy. Abych ti lépe zodpověděl, je pro mě lepší mít k dispozici kód k CreateProperty
  19. Nerad ti to říkám, rawy, ale asi tomu moc nerozumíš. Narážím na to, že id je tam redundantní. Navíc to co jsi mu poradil je nejen úplně špatně ale ani to neřeší jeho problém. K autorovi: potřebuju aby si poskytnul kód k CreateProperty ať už je to stock nebo public //edit: zkus ještě rozvinout svůj problém. Pochopil jsem správně, že chceš u property mít název?
  20. příště vkládej svůj kód do části Kód Nicméně, nerozumím přesně jakou roli tam hraje new id; Dej sem ještě kód k CreateProperty
  21. HighPrint

    General pes

    o nicem nevis woody
  22. HighPrint

    General pes

    Z tohoto alba SA-MP

    Natáčení This Is War 2 v roce 2011 Pardon za tu hrůzostrašnou kvalitu. V roce 2011 nebyly peníze na lepší počítač

    © HighPrint

  23. HighPrint

    SA-MP

×
×
  • Create New...