Jump to content

Hrb™

Uživatel
  • Příspěvků

    457
  • Registrován

  • Aktivní

  • Vítězných dnů

    7

Příspěvky posted by Hrb™

  1. před 43minutami, VolfikCZ said:

    Jop sleduji to taktéž od doby co byla většina uživatelů samp fóra zabanována. (hromadně) Držím palce celému projektu a ať to celé dotáhnou do konce. Myslím že za zmínku stojí zde zveřejnit i sade-mp.com. Má to být teda konkrétně multiplayer pro GTA SA Definitive Edition, tak že uvidí se jak se i jim povede celý ten projekt dokončit. 👍

    https://discord.gg/sademp

     

    Zajímavě to vypadá, o tom projektu jsem zatím neslyšel. :v: 
    Ale myslím si, že pokud se povede vývojářům open.mp to, co slibují (a že se jim to zatím daří), tak budou mít výhodu ve srovnání s sade-mp.com.

  2. Ahoj všem,

    chtěl bych se Vás zeptat na názor ohledně projektu open.mp a jak situaci kolem celého GTA SA multiplayeru vnímáte vy?

    Abych ty, kteří nemají ponětí o čem je řeč zasvětil, tak jsem si dovolil sepsat pár řádků o tom, jak jsem vnímal a zpětně vnímám celou situaci, která stojí za vytvořením projektu open.mp. 

    O projektu open.mp jsem se dozvěděl v podstatě ihned na jeho samém začátku, kdy dlouhodobá neaktivita Kalcora vyústila ve snaze převzít jeho práci a pokračovat s vývojem multiplayeru pro GTA SA. Této myšlenky se chytilo několik předních uživatelů oficinálního sa-mp.com fóra, kteří měli bohaté zkušenosti s jazykem pawn a samotnou hrou. Kalcor však odmítl zveřejnit kódy a tím pádem znemožnil, aby kdokoliv pokračoval v jeho práci. Situaci vyvrcholila tím, že všem předním "strůjcům" této myšlenky byl bezpodmínečně a permanentně zakázán přístup na zmíněné oficiální fórum sa-mp. Ihned po tomto kroku se strhla lavina zášti od valné většiny členů fóra na adresu Kalcora, kterému byla celá situace lhostejná (aspoň mě to tehdy takto přišlo). Situace zašla až tak daleko, že celé oficiální fórum bylo vypnuto, včetně sa-mp wiki.

    Jedním z uživatelů, kterému byl od Kalcora odepřen přístup kvůli jeho chování ve prospěch sa-mp (což ano, zní ironicky), byl Y_Less, kterého zde většina z pokročilých pawn programátorů určitě zná a nebojím se říct, že jeho skripty využívala / využívá (možná o tom ani neví?). Y_Less, společně s dalšími nadšenci do GTA SA, vytvořil tým a sám Y_Less zanedlouho vydal prohlášení "My Statement", které si můžete přečíst pomocí odkazu přiloženého níže v mém textu. V něm popisuje jak sám vnímá celou situaci a další zajímavé detaily celého sporu.

    Abych to celé shrnul, tak Y_Less společně s dalšími nadšenci začali od píky vytvářet nového klienta, který by umožňoval spustit momentální sa-mp servery s výhodou, že by přinesl nové funkce pro jazyk pawn a především by opravil přetrvávající chyby funkcí a dalšího. Situace kolem sa-mp komunity jim nebyla lhostejná a proto se vždy snažili dynamicky reagovat na všechny události, aby udrželi to, co z komunity zbylo. Krásným příkladem je založení nového fóra na stránkách open.mp, vytvoření vlastní a kompletní sa-mp wiki, ..

    Omluvte mě, pokud jste také zaznamenali celou situaci a máte dojem, že jsem ve výši zmíněném textu opomněl na nějaké důležité fakty nebo milníky. Přece jen tato situace sahá zpátky do minulosti v řádech let.

    Tím se dostávám k momentální situaci, kdy 1. ledna 2022 vyšlo na discordu SA:MP prohlášení od jednoho z předních členů projektu (viz níže). - obrázek i zde: https://ibb.co/HpVrJWr

    image.thumb.png.2ae8b6a013ddf715b45662884bd5b751.png

    Zmíněné video: Happy New Year 🎉 | open.mp announcement [2022] - YouTube

    Zároveň uvádí, že již hledají beta testery a je možné, že do necelého měsíce bude celý projekt zveřejněn jako open-source.

    Dále Vám nechám pár zajímavých odkazů, vztahujících se k celé situaci:

    Vyjádření Kalcora k ukončení vývoje sa-mp: Kalcor has "confirmed" he's not developing SA:MP anymore (burgershot.gg)

    Y_Less - jeho vyjádření k celé situaci a novému projektu: My Statement (burgershot.gg)

     

    Co si o celé situaci myslíte vy? Má podle Vás tento projekt ještě šanci v této době? Vidíte jako možnou výhodu propojení platforem PC, android a nově vyšlé GTA SA Definitive Edition? Podle mě bude celá situace ještě zajímavá, protože i přes všechny chyby, kterou s sebou přináší GTA SA DE, tak bude spousta lidí chtít zkusit multiplayer verzi, která by jinak ani nevznikla.

    Přeji hezký den :) 

     

  3. Zdravím,

    hledám člověka (nejlépe studenta VŠ), který ovládá více než dobře programovací jazyk Pascal.

    Požadavky:

    • Zvládá vytvořit těžší algoritmy
    • Rozumí metodám řazení / vyhledávání (Binární strom, ..)
    • Obecné ukazatele
    • Abstraktní datové typy
    • Práce se soubory s i bez udání typu

    Práce spočívá v řešení pár těžších příkladů. Bližší informace sdělím zájemcům v SZ.

    Odměna je peněžní a pohybuje se mezi 1000 - 1500kč (cca 40 - 55€).

    Pro zkušeného programátora jsou to jednoduše vydělané peníze za cca hodinku práce :) 

    Pro více informací či zájemci mě kontaktujte do SZ.

    Krásný den přeji:)

  4. Do příkazu si musíš přidat podmínky, aby mu to nešlo pokud nemá peníze a aby nevsadil víc, než u sebe má. (použij na to ten svůj PVar "Money") např:

    if(GetPVarInt(playerid,"Money") <= 0) return Zpráva o tom, že má málo peněz.
    else if(GetPVarInt(playerid,"Money") < bet) Zpráva o tom, že nemůžeš vsadit víc než kolik u sebe má.

    Následně si musíš částku kterou vsadil uložit do proměnné nebo PVaru, aby si s ní mohl dál pracovat v OnDialogResponse. např:

    SetPVarInt(playerid, "Vsazeno", bet);
    
    a v příslušném dialogu použiješ místo: new bet; 
    toto: new bet = GetPVarInt(playerid, "Vsazeno");

    Lepší řešení by bylo ukázat mu po napsání příkazu /minca dialog typu ipnut, kam by zadal částku a vybral si Pannu  / Orla, a v OnDialogResponse mít všechny podmínky + nemusíš ukládat vsazenou částku, protože by si ji měl uloženou v "inputtext" u příslušného dialogu.

  5. 59 minutes ago, Asakura Yoh said:

    Uplne nejlip by udelal, kdyby uvolnil SAMP jako opensource

     

    To s tebou nemohu souhlasit, ba naopak podle mého názoru by to nebylo dobré a rozdělilo by to sa-mp komunitu ještě víc. Co by ovšem bylo dobré, tak aby někoho přizval k sobě do týmu nebo vývoj úplně svěřil jiné osobě. Avšak předpokládám, že toho se nedočkáme, jelikož nikdo nechce zveřejňovat nebo přenechávat dlouholetou práci někomu jinému.

  6. Zdravím,

     

    urgentně hledám někoho, kdo má pokročilejší zkušenosti v jazyku java. Jsem časově vytížen a nestíhám dokončit práci do školy.

    Kdokoliv má dnes/zítra čas a chce si přivydělat, tak mě může kontaktovat pod toto téma nebo v soukromé zprávě. Všem zájemcům dám k nahlédnutí mé zadání. 

     

    Předem děkuji, Hrb.

     

    Edit:// Vyřešeno,

  7. Zdravím,

     

    Hledám někoho, kdo umí dělat jak grafické návrhy webů, tak i jejich kódování. Jednalo by se o jednoduchý web v HTML/CSS nebo jen vzhled pro wordpress.

    Web (vzhled) by fungoval jen jako rozcestník a stránka se statistikami - nic složitého pro zkušeného člověka. Bližší info o tom jakou mám představu bych napsal zájemcům. (Jsem otevřen jejich nápadům). Velikost finanční odměny podle domluvy za vykonanou práci. Zájemci mohou psát jak pod toto téma, tak i do soukromých zpráv či na skype: hrb.cz

     

    Děkuji za přečtení a s pozdravem Hrb.

  8. Nevím jestli se ti to tímto vyřeší, ale chybí ti tam tlačítka: ShowPlayerDialog(....."Dům","OBSAH\nOBSAH2....","Tlačítko1","tlačítko2");

     

    EDIT: Teda podle toho, jestli sis to v tom (stocku) ShowPlayerDialogEx už nepřednastavil..

  9. Mně osobně to příjde lepší udělat trošku jinak. Pak už nemusíš na nic myslet, jen si vesele měníš počet MAX_ZAKAZ_ZBRANI (= maximum zakázaných zbraní) a připisuješ si ID zbraní pod sebe v souboru.
    Vypadalo by to nějak takto: (navíc nepoužíváš dini a nemusíš si to dávat jako include)

    (Ale máš to hezky vysvětlené)

    #define MAX_ZAKAZ_ZBRANI 11
    
    new PWS[MAX_ZAKAZ_ZBRANI];
    
    forward PW_Load();
    forward PW_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
    
    public PW_Load()
    {
    	if(fexist("PW.txt"))
    	{
    	    new string[32],radku;
    	    new File:soubor = fopen("PW.txt",io_read);
    		while(fread(soubor,string))
    		{
    		    if(radku < MAX_ZAKAZ_ZBRANI)
    		    {
    		    	PWS[radku] = strval(string);
    		    	radku ++;
    			} else printf("Překročil jste maximum zakázaných zbraní! (max. %d)",MAX_ZAKAZ_ZBRANI);
    		}
    		fclose(soubor);
        } else print("Soubor PW.txt není vytvořen");
        return true;
    }
    
    public PW_OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
        if(newkeys & KEY_FIRE && ProhWeap(playerid) && !IsPlayerAdmin(playerid))
        {
        	ResetPlayerWeapons(playerid);
            return 1;
        }
        return 0;
    }
    
    stock ProhWeap(playerid)
    {
    	new wp = GetPlayerWeapon(playerid);
    	PW_Load();
    	for(new i;i<sizeof(PWS);i++)
    	{
    		if(wp == PWS[i]) return true;
    	}
    	return false;
    }
    
  10. new HracovoJmeno[POCET_POZEMKU][MAX_PLAYER_NAME]; // POCET_POZEMKU si zmeň podle sebe

     

    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name)); // zjistíš si jméno hráče a dáš ho do proměnné "name"
    HracovoJmeno[cislo_pozemku][0] = EOS; // vynuluješ jméno hráče, které bylo před tím uloženo v této proměnné

    format(HracovoJmeno[cislo_pozemku],MAX_PLAYER_NAME,"%s",name); // uložíš pozemku jméno hráče (cislo_pozemku si změň podle sebe)

     

    a pak jen porovnáváš jestli pozemek je toho hráče nebo ne:

     

    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name)); // zjistíš si jméno hráče a dáš ho do proměnné "name"

    if(strcmp(HracovoJmeno[cislo_pozemku],name, false) == 0)

    {

    // jméno v promměné se shoduje s hráčovým = pustí ho tam

    } else {

    // jména se neshodují = nepustí ho tam

    }

     

    http://wiki.sa-mp.com/wiki/Strcmp

    http://wiki.sa-mp.com/wiki/GetPlayerName

  11. On chcel Ban.

     

    No a co asi QWER udělal? k tomu si stačí dodělat příkaz ve kterém budeš mít kick a vytvoření souboru se jménem hráče v "Scriptfiles/NickBan/%s"

    A to co zde dal QWER už je jen kontrolování při příhlášení např.

  12. Zkus to udělat nějak takto:

    stock AutoSkolaAutoZivot(playerid)
    {
    	new Float:health;
    	new veh = GetPlayerVehicleID(playerid);
    	//---------------------------------------
    	GetVehicleHealth(veh, health);
    	//--------------------------------------
    	if(Hrac[PokusAutoSkola][playerid] > 0)
    	{
    		if(health < 1000.0) // pokud je zdraví vozidla menší jak 1000
    		{
    			SendClientMessage(playerid, BARVA_ZEL, "Naboural jsi auto, ještě máš 1 pokus!");
    			SetVehicleHealth(veh, 1000);
    			Hrac[PokusAutoSkola][playerid]--;
    			return 1;
    		}
    	} else {
    		SendClientMessage(playerid, BARVA_CERVENA, "Neudělal jsi AutoŠkolu. Zkus to znovu!");
    		DestroyVehicle(veh);
    		DisablePlayerCheckpoint(playerid);
    		Hrac[AutoSkolaMotorka][playerid] = 0;
    		SetPlayerPos(playerid, 1173.7399,1351.2389,10.9219);
    		return 1;
    	}
    	return 1;
    }
    
    
    // někam nahoru modu
    new Float:AutoSkolaM[11][3] =
    {
    	{1162.7814,1309.7705,13.3150},
    	{1162.7740,1301.4438,16.7170},
    	{1162.7483,1287.9143,13.1601},
    	{1162.8623,1275.2389,12.4387},
    	{1163.8772,1261.5789,10.8203},
    	{1163.9025,1254.8931,12.5133},
    	{1160.0837,1254.6526,11.6745},
    	{1153.4203,1254.3575,11.0893},
    	{1148.9508,1254.3140,12.5133},
    	{1148.9275,1246.4780,10.8203},
    	{1157.2679,1246.3359,10.8203}
    };
    
    if(IsPlayerInAnyVehicle(playerid))
    {
        switch(Hrac[AutoSkolaMotorka][playerid])
        {
    	case 0 .. 10:
            {
                new A = Hrac[AutoSkolaMotorka][playerid];
                //----------------------------------------
                AutoSkolaAutoZivot(playerid);
                SetPlayerCheckpoint(playerid, AutoSkolaM[A][0],AutoSkolaM[A][1],AutoSkolaM[A][2], 3.0);
                Hrac[AutoSkolaMotorka][playerid] ++;
            }
            case 11:
            {
                AutoSkolaAutoZivot(playerid);
                DisablePlayerCheckpoint(playerid);
                Hrac[AutoSkolaMotorka][playerid] = 0;
                Hrac[Rmotorka][playerid] = 1;
                SetPlayerPos(playerid, 1173.7399,1351.2389,10.9219);
                DestroyVehicle(GetPlayerVehicleID(playerid));
                SCM(playerid, BARVA_ZLU, "[AUTOŠKOLA] Dostal jsi řidičský průkaz na motorku");
            }
        }
    }
    
×
×
  • Create New...