Jump to content

Baseball

Uživatel
  • Příspěvků

    64
  • Registrován

  • Aktivní

  • Vítězných dnů

    1

Everything posted by Baseball

  1. Dobrý večer, dnes když jsem poprvé otestoval můj mód se 2 postavama tak jsem zjistil že admin podmínka funguje dobře pouze na ID 0 pokud má hráč id 1+ tak je podmínce úplně jedno jestli hráč je admin nebo ne. if(AdminLevel[playerid] !=1 ) return SCM(playerid, cervena,"[ ! ] {FFFFFF}Nemáš administrační práva!"); Když dám podmínku if(AdminLevel[playerid] > 0) return SCM(playerid, cervena,"[ ! ] {FFFFFF}Nemáš administrační práva!"); tak to je zase opačně. Pořád to píše Nemáš práva.. Už jsem z toho fakt zoufalej. Prosím pomůžete? Dík moc
  2. Dobrý den, již přes 5 dní se snažím najít jak udělat na minimapě čáru (po silnici) stále bezúspěšně. Byla by nějaká hodná dušička která by poradila? děkuji
  3. Hipe font a barevnost opravena na tebou požadovanou dle návodu a snad je to teď více přehledné
  4. TextDraw namísto GameTextForAll Úvod: Tento návod je zaměřen na TextDrawy a jejich využití namísto GameTextForAll jelikož když máte logo serveru přes TextDraw a použijete GameTextForAll / ForPlayer tak text draw zmizí. Proto jsem se rozhodl udělat provás tento malý TuT. Co potřebujeme(?): TextDraw Editor by Zamaroht(http://samp-scripts.com/post/11314/[0.3x_RC1+]_Zamaroht_TextDraw_Editor_with_Model_Previews/adri1/filterscript/other) Vysvětlení: Budeme pracovat s dcmd které nám usnadní v tomto práci, také budeme pracovat se stringama. Zapotřebí je testovací server aby jste mohli vytvořit grafickou předlohu. Ve hře si vytvořímte grafickou předlohu kterou pak uložíte. Jděte do scriptfiles a otevřete textový dokument (s názvem vašeho projektu) a tam máte vše co potřebujete (zkopírujete kód který vypadá nějak takto: Textdraw0 = TextDrawCreate(410.000000, 200.000000, "Tvůj text"); TextDrawBackgroundColor(Textdraw0, 255);TextDrawFont(Textdraw0, 1); TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);TextDrawColor(Textdraw0, -2139062017); TextDrawSetOutline(Textdraw0, 0);TextDrawSetProportional(Textdraw0, 1); TextDrawSetShadow(Textdraw0, 1);TextDrawUseBox(Textdraw0, 1); TextDrawBoxColor(Textdraw0, -2139062017); TextDrawTextSize(Textdraw0, 490.000000, 10.000000); Nahoře do GM / FS dáme #define Textdraw0 (nebo jaké číslo vám to tam hodí) aby nám to fungovalo dáme nahoře do mádu definici dcmd. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 Příklad: A teď se dostáváme k samotném tvoření "dannu". do OnGameModeInit() dáme celý kód který vám to vyhodí do scripfiles. (ten kód který je nahoře ale VÁŠ kód). Pak dáte Úplně dolů dáme dcmd ve kterém bude náš příkaz a za ním (playerid,params[]) dcmd_dann(playerid,params[]) Aby nám neházelo upozornění dáme pod toto { #pragma unused playerid Teď jsme se dostali k samotnému nastavení textu. TextDrawSetString(Textdraw0,params); Pokud máte Textdraw5 nebo jiné číslo tak ho musíte udělat i zde! Teď dáme ještě že po zadání příkazu se tento TextDraw ukáže všem hráčům. TextDrawShowForAll(Textdraw0); return 1; } Teď jdeme do OnPlayerCommandText a dáme sem definici pro naše dcmd. zadáme někam do toho publicu: dcmd(dann,4,cmdtext); dcmd(dann = příkaz 4 = počet písmen na rozeznání příkazu cmdtext = text v příkazu Tipy: Na serveru když zadáte /dann [TEXT] tak pro změnu barev dejte ~r~ (červená) podle této tabulky se podívejte na barvy - ~n~ = New line ~r~ = Red ~g~ = Green ~b~ = Blue ~w~ = White ~y~ = Yellow ~p~ = Purple ~l~ = Black ~h~ = Turns text lighter ~u~ = Grey up arrow ~d~ = Grey down arrow ~~ = Grey right arrow ( http://weedarr.wikidot.com/game-text#toc8 ) Závěr: Toto by bylo z tohoto TuT vše, pokud máte nějaké návrhy na rychlejší úpravu nebo něco takového tak uričtě pište Pokud by vám to nefungovalo pište zprávu. ( )
  5. Pickup funguj už ale stejný systém na CP nefunguje.. //Pilot //switch(pilotcp[playerid]) // "přehazuje" hodnotu proměny, nevím jak nazvat. { if(IsPlayerInSphere(playerid,1313.9821,1313.6451,11.7392,20)) { DisablePlayerRaceCheckpoint(playerid); pilotcp[playerid]++; SetPlayerRaceCheckpoint(playerid,1, 2106.5129,-2424.2981,14.4659,2106.5129,-2424.2981,14.4659, 20); SCM(playerid, 0xFF9900ff,"[ MISE ] {FFFFFF}Nyní leť do San Fiera"); } if(IsPlayerInSphere(playerid,2106.5129,-2424.2981,14.4659,20)) //case 11: { DisablePlayerRaceCheckpoint(playerid); pilotcp[playerid]++; SetPlayerRaceCheckpoint(playerid,1,2106.5129,-2424.2981,14.4659,2106.5129,-2424.2981,14.4659,20); SCM(playerid, 0xFF9900ff,"[ MISE ] {FFFFFF}Nyní leť do Los Santos"); } if(IsPlayerInSphere(playerid,2106.5129,-2424.2981,14.4659,20)) //case 11: { DisablePlayerRaceCheckpoint(playerid); pilotcp[playerid]++; SetPlayerRaceCheckpoint(playerid,1,1313.9821,1313.6451,11.7392,1313.9821,1313.6451,11.7392,20); SCM(playerid, 0xFF9900ff,"[ MISE ] {FFFFFF}Nyní leť do Las Venturas"); } if(IsPlayerInSphere(playerid,1313.9821,1313.6451,11.7392,20)) //case 12: { DisablePlayerRaceCheckpoint(playerid); pilotcp[playerid]++; GivePlayerMoney(playerid, 50000); GameTextForAll("~w~Vydelal jsi~n~~r~50000$",5000,5); } } return 1; }
  6. To jsem jen blbě zkopíroval z modu pak opravil hned co jsem dopsal..
  7. public OnPlayerPickUpPickup(playerid, pickupid) { if(pickupid == PickupOp) { id_vozidla = GetPlayerVehicleID(playerid); SetVehicleHealth(id_vozidla,100); RepairVehicle(id_vozidla); return 1; } if(pickupid == PickupNi) { id_vozidla = GetPlayerVehicleID(playerid); AddVehicleComponent(id_vozidla, 1010); return 1; } //Údržbář if(IsPlayerInSphere(playerid,1312.9969,2085.5222,10.8127,2)) { Zamestnani[playerid] = 1; SCM(playerid, bila, "Jsi zaměstnán jako Údržbář"); return 1; } //Pilot //if(pickupid == Pilot) if(IsPlayerInSphere(playerid,1306.5231,1614.9362,10.8203,2)) } print("TEST"); Zamestnani[playerid] = 2; SCM(playerid, bila, "Jsi zaměstnán jako Pilot"); } return 1; } PickupOp a Ni nejsou od začátku, vytvářejí se příkazem na pozici hráče. OnGameModeInit public OnGameModeInit() { Create3DTextLabel("Údržbář",0x008000FF,1312.9969,2085.5222,10.8127+0.5, 50,0,0); /*Udrzbar*/ CreatePickup(1581,1,1312.9969,2085.5222,10.8127, 0); Create3DTextLabel("Pilot", 0x4682B4FF,1306.5231,1614.9362,10.8203+0.5,50,0,0); /*Pilot*/CreatePickup(1581,23,1306.5231,1614.9362,10.8203,0); return 1; CreateVehicle(...) } Tady se mi nechce sem dávat těch 400 aut +-
  8. jojo, mám pod tím ještě vozidla tak jsem to oříznul
  9. Měl jsem tam 2 když to nefungovalo tak jsem tam dal větší.. Ani print to nevyvolá + dá se to použít i na CP? Ty mě to také prohazuje.
  10. #define IsPlayerInSphere(%0,%1,%2,%3,%4) IsPlayerInRangeOfPoint(%0,%4,%1,%2,%3) 23? nezmizne když ho seberu. Když byl sám a nebylo to přes IsPlayerInSphere tak to šlapalo dobře
  11. public OnGameModeInit() { Create3DTextLabel("Údržbář",0x008000FF,1312.9969,2085.5222,10.8127+0.5, 50,0,0); CreatePickup(1581,23,1312.9969,2085.5222,10.8127, 0); Create3DTextLabel("Pilot", 0x4682B4FF,1306.5231,1614.9362,10.8203+0.5,50,0,0); CreatePickup(1581,23,1306.5231,1614.9362,10.8203,0); }
  12. Zdravím, udělal jsem si joby a začaly se mi prohazovat funkce, tak jsem šel na ATomasův TuT s pickupama ( http://pawno.cz/topic/26572-jak-zabranit-prohazovani-akci-v-pickupech/ ) udělal jsem to podle toho ale když do pickupu vejdu je nečinný. (pawno 0.3.7) public OnPlayerPickUpPickup(playerid, pickupid) { if(IsPlayerInSphere(playerid,1312.9969,2085.5222,10.8127,10)) { SCM(playerid, bila,"Jsi zaměstnán jako Údržbář") Zamestnani[playerid] = 1; return 1; } } if(IsPlayerInSphere(playerid,1306.5231,1614.9362,10.8203,10)) { Zamestnani[playerid] = 2; SCM(playerid, bila,"Jsi zaměstnán jako Pilot") return 1; } }
  13. Zdravím, přemýšlím nad tím už několik dní ale stále to nefunguje. Potřebuji aby když se hráč připojí na server aby mu to načetlo peníze z uloženého souboru.. dini_Get(file, "Penize"); GivePlayerMoney(playerid, /*co sem?*/); Myslel jsem že bude fungovat new PenizeHrace; PenizeHrace = dini_Get(file, "Penize"); GivePlayerMoney(playerid,PenizeHrace); ale hází to Éčko (must be assigned to an array) Moc děkuji (jej dal jsem to do špatné záložky )
  14. dof2 jsem zkoušel ale registračka která je i zde na fóru mě kicknula a napsala že se nechci přihlásit do konzole a pak nefungovala ale konzole (exit)
  15. hází chybu - (1084) : error 029: invalid expression, assumed zero { new id = strval(cmdtext[9]); if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Nedostatečné oprávnění!"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hráč se zadaným ID není on-line"); else { if(!dini_Exists("SERVER_USER_FILE")) { { dini_Create("SERVER_USER_FILE"); } else { dini_IntSet("SERVER_USER_FILE", "Admin Level", AdminLevel[playerid]); } return true; } } }
  16. Zdravím, mám registraci přes dini - enum pInfo { pAdminLevel, pCash, pScore, } a admin systém - new AdminLevel[MAX_PLAYERS]; Když někomu nastavím level - AdminLevel[id] = 1; tak se to neuloží (logicky) Jak by se dalo udělat aby mi to po odpojení uložilo? (v odpojení mám pAdminLevel) když jsem zkusil zaměnit AdminLevel[id] = 1; za pAdminLevel[id] = 1; házelo errory. Doufám že pomůžete a děkuji vám
  17. se ZCMD nepracuji, čím méně includů tím lepší pro mód.
  18. Dík moc //edit: Tak teď jsem to chtěl dát na nastevní a. levelu ale nefunguje.. (OnPlayerCommandText) if(strcmp(cmdtext,"/setadmin",true,5) == 0) { new id = strval(cmdtext); new string[256]; if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "Nedostatečné oprávnění!"); if(IsPlayerConnected(playerid)) { if(!strlen(cmdtext)) return SendClientMessage(playerid, 0xFF0000AA, "Napiš /SetAdmin [id_hráče]"); else if(!IsPlayerConnected(id)) return SendClientMessage(playerid,-1,"Hráč se zadaným ID není on-line"); else { format(string, 200, "Administrátor {FFFFFF}%s {FF0000}dal administrační level hráči {FFFFFF}%s{FF0000}. ",Meno(playerid), Meno(id)); SendClientMessageToAll(0xff0000AA, string); AdminLevel[id] = 1; } } return 1; } Kdyžtak bych byl rád i za nějaké ty rady ohledně celého toho nastavování.
  19. Prošel jsem snad všechny TuT a polovinu HELP a nikde jsem nenašel jak udělat když dám třeba /zab [id_hráče] aby to dalo jemu.. (ten příkaz je jen výmysl co mě teď napadl) aby to zabylo jeho a né mě.. Děkuji
×
×
  • Create New...