Jump to content

Marks

Uživatel
  • Příspěvků

    97
  • Registrován

  • Aktivní

Reputace

0 Na nule

About Marks

  • Narozeniny 10/02/1998

Kontaktní údaje

  • Web
    http://www.zgonline.9e.cz/
  • Jabber
    /
  • Skype
    marek.doubeta

Návštěvníci

790 profile views
  1. Díky, jestli tedy chápu správně, proč mi nešel příkaz /kick Jmeno Hrače a Zpráva, tak to bylo díky tomu, že jsem tam měl špatný formát? Místo u což je jméno hráče nebo ID, tak jsem tam měl s jako string?
  2. ATomas: Díky, chtěl bych se zepat, jestli není na webu někde ukázka jak tento příkaz funguje, popřípadě jak se jmenuje.
  3. Dobrý den. Mám problém s touto funkcí. Tuto funkci používám na získání informací z příkazu například /kick hrač důvod. if(!strcmp(cmdtext, "/kick", true, 5)){ if(Rank[playerid] == 3 || Rank[playerid] == 4){//pokud je hráč admin new num,message[256],text[256]; if(!sscanf(cmdtext[6],"is[256]",num,message)){ SendClientMessageToAllLang(0x0000FFFF,"|Server| - {FA710C}Admin kicked player","|Server| - {FA710C}Admin kikl hráče"); if(Language[playerid] == 1){ format(text,256,"|Server| - {FA710C}You will be kicked because: %s",message); }if(Language[playerid] == 2){ format(text,256,"|Server| - {FA710C}Budete kiknuti protože: %s",message); } SendClientMessage(playerid,0x0000FFFF,text); SetTimerEx("UdeleniKicku",100,false,"%i",playerid); }else{ SendClientMessageLang(playerid,0x0000FFFF,"|Server| - {FA710C}Bad format: use {1FCC06}/kick playerID","|Server| - {FA710C}Špatný formát: použij {1FCC06}/kick hračovoID"); } }else{ SendClientMessageLang(playerid,0x0000FFFF,"|Server| - {FA710C}You don't have permision!","|Server| - {FA710C}Nemáte oprávnění!"); } return 1; } Při napsání do chatu příkazu /kick a parametrů, tak mi to neustále hlásí špatný formát a to i v případě, že zadané parametry jsou správně. Toto chování mě dost zaráží, protože pár dnů před jsem vytvořil podobný příkaz, který využíval této metody a funguje bezchybně. Zde je jeho ukázka: if(!strcmp(cmdtext, "/creathouse",true,11)){ new Float:PozPX,Float:PozPY,Float:PozPZ,Float:inside1,Float:inside2,Float:inside3,name[256],price,text[256]; GetPlayerPos(playerid,PozPX,PozPY,PozPZ); if(Rank[playerid] == 4){ if(!sscanf(cmdtext[12],"fffs[256]i",inside1,inside2,inside3,name,price)){ //nějaký kód }else{ SendClientMessageLang(playerid,0x0000FFFF,"|Server| - {FA710C}Bad format: use {1FCC06}/createhouse InX InY InZ Name Price","|Server| - {FA710C}Špatný formát: použij {1FCC06}/createhouse VnitrekX VnitrekY VnitrekZ Jmeno Cena"); } }else{ SendClientMessageLang(playerid,0x0000FFFF,"|Server| - {FA710C}You don't have permission!","|Server| - {FA710C}Nemáte oprávnění!"); } return 1; } Proto bych se chtěl zeptat, kde dělám chybu, nebo neznáte-li někdo jiné řešení? Díky předem.
  4. Dobrý den. Zkouším udělat časovač, který by proběhl všechny pozice a zjistil, jestli okolo pozic je hráč, popřípadě jeho rychlost auta a porovnám, jestli není vyšší jak limit. Řeším to přes dva for cykli. Informace mám uložené takto: enum mRychlost{ Float:mx, Float:my, Float:mz, Float:mRange, mSpeed, mPunished[MAX_PLAYERS] = 0 } A toto vkládám do: new SeznamMericRychlosti[2][mRychlost]; Práce s pozicemi, a ostatním funguje nádherně, ale problém nastává, když chci pracovat s mPunished[MAX_PLAYERS]; Do tohoto chci vložit hodnotu takto: SeznamMericRychlosti[radar][mPunished[player]] = 1; Při použití ale tohoto kódu mi program napíše následující chyby: error 028: invalid subscript (not an array or too many subscripts): "mPunished" warning 215: expression has no effect error 001: expected token: ";", but found "]" error 029: invalid expression, assumed zero fatal error 107: too many error messages on one line Všechny errory se vztahují na jeden řádek. Ještě nakonec bych doplnil, že radar a player získám pomocí for cyklů. Děkuji všem za věnovaný čas, i za odpovědi. Díky
  5. Marks

    pomoc Interiéry aůt

    Dobře. Tedy mám udělat interiér pouze u aůt, kde lze vykreslit bez problémů? A na zbytek se vykašlat?
  6. Ahoj. Rozhodl jsem se, že si napozicuji vnitřní kameru v autech. Z počátku mi to šlo nádherně, ale když jsem narazil na Linerunner, potom Dumper, tak se mi začal objevovat takový nežádoucí jev. Když jsem vlezl do auta, tak jsem místo volantu viděl motor, a nebo jsem vůbec neviděl auto. Vím, že to je tím, že kamera zasahuje do textur auta, a proto se nevykresluje. Proto jsem chtěl na to nasadit nějakou logiku, která by mi mohla pomoct, a proto jsem si uložil pozici auta, a pak v flycam jsem si uložil pozici kamery. Když jsem hodnoty odečetl od sebe, tak sice odpovídali, ale neviděl jsem interiér jako když jsem měl zaplou flycam. Proto bych se chtěl zeptat, jestli u kamiónů nebo třeba u Stretch nelze udělat takovýto pohled zevnitř auta? A pokud lze, jak prosím na to, abych neviděl motor, nebo třeba kolo? Přidám sem pár obrázků. https://www.dropbox.com/sh/t1r6sntcj9g9f58/AACQtM9aT-jB2c3hr1NgWCXOa?dl=0 Na obrázcích je jenom ukázka, co mi to dělá, i když to nastavím abych to měl nad nebo v hlavě, neustále vidím to samé. Pokud se vám obrázky nezobrazují, stiskněte F5. Děkuji všem předem. Dále co taky nechápu, proč se děje, když nastoupím do auta poprvé, tak se mi nějak ten attachovaný objekt zničí, nebo se jenom hodí SetCameraBehindPlayer.
  7. Díky!! Zkusil jsem to upravit do následujícího tvaru: stock CreateDynamic3DTextLabelLang(playerid,&Text3D:TEXT3D,TEXT_TEXTEN[],TEXT_TEXTCZ[],Float:x,Float:y,Float:z,Float:drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid){ if(Language[playerid] == 1){ TEXT3D = CreateDynamic3DTextLabel(TEXT_TEXTEN,0x0000FFFF,x,y,z,drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid,playerid); }if(Language[playerid] == 2){ TEXT3D = CreateDynamic3DTextLabel(TEXT_TEXTCZ,0x0000FFFF,x,y,z,drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid,playerid); } } A v mazatím kódu mám testtext[playerid], ale asi jsem sem napsal blábol, když napíšu /smazat kde mám kód na mazání textdrawu, tak to funguje! Díky moc Tímto chci tak říct, že pokud někdo náhodou narazil na tohle téma a hodí se mu to, tak si to může klidně zkopírovat do scriptu.
  8. Tak ty parametry tam mám taky abych mohl nastavovat ten text. Koukl jsem se do streamu viz: http://forum.sa-mp.com/showthread.php?t=102865 Tam jsem si vyčetl pár hodnot, který jsem pak dal i do té metody, tu je ukázka kódu jak teď zakládám 3d text : AudioOnline[playerid] = CreateDynamic3DTextLabel("{2BCFFF}|{00FF00}Online rádio{2BCFFF}|", 0x0000FFFF,1715.7653, -1917.6493, 19.1346,20,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,-1,-1,playerid); Takhle zakládám dynamickej 3d text. Udělal jsem si metodu abych to měl jednuduší (pokud to bude fungovat): stock CreateDynamic3DTextLabelLang(playerid,Text3D:TEXT3D[],TEXT_TEXTEN[],TEXT_TEXTCZ[],Float:x,Float:y,Float:z,Float:drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid){ Kde playerid = playerid hráče, podle toho poznám jaký má nastavený jazyk hráč + komu se má vytvořit ten 3d text. Text3D:TEXT3D[] = asi ta nejproblematičtější část mého kódu, má to být něco jako v příkladu je AudioOnline[playerid] = Create.... tak tady to chci udělat univerzálně TEXT_TEXTEN[],TEXT_TEXTCZ[] = text který se bude zobrazovat hráči Float:x,Float:y,Float:z = pozice textu Float:drawdistance = jak daleko se bude zobrazovat attachedplayer,attachedvehicle = jestli je text přichycen na hráči nebo na autě testlos = prostě testlos worldid = ID světa ve kterém je ten text zobrazovanej interiorid = obdobně jako worldid akorát s interiérem a pak v tý originální deklaraci je ještě playerid, ale to tu nepotřebuji, protože to předávám už na začátku... Omlouvám se za trochu delší příspěvek
  9. Díky, už jsem to nějak vyřešil, že mi to nehází errory. Teď mám zase problém s tím, že když napíšu do chatu /smazat Tu je kód: if(!strcmp(cmdtext, "/smazat", true,4)){ DestroyDynamic3DTextLabel(TEXT3D[playerid]); return 1; } Tak mi to ten vytvořený 3d text přes tu metodu nesmaže, takže to asi nefunguje. Ten text zakládám takto: CreateDynamic3DTextLabelLang(playerid,testtext[playerid],"TEST EN","TEST CZ",1714.9502,-1911.8912,14.5666,20,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,-1,-1); Předpokládám, že tam bude něco špatně s tím předáváním těch proměnných. Tu mám ten kód metody, kde zakládám ten textdraw: stock CreateDynamic3DTextLabelLang(playerid,Text3D:TEXT3D[],TEXT_TEXTEN[],TEXT_TEXTCZ[],Float:x,Float:y,Float:z,Float:drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid){ if(Language[playerid] == 1){ TEXT3D[playerid] = CreateDynamic3DTextLabel(TEXT_TEXTEN,0x0000FFFF,x,y,z,drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid,playerid); }if(Language[playerid] == 2){ TEXT3D[playerid] = CreateDynamic3DTextLabel(TEXT_TEXTCZ,0x0000FFFF,x,y,z,drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid,playerid); } } Nevíte prosím někdo co stím? Napsal jsem to zase špatně, jako vždy, nebo to takhle nejde řešit?. Díky Marks
  10. Díky trochu si mě posunul dál, když tam napíšu PlayerText, tak mi to hodí 4 errory. Tak jsem tam napsatl Text3D:Text3D a hodí to jeden error a to tenhle: C:\Users\Marks\Desktop\samp server\gamemodes\gamemode1.pwn(7025) : warning 204: symbol is assigned a value that is never used: "TEXT3D" Nechápu to ....
  11. Ahoj. Chci si vytvořit pomůcku k 3D dynamic textu. Jelikož mám na serveru 2 jazyky, tak nejprve založím 3D Text jako česky a poté ho upravím do angličtiny, pokud hráč má anglicky hru. Jelikož tam mám už hodně 3d textů tak mě napadlo si to zjednodušit, a to použitím metody která za mě rozhodne, jestli hráč má hru anglicky nebo česky. Text zakládám pro hráče tímto způsobem: AudioOnline[playerid] = CreateDynamic3DTextLabel("{2BCFFF}|{00FF00}Online rádio{2BCFFF}|", 0x0000FFFF,1715.7653, -1917.6493, 19.1346,20,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,-1,-1,playerid); Napadlo mě, že bych si mohl udělat metodu pod názvem CreateDynamic3DTextLabelLang(...) a to vypadá následovně: CreateDynamic3DTextLabelLang(playerid,testtext[playerid],"TEST EN","TEST CZ",1714.9502,-1911.8912,14.5666,20,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,-1,-1); Zde je metoda kde se má rozhodnout o tom, jaký jazyk se hráči založí: stock CreateDynamic3DTextLabelLang(playerid,TEXT3D[],TEXT_TEXTEN[],TEXT_TEXTCZ[],Float:x,Float:y,Float:z,Float:drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid){ if(Language[playerid] == 1){ TEXT3D = CreateDynamic3DTextLabel(TEXT_TEXTEN,0x0000FFFF,x,y,z,drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid,playerid); }if(Language[playerid] == 2){ TEXT3D = CreateDynamic3DTextLabel(TEXT_TEXTCZ,0x0000FFFF,x,y,z,drawdistance,attachedplayer,attachedvehicle,testlos,worldid,interiorid,playerid); } } Problém nastává u této věci: Zakládám každému hráči 3d text, pod určitým názvem například AudioOnline[playerid] nebo testtext[playerid]. Toto zakládám abych pak mohl text smazat když se hráč odpojí. Toto jsem chtěl právě vyřešit v mé metodě TEXT3D[], ale když chci program zkompilovat, tak dostanu tyto errorový hlášky: C:\Users\Marks\Desktop\samp server\gamemodes\gamemode1.pwn(1563) : warning 213: tag mismatch C:\Users\Marks\Desktop\samp server\gamemodes\gamemode1.pwn(7026) : error 046: unknown array size (variable "TEXT3D") C:\Users\Marks\Desktop\samp server\gamemodes\gamemode1.pwn(7028) : error 046: unknown array size (variable "TEXT3D") Moje otázka tedy zní, nevíte prosím někdo, jak mám v hlavičce metody napsat ten chtěný paramter? Abych založil ten text pod určitou proměnnou?
  12. Co jsem si četl o funkci public, tudíž i froward, tak se používá pouze když jí voláš časovačem, nebo CallLocalFunction a CallRemoteFunction. Myslím že by ti to takhle házet chyby nemělo. Ale pokud tu metodu nevoláš časovačem nebo těma dvěma, přijde mi zbytečný tam dávat public a forward. Použij jednoduše stock EndEvent(playerid){} Nevím jestli tohle pomůže vyřešit errory, ale myslím si, že to je zlepšení
  13. To také nemusí být hardwarem, ale tak jak Windows běží, tak se postupně zasrávaj. Skus třeba pročistit počítač, nebo třeba vypnout programy, které se ti spouští při startu Windows a ani o nich nevíš, a nepotřebuješ je.
  14. Omlouvám se, ale ze začátku jsem to moc nepochopil -> myslel jsem že po mě chcete kód kde ukazuji dialog (myslet znamená....). Ano, používám tento kód který sem přidal arci224. Předtím normálně tento kód fungoval, ale teď přijdu k místu, kde řeším věci pomocí klávesnice a poprvé mi to zobrazí pouze 1x dialog. Ale když přijdu podruhé ať už na stejné místo, tak i jinam tak mi to začne vypisovat neustále dokola. Nevím vůbec čím to může být. Dokonce jsem zkoušel i napsat návratové tipy ale ty také nepomohly. Díky předem.
×
×
  • Create New...