Jump to content

KillBill61

Uživatel
  • Příspěvků

    408
  • Registrován

  • Aktivní

Reputace

0 Na nule
  1. Popis problému: Zdravím zajímalo by mi následující věc: potřeboval bych, abych při smrti (přesněji při aktivaci jedné funkce) přešel do 'spectate' módu a z bodu, kde byla kamera jsem koukal (volná manipulace kamerou směrem kterým koukám by se hodila) mám na to tento kód (v sekci Kód), ale jediný problém je, že asi sekundu se kamera buguje a kouká nahoru a nejde ovládat problém je, že TogglePlayerSpectating není dělaný na spectování z bodu ale na hráče, auta, objekty -> mohu vynechat TogglePlayerSpectating, ale poté moje postava překáží na cestě - nemůžu jí setnout pozici někam do pryč, protože pak se mi okolí, kde koukám nenačítá a nemůžu ji nastavit nikde poblíž, protože nwm, kde vlastně se to aktivuje -> potřeboval bych buď trik, jak zapnout TogglePlayerSpectating bez bugování kamery a nebo to nezapínat (protože nastavování kamer funguje i bez toho) a udělat podmínky pro postavu jako při TogglePlayerSpectating (tím myslím nesmrtelnost a neexistenci) Chyby/varování kompilátoru a při běhu: -- Kód: Dodatečné poznámky: --
  2. Díky za info - bohužel nevím, jak hodně je ten plugin optimalizovaný, ale podle toho co vidím je každopádně hodně propracovaný a poklona mu každopádně ale nevím jestli ho použiju, protože mám nápad na server, který bude mít už v sobě hodně timerů a pracování s PVars a SVars možná si udělám nějaký vlastní, v případě, že je možný to udělat nenáročný -> pokud chci zjistit, zda mezi dvěma body leží nějaký objekt ..... jde to zkontrolovat jiným způsobem, než kontrolovat postupně body na přímce, zda se vyskytují v nějakým objektu? přece jenom mě je jedno, kde se ta kulka zarazí... a teď neřeším colidery původních objektů ve hře - vyrobim si mapu z objektů, které se dobře definují (colider)
  3. Popis problému: Zdravím , nebyl jsem nikde schopen najít, zda je možné zjistit, zda mezi nějakýma dvěma body se nachází překážka či ne. Chtěl bych si po dlouhé době pohrát s Actorama, a tak mě napadlo vcelku jednoduchý script na střílečku, ale problém spočívá pouze v tom, o čem jsem psal. Ve hře je možnost, že pokud se někdo schovává za zdí, tak mu není vidět nápis nad hlavou (myslím, že to jde i přenastavit), tak mi napadlo jestli tu není nějaká funkce, kterou jsem přehlídl. Samozřejmě, pokud bych vytvořil vlastní mapu a každému objektu nadefinoval výšku, šířku, délku, tak bych dokázal zjistit, zda kulka projde z A do B, ale přece jenom je tohle na dlouhé psaní a jelikož ve hře už je toto implementovaný (neprostřelíte zeď), tak jestli to někde nejde převzít (náká funkce, kterou neznám a je tu). Popravdě jsem nezkoušel animaci Actorů střílení se zbraní, ale čekám, že střílí slepý a možná i hluchý? Předem dík za odpověď 61kB Chyby/varování kompilátoru a při běhu: -- Kód: Dodatečné poznámky: --
  4. http://kiwi6.com/ pouzivam a zatim bez problemu
  5. upravil jsem si u toho meho dolejsek na return (rtn * 100 * 1.61); nekde jsem ten nasobek videl a uz mi pripada ze jsou ty rychlosti realnejsi - u toho tveho mi prijdou ty top speedy hrozne male ale dikys moc PS: kdyby nekdo mel jeste nejaky napad tak napiste
  6. Chtěl bych poradit jak se to vlastně v GTA převádí? Normálně je to přes */ 3,6 jenomže je potom divný, že pomalu každé auto má top speed 100km/hod nebo dosáhne rychlosti 100km/h za 2 sekundy (pocitane pomoci:) stock Float:GetPlayerSpeed(playerid) { new Float:Vx,Float:Vy,Float:Vz,Float:rtn; if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),Vx,Vy,Vz); else GetPlayerVelocity(playerid,Vx,Vy,Vz); rtn = floatsqroot(floatpower(Vx,2)+floatpower(Vy,2)); return (rtn * 100); } je ale mozny ze chyba je v tomhle - ale podle me je to spravne a ukazuje to metry za sekundu (chodce nereste - chci auto )
  7. Chtel bych se zeptat, kde muze byt chyba vsichni hraci maji nastavenou bilou barvu pres SetPlayerColor(..); ale obcas je vidim bile i kdyz tu mam toto: public OnPlayerStreamIn(playerid, forplayerid) { SetPlayerMarkerForPlayer(playerid, forplayerid, COLOR_NEVIDITE); return 1; } public OnPlayerStreamOut(playerid, forplayerid) { SetPlayerMarkerForPlayer(playerid, forplayerid, COLOR_NEVIDITE); return 1; } je to zjednodusene (nejsou tam naky podminky - ale tim to nemuze byt protoze bud bych je videl neviditelne nebo zelene)
  8. tak mi to moc nejde protoze nemuzu udelat toto: enum mapy { Float:oprava_x[2][3] = { {-0.0, 0.0, 0.0}, {-0.0, 0.0, 0.0} } } nemuzu udelat 2D oprava_x a to je pitomy takze to pres enum asi nejde tak jeste jednou mam new Float:oprava_ff[4][3] = {//toto {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0} }; new Float:oprava_x[2][3] = {//a toto {-0.0, 0.0, 0.0}, {-0.0, 0.0, 0.0} }; a pak toto co nudne musim psat if(mapa == 0) oprava_obj[i] = CreateObject(3096, oprava_ff[i][0], oprava_ff[i][1], oprava_ff[i][2], 0, 0, 0); else if(mapa == 1) oprava_obj[i] = CreateObject(3096, oprava_x[i][0], oprava_x[i][1], oprava_x[i][2], 0, 0, 0); mozna to lip pochopite takto co chci potrebuju to if(mapa == 0) atd upravit tak aby to slo automaticky a nemusel jsem to psat rucne - proc to musim psat rucne? protoze kazda promena oprava_ff a oprava_x je pro neco jineho potreboval bych neco takovehleho: //e je u funkce for(..); if(mapa == e) oprava_obj = CreateObject(3096, string[0], string[1], string[2], 0, 0, 0); //string bych si nadefinoval pres format ale jak vim tak to nejde pro tyhle promene a ten by sel automaticky protoze pri vyberu mapy si hrac zadava jakou mapu chce a tyhle opravy se vzdy jmenuji podle tich map priklad: mapa je cross_x -> oprava_x a takhle takze kdyby to slo pres format tak by to slo automaticky pisu to tady aby jste pochopili co potrebuji udelat/pomoc - posledni co mi napada je ze bych to dal do jedne promene - oprava - a proste bych si nadefinoval ze od 3. opravy je to pro mapu 2 atd ale prijde mi to dost blbe a spatne by se to upravovalo (furt pocitat jestli jsem nekde se neprepocet)
  9. hale snad jo s enum moc neumim ale trosku ho chapu - takze vyzkousim zitra snad a napisu sem
  10. Chci se zeptat, jestli to jde nejak spojit dohromady, new Float:oprava_ff[4][3] = {//toto {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0} }; new Float:oprava_x[2][3] = {//a toto {-0.0, 0.0, 0.0}, {-0.0, 0.0, 0.0} }; //i je u funkce for() if(mapa == 0) oprava_obj[i] = CreateObject(3096, oprava_ff[i][0], oprava_ff[i][1], oprava_ff[i][2], 0, 0, 0); else if(mapa == 1) oprava_obj[i] = CreateObject(3096, oprava_x[i][0], oprava_x[i][1], oprava_x[i][2], 0, 0, 0); aby jsem tam nemusel davat podminky mapa == 0 ale rovnou mapa == e (e je 0 az 10 treba pres funkci for()) predstavoval bych si to asi takto: if(mapa == e) oprava_obj[i] = CreateObject(3096, oprava[e][i][0], oprava[e][i][1], oprava[e][i][2], 0, 0, 0); akorat nwm jestli to nejak jde udelat protoze nwm jak bych na 2D pawno napsal neco ve 3D jestli mi chapete nejde to pres enum nebo neco? nic mi nenapada chci to dat do jedne promene protoze takto nemusim pripisovat jedno podruhem oprava_nazevmapy
  11. blby je ze nwm kde :/ je to oboji nastejno a funguje jen jedno - nikde jinde neni zadny SetPlayerColor ani nic s tim spolecneho a pouzivam to poprve takze nwm kde muze byt chyba
  12. Chci se zeptat proc nefunguje - mam ho kdyz se hra odstartuje a kdyz se clovek spawne - ani v jednu chvili nefunguje na spawnu for(new a; a < GetMaxPlayers();a++) if(hledaci[a] == 0 && hledaci[playerid] == 0) SetPlayerMarkerForPlayer(a, playerid, COLOR_ZELENA); pokud oba nejsou hledaci (hledaci == 0) tak se maji videt navzajem zelene coz nefunguje pri startu je to temer stejne akorat to vypada takto: for(new i; i < GetMaxPlayers();i++) for(new a; a < GetMaxPlayers();a++) if(hledaci[i] == 0 && hledaci[a] == 0) SetPlayerMarkerForPlayer(i, a, COLOR_ZELENA); pritom u: if(hledaci[i] == 1 && hledaci[a] == 0) ShowPlayerNameTagForPlayer(i, a, false); ktere je na startu spolecne s tamtim (a taky je to na OnPlayerStreamIn(..)) tak toto funguje (PS: nenechte se zmast ze je tam hledaci == 1 -> to je nepritel) potreboval bych poradit proc to nejde - SetPlayerColor jsem kontroloval a je pred tim takze to nijak neovlivnuje
  13. hrozně moc děkuju ale potřeboval bych jeste neco 2 problemy - jeden na logiku a druhy nema logiku MoveObject(show_arrow[playerid], mokam_x, mokam_y, mokam_z+2.0, 100.0, 90.0, 90.0, (LookAtMe(okamz_x, okamz_y, mokam_x, mokam_y)+90.0)); toto normalne funguje a lita nad autem (hrozne to zrni - vite jak to myslim) - tak bych potreboval to attachnout na auto jenomze - tam se to nenataci podle svetove x, y, z ale podle x, y, z auta - (ted mi napadlo odecist proste angle auta ale nwm jestli to bude fungovat ) 2. problem je horsi - LookAtMe mi normalne funguje (upraveny nez je tady akorat v tom ze misto return angle; je tam return floatround(angle, floatround_round); protoze mi to psalo chybu (asi neumi returnout Float) nadherne mi to funguje viz vyse az na tu drobnost ale kdyz chci udelat new angle_look = LookAtMe(x_s, y_s, rocket_x, rocket_y); tak se to nekolikrat opakuje bezduvodne a celej server je seklej protoze porad neco bezi - while? nwm co - kdyz dam new angle_look = 0; tak vsechno jde jak ma a zadny nekonecne opakovani zajimavy je ze i kdyz jsou u 2. problemu souradnice stejne jako u 1. problemu kde to funguje tak u 2. problemu to proste blbne a nwm proc
  14. řekněme, že mi stačí 2D protože jestli bude čumět dolu nebo nahoru mi je už jedno jelikož jde o rychlá auta, která maximálně padaj z MCH a sinus a cosinus to mi taky napadlo ale mam plnou hlavu vektoru a vektorovych soucinu ze nwm jak mam vyresit tyto 2 body mozna z nich udelat vektor a vypocitat uhel s vektorem ktery lezi na ose X a pak dopocitat uhel - ale jestli vite lehci zpusob tak reknete
  15. Jak prosím Vás zjistím úhel mezi dvěma body když mám u obou souřadnice x, y, z Potřebuji udělat, aby se otáčel(1.bod) předkem k 2. bodu Vím, že je to matika, ale nemůžu na to nějak přijít, aby to nebylo tak šíleně složité a zdlouhavé a zátěžové
×
×
  • Create New...