Jump to content

martanius

Uživatel
  • Příspěvků

    168
  • Registrován

  • Aktivní

  • Vítězných dnů

    2

Everything posted by martanius

  1. Ahoj, potřeboval bych poradit jak přidám nový listitem do dialogu. Vím jak sestavit dialog když vím jaký počet listitemů (sry nwm jak to jinak nazvat) budu mít, ale dělám si PM systém ve kterém bych chtěl udělat něco jako adresář... (neberte mi nápad ) No a když si hráč přidá do dialogu někoho koho tam chce tak mu to musí v tom dialogu udělat nový listitem a jeho jménem a popř. jestli je online nebo ne - to bych věděl jak udělat, ale nevím jak to s tím listitemem. Napadlo mě udělat define s celou tou podmínkou, ale nevím jak to přesně sestavit. Děkuji.
  2. Přečti si první příspěvek a radši dvakrát za sebou Žádné new PATH[MAX_PLAYERS]; tam nenajdeš.... PS: Svůj dotaz jsi napsal: čtv 17. kvě 2012 15:29:18 Já odpověděl (předemnou ještě někdo jiný) : čtv 17. kvě 2012 22:18:14 6 hodin a 48 minut (cca) jsou u tebe skoro 2 dny ? Nezapomeň, že PATH musíš definovat ještě předtím než ho někde použiješ...
  3. To jsem už také zkoušel a nepomohlo... já to udělám přes dialogy stejně je to takový divný :/ Ale díky všem za pomoc
  4. martanius

    pomoc QCMD

    Ano, většinou pod OnPlayerCommandText. S QCMD sice nedělám, ale předpokládám že je to podobné jako u DCMD
  5. Nepomáhá ale prý musí být správně nastavena velikost TextSize a barva textu.
  6. Ahoj, mám takový problém, že když vytvořím textdraw, nastavím TextDrawSetSelectable na 1 a pak když stiskne klávesu tak SelectTextDraw(playerid,0xFF4040AA); a po přejetí kurzoru by se měl text zbravit, ale nezbarví userpanel[playerid] = TextDrawCreate(0,428,"User panel"); TextDrawLetterSize(userpanel[playerid],1.000000,2.000000); TextDrawAlignment(userpanel[playerid],0); TextDrawBackgroundColor(userpanel[playerid],0x000000FF); TextDrawFont(userpanel[playerid],0); TextDrawUseBox(userpanel[playerid],1); TextDrawBoxColor(userpanel[playerid],0x000000FF); TextDrawTextSize(userpanel[playerid],500.000000,438.000000); TextDrawSetOutline(userpanel[playerid],0); TextDrawSetProportional(userpanel[playerid],1); TextDrawSetShadow(userpanel[playerid],1); ///////////////////////////////////////////////////////////////////// PlayerTextDrawSetSelectable(playerid,PlayerText:userpanel[playerid],1); TextDrawShowForPlayer(playerid,userpanel[playerid]); if((newkeys & (KEY_FIRE | KEY_LOOK_BEHIND)) == (KEY_FIRE | KEY_LOOK_BEHIND)){ SelectTextDraw(playerid,0xFF4040AA); } Proč ne ? děkuji.
  7. No já se ji učim, ale ne každý Někdo zkrátka rozumí větám jako OnPlayerConnect, OnPlayerKeyState atd... ale delším textům třeba ne tak docela a proto si myslím že je tento tut užitečný
  8. Správně, nahoru do modu : #define PATH "/Users/%s.ini"
  9. Mě se líbí Zelená je moje oblíbená barva
  10. Jo už to jde díky měl jsem za to že jsem si je už aktualizoval... mam tu v pawne bordel
  11. Taky jsem měl tyhle rádoby streamery, ale pak jsem si stáhnul F_Streamer kde se dá normálně v pawnu přes define nastavit dohlednost, počet zobrazených objektů, vzdálenost jakou musí hráč ujet aby se objekty objevili atd.. http://forum.sa-mp.com/showthread.php?p=509136
  12. Ahoj, prý jsou nové funkce v sa-mp 0.3e a to konkrétně PlayerTextDrawSetSelectable SelectTextDraw CancelSelectTextDraw Ale když se pokusím takové funkce zadat do pawna vyskočí mi undefined symbol... Mám pawno ze 0.3e kde jsou ty funkce ? Ani v tom postranním menu jsem je nenašel. Děkuji.
  13. Ahoj, sice tento mod ještě není ani zdaleka hotový, ale rozhodl jsem se sem tento mod popsat a říci co by v modu mohlo být. Nejedná se o only stunts mod ani real mod je to spíše takový fun mod. Co v modu bude (přibližně) ? Mod se bude odehrávat po celém San Andreas avšak ne tak docela. Po připojení hráče portne na jedno z letišť (ls,lv nebo sf) kde budou skoky atd... prostě stunt letiště. Až bude hráč chtít může se připojit k jedné z takových "miniher". Minihry Derby Race DM TDM Po výběru hráče zařadí systém do fronty a dokud se nenajde určitý počet hráčů, kteří se také připojí na specifikovanou minihru hráč může zabít nudu jízdou po stunt letištích. Až se připojí požadovaný počet hráčů tak všechny hráče přesune na místo konání minihry (takže závodní trať, DM oblast atd..). Ten kdo zůstane naživu jako poslední vítězí. Postup, cíl modu Za každou vyhranou minihru hráči přibude pár bodů nebo zkušeností a bude postupovat na vyšší lvly, něco jako game lvlvy nebo něco takového. Závody/ derby Poté mě ještě napadlo že za dělání stuntů dostává každý hráč již ze základní určitou částku peněz za provedený stunt. Za ně by si mohl poté hráč koupit nová vozidla na derby nebo race a otevřeli by se mu díky tomu další sezony (nové mapy) kam smí jen hráči se zakoupeným vozidlem. Dejme tomu třída A, B, C a D. Vozidla pak ještě rozdělím. Deathmatch / Team deathmatch Zde to nemám ještě tak promyšlené, ale mohl by každý hráč opět za zabití dostávat nějaké KP (kill pointy) a za ně nakupovat nové zbraně a postupovat k dalším mapám. Rozhodl jsem se pro změnu a mod udělám komplet v češtině. Doufám že se líbí a chci slyšet váš názor Proto to sem píši. Můžete mi i vy pomoci s mapováním závodních map,derby,dm,stunt >> mapovani-t28312.html
  14. zbytočné... stačí iba TextDrawSetString(textdraw1,"novy text"); Nebo tak...
  15. #include new Text:textdraw1; new Text:textdraw2; forward zmena(); public OnFilterScriptInit() { //-------------------------------------------------- textdraw1 = TextDrawCreate(488,8,"Moj text"); TextDrawLetterSize(textdraw1,0.500000,1.000000); TextDrawAlignment(textdraw1,0); TextDrawBackgroundColor(textdraw1,0x000000FF); TextDrawFont(textdraw1,0); TextDrawUseBox(textdraw1,1); TextDrawBoxColor(textdraw1,0x00000066); TextDrawTextSize(textdraw1,628.000000,-50.000000); TextDrawSetOutline(textdraw1,1); TextDrawSetProportional(textdraw1,1); TextDrawSetShadow(textdraw1,1); //-------------------------------------------------- textdraw2 = TextDrawCreate(488,8,"Moj text"); TextDrawLetterSize(textdraw2,0.500000,1.000000); TextDrawAlignment(textdraw2,0); TextDrawBackgroundColor(textdraw2,0x000000FF); TextDrawFont(textdraw2,0); TextDrawUseBox(textdraw2,1); TextDrawBoxColor(textdraw2,0x00000066); TextDrawTextSize(textdraw2,628.000000,-50.000000); TextDrawSetOutline(textdraw2,1); TextDrawSetProportional(textdraw2,1); TextDrawSetShadow(textdraw2,1); //-------------------------------------------------- return 1; } public OnFilterScriptExit() { TextDrawDestroy(textdraw1); TextDrawDestroy(textdraw2); return 1; } public OnPlayerConnect(playerid) { TextDrawHideForPlayer(playerid, textdraw1); TextDrawHideForPlayer(playerid, textdraw2); return 1; } public OnPlayerSpawn(playerid) { TextDrawShowForPlayer(playerid, textdraw1); TextDrawShowForPlayer(playerid, textdraw2); SetTimer("zmena",5000,0);//timer na 5 vterin return 1; } public zmena() { new string[100];//nový string format(string,sizeof(string),"Prave jsem zmenil text");//formatujeme si text TextDrawHideForPlayer(playerid,textdraw1);//skryjeme text TextDrawSetString(textdraw1,string);//zmenime text TextDrawShowForPlayer(playerid,textdraw1);//a znovu ho zobrazime return 1; } Toto mění jen ten první textdraw, když chceš změnit i ten druhý tak normálně do publicu zmena formátuješ i ten druhý a provedeš to stejně jako u prvního, jen format(... dej až po tom co se ten první textdraw ukáže jinak změníš text v proměnné string a zobrazí se ti ten nový text u obou stejný.
  16. Simpsonovi Griffinovi Hězdná brána SG-1 a Atlantida
  17. Ahoj, hledal jsem ve vyhledávači a našel jen tut na DText label nad hlavou hráče, asi si každý už domyslí jak by udělal 3D text někde jinde, ale stejně to sem vypíši pro ty co tomu nerozumí. Je to strašně jednoduchý. Ještě upozorňuji, že tyto funkce byly přidány od verze 0.3. Vysvětlím vám tyto funkce : 1. Create3DTextLabel - Vytvoří 3D text 2. Delete3DTextLabel - Odstraní 3D text 3. Attach3DTextLabelToPlayer - Připne 3D text k hráči 4. Attach3DTextLabelToVehicle - Připne 3D text k vozidlu 5. Update3DTextLabelText - Změní barvu či text 3D textu 6. CreatePlayer3DTextLabel - Vytvoří 3D text jen pro hráče 7. DeletePlayer3DTextLabel - Odstraní vytvořený text pro hráče 8. UpdatePlayer3DTextLabelText - Změní barvu či text 3D textu pro hráče 1. Create3DTextLabel 2. Delete3DTextLabel 3. Attach3DTextLabelToPlayer 4. Attach3DTextLabelToVehicle 5. Update3DTextLabelText 6. CreatePlayer3DTextLabel 7. DeletePlayer3DTextLabel 8. UpdatePlayer3DTextLabel
  18. ok popisky jsem smazal jestli to vypadá líp. A název upravil, měl jsem namysli jako že ten script je od Y_Lesse takže Y_Lessův script čili Y_Lessův způsob, ale on těch scriptů má hafo takže je asi lepší registrace přes Y_ini
  19. martanius

    pomoc Tabulky

    http://forum.sa-mp.com/showthread.php?t=273088
  20. Ahoj, viděl jsem tu spoustu registrací před DINI, ale ještě jsem nenarazil na registraci přes y_ini. Takže doufám že to tu už není a jdem na to. Chtěl bych upozornit, že tento tut není můj nýbrž byl zkopírován a přeložen do CZ + přidané popisky ke scriptům. Jakékoliv udělené hodnocení udělujete autorovi tohoto tutu - KUSH. Registrace + přihlašování je přes dialog. 1. Includy Celou složku zkopírujeme do naší pawno složky\Include http://www.solidfiles.com/d/51017ec473/ 2. Definice v pawnu Takže složku YSI máme v includech a jdeme na definice, otevřeme pawno a na začátek : #include //Definice y_ini ze složky YSI - tento soubor je pro registraci/přihlášení Další si definujeme dialogy: #define DIALOG_REGISTER 1 #define DIALOG_LOGIN 2 #define DIALOG_SUCCESS_1 3 #define DIALOG_SUCCESS_2 4 Teď cestu kam se nám budou uživatelské účty ukládat,vytvořte si složku Users ve scriptfiles : #define PATH "/Users/%s.ini" Teď pár barev, můžete si změnit: #define COL_WHITE "{FFFFFF}" #define COL_RED "{F81414}" #define COL_GREEN "{00FF22}" #define COL_LIGHTBLUE "{00CED1}" 3. Stocky,enumy a forwardy Vytvoříme si nový enum s informacemi, které se budou ukládat po odpojení a načítat při připojení: enum pInfo { pPass, pCash, pAdmin, pKills, pDeaths } new PlayerInfo[MAX_PLAYERS][pInfo]; Teď nějaký ten forward na načtení informací,forward musí být před publicem: forward LoadUser_data(playerid,name[],value[]); public LoadUser_data(playerid,name[],value[]) { INI_Int("Password",PlayerInfo[playerid][pPass]); INI_Int("Cash",PlayerInfo[playerid][pCash]); INI_Int("Admin",PlayerInfo[playerid][pAdmin]); INI_Int("Kills",PlayerInfo[playerid][pKills]); INI_Int("Deaths",PlayerInfo[playerid][pDeaths]); return 1; } Teď stock na pojmenování souboru ve složce Users: stock UserPath(playerid) { new string[128],playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),PATH,playername); return string; } Nyní si definujeme hash system,ke stockům : stock udb_hash(buf[]) { new length=strlen(buf); new s1 = 1; new s2 = 0; new n; for (n=0; n { s1 = (s1 + buf[n]) % 65521; s2 = (s2 + s1) % 65521; } return (s2 << 16) + s1; } 4. Výzva k registraci při připojení a dialog Do OnPlayerConnect: if(fexist(UserPath(playerid))) { INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Přihlášení",""COL_WHITE"Zadejte heslo pro přihlášení.","Přihlásit","Odejít"); } else//pokud není registrován { ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Zaregistrujte se prosím",""COL_WHITE"Zadejte vaše heslo pro nový účet.","Registrovat","Odejít"); } Další je tu dialog, toto vložte do OnDialogResponse: 5. Uložení informací: Máme registraci i přihlášení hotové, teď jen ukládání a načítání informací. Do OnPlayerDisconnect: new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); INI_WriteInt(File,"Cash",GetPlayerMoney(playerid)); INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]); INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]); INI_Close(File); 6. Zápis do proměnné zabití a smrti: Teď už jen při každé smrti hráče zjistíme kdo ho zabil a přičteme hráči co ho zabil (killerid) další bod za zabití a hráči co zemřel (playerid) další bod za smrt, do OnPlayerDeath: PlayerInfo[killerid][pKills]++; PlayerInfo[playerid][pDeaths]++; PS: Komentáře typu: lamo, kopíruješ si strčte slušně řečeno za klobouk, uvádím, že nejsem autorem a tut byl přeložen pro lidi s menší znalostí AJ (pawneři nemusí být vždy dobří v AJ). Děkuji za přečtení a doufám že vám tut pomůže.
  21. potřeboval bych přes klávesu L. ALT zrychlit auto, ale když zjistím rychlost auta a přidám k nim nějakou hodnotu tak vždy to auto zrychlí, ale jako někdy doleva nebo doprava. Prostě nevím jak rychlit auto rovně... Mám to asi takhle : if(newkeys==KEY_WALK){ if(IsPlayerInAnyVehicle(playerid)){ new Float:velx[MAX_PLAYERS],Float:vely[MAX_PLAYERS],Float:velz[MAX_PLAYERS]; GetVehicleVelocity(GetPlayerVehicleID(playerid),velx[playerid],vely[playerid],velz[playerid]); SetVehicleVelocity(GetPlayerVehicleID(playerid),velx[playerid]+2,vely[playerid]+2,velz[playerid]); } } To auto se sice zrychluje, ale do os X a Y,ale když jede hráč po ose X tak ho to zrychlí i do osy Y a naopak Díky za odpověď.
  22. A když portuješ ty auta z interiéru nezapomněl jsi nastavit interiér auta zpět na 0 ? ---------- Aha promiň špatně jsem to pochopil. ---- No já to vyřešil takhle. Vytvořil jsem auta nastavil mu pozici a interiér, pak jsem vystoupil z auta a portnul se do interiéru 0 (tedy ven) no pak jsem se opět portnul do interiéru a auto tam bylo.
×
×
  • Create New...