Jump to content

Baseball

Uživatel
  • Příspěvků

    64
  • Registrován

  • Aktivní

  • Vítězných dnů

    1

Baseball last won the day on 2. Duben 2018

Baseball had the most liked content!

Reputace

2 Jonny Sindacco

Kontaktní údaje

  • Web
    superparba.eu
  • Skype
    Filiph886

Návštěvníci

969 profile views
  1. Actory Obtížnost: 2/5 Osnova Úvod K čemu jsou Actory užitečné? Veškeré funkce actorů se stručným popisem a parametry Vytvoření actoru (code) Závěr 1. Úvod Zdravím, koukal jsem, že tu chybí návod na práci s Actory. Není to nic obtížného, ale pro nováčky určitě užitečná věc. Actor je z angličtiny, znamená to Herec. Tato funkce byla přidána až do SAMP 0.3.7 2. K čemu jsou actory užitečné? Actor je postava, která se nijak nepohybuje, narozdíl o NPC. Vypadají jako normální postavy hráčů. Mají klasické skiny (ID skinů) a hlavně nezabírají slot pro hráče. Ale mají i svoji chybu, pokud je actor v interiéru a hráč ním projde tak propadne v zemi. K čemu je použiji? Jako první mě napadá nějaká nabídka úkolu hráči, kdy se hráči zobrazí dialog. Nebo nějaký Dm, kdy tohoto actora musí trefit.. 3. Veškeré funkce actorů se stručným popisem a parametry CreateActor - vytvoří actora DestroyActor - zničí actora IsActorStreamedIn - zjistí, zda-li je actor viditelný pro hráče SetActorVirtualWorld - nastaví virtual world acotra GetActorVirtualWorld - zjistí virtual world acotra ApplyActorAnimation - nastaví animaci ClearActorAnimations - ukončí animaci SetActorPos - nastaví pozici actora GetActorPos - zjistí pozici actora SetActorFacingAngle - nastaví rotaci actora - projeví se až po novém zobrazení actora GetActorFacingAngle - zjistí rotaci actora SetActorHealth - nastaví životy actora GetActorHealth - zjistí životy actora SetActorInvulnerable - ztranitelnost / nezranitelnost actora IsActorInvulnerable - zjistí zranitelnost actora IsValidActor - zjistí platnost ID acotra GetActorPoolSize - zjistí nejvyšší ID actora vytvořeného na serveru Při práci s actory využíváme hlavně následující paramery actorid - ID actora modelid - ID skinu actora (ID skinů) Float:X/Y/Z/Rotation - souřadnice X, Y, Z & Rotace 4. Vytvoření actoru (code) Nejprve musíme uložit souřadnice na serveru. Buďto pomoci /save nebo /rs. Cesta k souborům: C:\Users\Uživatel\Documents\GTA San Andreas User Files\SAMP Pokud jste užili /save: savedpositions.txt Pokud /rs: rawpositions.txt Nyní se rozhodnete, kdy chcete vytvořit actora. Dejme tomu že OnGameModeInit. new Ukazka1, Ukazka2; //abychom věděli ID actora pro další použití (...) public OnGameModeInit() { Ukazka1 = CreateActor(4, 1234.1541,4321.1054,41.0150,31.1753); //(skin, X,Y,Z, ROTACE) Ukazka2 = CreateActor(5, 41.0150,1234.1541,4321.1054,74.0468 ); //(skin, X,Y,Z, ROTACE) SetActorHealth(Ukazka1, 50); //ID actora, životy SetActorVirtualWorld(Ukazka2, 452); //ID actora, virtual world } Nyní nám actory stojí. Jeden ve VW 0 (global) s 50 životy a druhý ve VW 452 se 100 životy. Nyní si s actory můžete hrát do haleluja. Animace jsou úplně stejné jako u hráčů, až na to, že zeměníte playerid za actor ID a funkce se jmenuje do názvu funkce dáte actor. 5. Závěr Myslím, že na základní práci a actory toto bohatě stačí, pokud by někdo chtěl vědět něco víc, doporučuji použít oficiální téma na SA-MP fóru (KLIK) nebo si najít jednotlivé funkce na SAMP wiki, ovšem většina těch funkcí je celkem jasná..
  2. Zdravím, doporučuji udělat registraci podle tohohle tutorialu od ATomase
  3. Okej dík. No já používám spíš TABLIST Headers, když už. Každopádně moc děkuji!
  4. Díky a našel by jsi nějaký trik aby se nemuselo vše psát do jednoho dlouhého řádku? Protože se to přepíše, když dám dva pod sebe.
  5. Popis problému: Zdravím, po dlouhé době jsem otevřel svůj starý mód a řekl si že přidám info (ten mod je fakt celkem blbovina spíš 4fun, než na použití). Na serveru se zobrazí první dva řádky, bez hodnoty.. Chyby/varování kompilátoru a při běhu: Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase //tedy bez chyb / varování Kód: Dodatečné poznámky: Děkuji za pomoc.
  6. Hele ze steamu už jsem dlouho nic nestahoval. Až budu něco stahovat napíšu.
  7. Tenhle vypadá fakt luxusně
  8. Ahoj, jsem také z Prahy a mám poskytovatele CzNet. Když je plánovaná odstávka tak dají vědět spoustu dní dopředu, cena je přijatelná.
  9. Baseball

    script Rádio Systém 1.0

    Ten dialog je až moc jednoduchý. Dobré jsou Radio systémy, které umožňují přepisování z souboru. Tohle není potřeba sem dávat, jelikož to dokáže skoro každý.
  10. Fakaheda je ale celkem drahá, je dobrá hlavně na SA-Mp. Je tam dobrý ceník
  11. Port systém Obsah Uložíme pozici Dostaneme na ní hráče Port ON / OFF Napíšeme hlášku Úvod Tento návod je pro nováčky kteří chtějí do svého GM nebo FS /setport a /port pro hráče. Použijeme pouze základní funkce pawna. Vysvětlení Velice jednoduché a rychlé, budeme pracovat v OnPlayerCommandText. Ale nejprve dáme někam nahoru new Float:px,Float:py,Float:pz; do kterého se budou ukládat souřadnice na port. Teď jdeme k samotnému příkazu. if (strcmp("/setport", cmdtext, true, 7) == 0) jako u každého příkazu v OnPlayerCommandText. nyní udělám klasickou závorku kterou začíná příkaz {. Aby jsme měli přehledné tak na další řádek dáme if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Nedostatečné oprávnění!"); díky tomu bude tato možnost jen pro administrátory. Vysvětlíme si podmínku if(!IsPlayerAdmin(playerid)) if = > Pokud (z angličtiny) (! = > je(kdyby jsme nedaly ! tak pokud není) IsPlayerAdmin(playerid)) = > je / není hráč admin (Pouze RCON) return = > Pokud nesplňuje podmínku SendClientMessage = > Odešle hráči zprávu (playerid => hráči který zadal příkaz 0xFFFFFFFF = > barva (hex) ,"Nedostatečné oprávnění"); = > text který se mu odešle Nyní dáme samotné uložení pozice použijeme GetPlayerPos(playerid, px,py,pz); a teď si to vysvětlíme GetPlayerPos = > zjistíme pozici hráče (playerid = > hráče který zadal příkaz px,py,pz); = > a uložíme jí na tento text Celé to vypadat takto if (strcmp("/setport", cmdtext, true, 7) == 0) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFff,"Nemáš dostatečný administrační level!"); GetPlayerPos(playerid, px,py,pz); return 1; } Teď je uložená pozice pro port. Ale Teď port zapneme. if (strcmp("/setporton", cmdtext, true, 9) == 0) příkazem /Setporton zapneme port dáme tam zase { na začátek příkazu. vzhledem k tomu že chceme aby to mohl udělat pouze admin dáme znovu podmínku if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFff,"Nemáš dostatečný administrační level!"); a teď pod to nastavím pro všechny že je port zapnut aby to udělalo pro všechny musíme to udělat takto: for(new i = 0; i < MAX_PLAYERS; i++) všichni hráči (z počtu na serveru) pod to dáme { a pod ní dáme SetPVarInt(i, "adminport", 1); nastavím adminport na 1 (jako že zapnut) Celý příkaz bude vypadat takto if (strcmp("/setportOn", cmdtext, true, 10) == 0) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFff,"Nemáš dostatečný administrační level!"); for(new i = 0; i < MAX_PLAYERS; i++) { SetPVarInt(i, "adminport", 1); } return 1; } SetPVarInt(i, "adminport", 1); Vysvětlíme: SetPVarInt = > něco nastavím (nějakou podmínku) i = > všem (pokud by jste chtěli jen pro sebe tak dáte třeba playerid) "adminport" = > pojmenujeme si funkci dle sebe. je to jedno 1 = >nastavíme funkci na 1 (1 = zapnuto 0 = vypnuto) Zase uděláme příkaz if (strcmp("/port", cmdtext, true, 10) == 0) a zase zahájíme příkaz { teď dáme podmínku pokud je adminport zapnutý if(GetPVarInt(playerid, "adminport") == 1) return SendClientMessage(playerid,cervena,"[ ! ] {FFFFFF}Port je vypnutý!"); Vysvětlíme: if = > pokud (GetOvarInt = > pokud je podmínka (playerid = > u hráče "adminport" podmínka s názvem adminport ) == 1) = > pokud se rovná podmínka 1 retrun = > když né SendClientMessage = > odešle hráči zprávu Teď dáme { pod podmínku a nastavíme pozici hráče na px,py,pz pomoci SetPlayerPos(playerid, px,py,pz); Vysvětlíme: SetPlayerPos = > nastavíme hráči pozici (playerid = > hráči který zadal příkaz px,py,pz = > na pozici px, py, pz Teď co když bude hráč ve vozidle? Portneme ho i s vozidlem takže nejprve uložíme ID vozidla do nějakého textu. new vozidlo_Port = GetPlayerVehicleID(playerid); Vysvětlíme: GetPlayerVehicleID = > zjistíme ID vozidla ve kterém je hráč (playerid) = > hráče který zadal příkaz Teď dáme vozidlo na polohu portu SetVehiclePos(vozidlo_Port,px,py,pz); Vysvětlíme: SetVehiclePos = > dáme auto na pozici vozidlo_Port = > do vozidla s Id ve kterém seděl předtím px,py,pz = > na uložené souřadnice Teď aby to hráče po portu dalo do vozidla pomocí PutPlayerInVehicle(playerid, vozidlo_Port, 0); Vysvětlíme: PutPlayerInVehicle = > dá hráče do vozidle (playerid = > po tolikáte už není třeba vysvětlit vozidlo_Port = > do vozidla s Id ve kterém seděl předtím 0 = > na sedadlo 0 (0 = řidič, 1 = spolujezdec, 2 = zadní sedadlo za řidičem, 3 = zadní sedadlo za spolujezdcem) if (strcmp("/port", cmdtext, true, 4) == 0) { if(GetPVarInt(playerid, "adminport") == 1) return SendClientMessage(playerid,cervena,"[ ! ] {FFFFFF}Port je vypnutý!"); { SetPlayerPos(playerid, px,py,pz); new vozidlo_Port=GetPlayerVehicleID(playerid); SetVehiclePos(vozidlo_Port,px,py,pz); PutPlayerInVehicle(playerid, vozidlo_Port, 0); } return 1; } Teď uděláme jaště port off Je to to samé jako /SetPortOn až na to že v SetPVarInt(i, "adminport", 0); musíme dát 0 protože ho chceme vypnout. if (strcmp("/setportOff", cmdtext, true, 11) == 0) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFff,"Nemáš dostatečný administrační level!"); for(new i = 0; i < MAX_PLAYERS; i++) { SetPVarInt(i, "adminport", 0); } return 1; } Myslím že zde není třeba nic vysvětlovat Příklady Tak teď celý kód newy new Float:px,Float:py,Float:pz; v příkazech if (strcmp("/setport", cmdtext, true, 10) == 4) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFff,"Nemáš dostatečný administrační level!"); GetPlayerPos(playerid, px,py,pz); return 1; } if (strcmp("/setportOn", cmdtext, true, 10) == 0) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFff,"Nemáš dostatečný administrační level!"); for(new i = 0; i < MAX_PLAYERS; i++) { SetPVarInt(i, "adminport", 1); } return 1; } if (strcmp("/port", cmdtext, true, 4) == 0) { if(GetPVarInt(playerid, "adminport") == 1) return SCM(playerid,cervena,"[ ! ] {FFFFFF}Port je vypnutý!"); { SetPlayerPos(playerid, px,py,pz); new vozidlo_Port=GetPlayerVehicleID(playerid); SetVehiclePos(vozidlo_Port,px,py,pz); PutPlayerInVehicle(playerid, vozidlo_Port, 0); } return 1; { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFff,"Nemáš dostatečný administrační level!"); for(new i = 0; i < MAX_PLAYERS; i++) { SetPVarInt(i, "adminport", 0); } return 1; } Závěr Doufám že jsem vám pomohl. Pokud najdete chybu napište Také doufám že jste jen nezkopírovali kód
  12. Dobrý večer, snažil jsem se dát peníze hráči avšak to hází error. code: dcmd_gm(playerid,params[]) { if(!IsPlayerAdmin(playerid)) return SCM(playerid,cervena,"[ ! ] {FFFFFF}Nemáš dostatečná administrační práva!"); { new id,peniz[20],duvod[50],string[200], gmna[MAX_PLAYER_NAME],gmnb[MAX_PLAYER_NAME]; if(sscanf(params,"uuz",id,peniz,duvod)) return SCM(playerid,cervena,"[ ! ] {FFFFFF} Použí /gm [id] [částka] [důvod]"); GetPlayerName(playerid,gmna,sizeof(gmna)); GetPlayerName(id,gmnb,sizeof(gmnb)); GivePlayerMoney(id,peniz); format(string,sizeof(string),"Administrátor {FFFFFF}%s {FF0000} dal hráči {FFFFFF}%s %d$ {FF0000}[ {FFFFFF}%s {FF0000}] ",gmna,gmnb,peniz,duvod); SendClientMessageToAll(cervena,string);//odosle spravu } return 1; } Chyba - error 035: argument type mismatch (argument 2) řádek s errorem GivePlayerMoney(id,peniz); Děkuji vám
×
×
  • Create New...