Jump to content

Scydo

Obsahový guru
  • Příspěvků

    872
  • Registrován

  • Aktivní

  • Vítězných dnů

    83

Everything posted by Scydo

  1. a druhá, první formátování je zbytečné. #define fastdef "{FFFFFF}Zadejte heslo pro váš účet,\nzadejte heslo ktere si budete pamatovat,\nmusí mít 6-12 znaku." ShowPlayerDialog(playerid, DIALOG_REG_PASS, DIALOG_STYLE_PASSWORD, ""COL_WHITE"REGISTRACE - HESLO(3/6)", fastdef, "Potvrdit", "Zavrit");
  2. Anticheat, který tam je, zjistil, že sis nějak obstaral zbraň jiným způsobem, než koupí... Pokud neupravíš ten AC, tak s tím nejde nic dělat(leda, pokud je tahle kontrola callback, tak zrušit jeho volání).
  3. Scydo

    gamemode DenchRP

    Efekty? To jako při pěstování budou vybuchovat nebo co?
  4. Scydo

    pomoc Server Log

    Nepoužívat printy....
  5. Kdo nechce ban, nechť hlasuje pro moderátora ( ͡° ͜ʖ ͡°)
  6. Scydo

    pomoc Teamy

    Pokud máš nějaký výčet hodnot(enum): enum myEnum { bool: myBool, Float: myFloat, myInt }tak ho vložíš do pole: new myVar[myEnum];Teď máš proměnnou se strukturou, která obsahuje 3 informace(0 = bool, 1 = float, 2 = int), jednoduše řečeno, máš "3" proměnné myVar se 3 datovými typy. Použití je snadné a to, že do pole napíšeš jméno dané informace ve struktuře, například: myVar[myInt] = GetPlayerMoney(playerid);Právě proměnná obsahuje počet peněz, které má u sebe hráč, a manipulace je snadná: if (myVar[myInt] < 3000) return SCM(playerid, -1, "Máš u sebe méně, než 3000$"); Tolik k enumu. Ještě jedna rada, a to, že pokud máš nějakou řadovou hodnotu (1, 2, 3...) stačí jí přiřadit 1. informaci: enum { NIC = 0, GROVE, // = 1 BALLAS, // = 2 VAGOS, // = 3 AZTECAS // = 4 } gang[playerid] = GROVE;
  7. Scydo

    pomoc YSI includes

    Sámo ti to dokonce říká, co máš dělat: Stačí, když si stáhneš tu složku, a obsah hodíš do pawno/include/amx. amx složka určitě je součástí knihovny YSI, takže to tam stačí jenom přetáhnout.
  8. Scydo

    script Tip Systém

    To není "Tip systém". A to si máme z toho obrázku to opsat? Plus k tomu, na první pohled, už je tam chyba v tabování. Určitě ti to hází varování.
  9. Scydo

    script Hostname Changer

    http://wiki.sa-mp.com/wiki/Advanced_Server_Controls#RCON_Commands
  10. Scydo

    script Just GangSystem - Beta v0.1

    Už jsem měl rozmyšlené několik takových GangEventů(závody, odvést dodávku s drogami, boj o město, duely), kde by si všechno mohl přidat admin sám. Akorát nastala potíž s vytvářením vozidla a furt jsem nepřišel na to, čím to bylo. Už na tom dělám zcela od znova. Měl jsem úplně stejnou myšlenku, a tak jsem schválně se podíval na jiné GS, včetně zahraničních. Většina měla vytváření stylem příkazem se vytvoří pickup a to je všechno. Ostatní si pak musel upravit vůdce, a pak se do nich mohli přidávat a odebírat hráči. Žádná vozidla, ani zbraně. Pak většina, jako například od Q, je už propracovanější a vytvořené spíše jako inc, takže u všeho si musíš hledat pozice a přidávat je přes fce. Já mám vytváření ingame(ale samozřejmě lze použít fce a vytvářet je ve Pawnu), včetně kontroly a přidáním na pozice dle svého uvážení, bez zjišťování pozic pomocí /save. Takže, není to tak úplně to samé. Ano, je tam pár podobností, například seznam možností, nebo způsoby získávaní respektu, ale není to stejné. Hm, spíše bych řekl, že horší práce bude se sehnáváním pozic pro ty zóny, než po kódové stránce (jiné to bude, pokud je chceš vytvářet ingame) Jenom, jedním z problému by byla barva těch gangzón, protože kdybys měl například 10 gangů, tak by v tom nebyl problém, přiřadíš ke každému zákl. barvu a to červená, zelena, modrá atd... ale když jich máš třeba 50? Jinak, je to dobrý nápad, akorát jsem chtěl omezit práci se zónami apod., protože co jsem slyšel, většina scriptů jde rovnou na rze a pak mi píšou do SZ, že s tím mají problémy(samozřejmě, virál se šíří dobře, známe ne? ). Jinak, díky
  11. Scydo

    script Just GangSystem - Beta v0.1

    Díky. Už je to poslední větší projekt, plus první, kde jsem použil čistě jen files.
  12. JUST GANG SYSTEM v0.1BETA Nejobsáhlejší a nejmodernější gangsystem... JEDNODUCHÝ A PŘEHLEDNÝ EDITOR OBSÁHLÝ SEZNAM MOŽNOSTÍ PRO HRÁČE V GANGU PŘEHLEDNÉ STATISTIKY HRÁČE V GANGU PŘEHLEDNÝ A JEDNODUCHÝ OBCHOD S VOZIDLY DO GANGU PŘEHLEDNÝ SEZNAM VOZIDEL GANGU UKÁZKA JAK ONLINE ČLENŮ GANGU TAK I OFFLINE ČLENŮ GANGU UŽITEČNÝ A PŘEHLEDNÝ SEZNAM VŠECH GANGŮ NA SERVERU MOŽNOST ZMĚNIT RANK I S HEX KÓDY PŘEHLEDNÝ SEZNAM ZBRANÍ GANGU STEJNĚ JAKO JEJICH KOUPĚ A ZMĚNA MOŽNOST ZMĚNIT GANG SÍDLO VYPISOVÁNÍ TAG GANGU DO CHATU NĚKOLIK INFORMACÍ O SCRIPTU Gangy se přidávají in-game pomocí editoru. GS podporuje i možnost vytvářet gangy pro více administrátorů. Jakmile někdo otevře editor, zjistí volné gangid a pro dalšího administrátora zjistí jiné volné id a zůstává "využívané", dokud administrátor gang nevytvoří a nebo neodejde. Po vytvoření gangu v editoru se ukládá a vytváří(načítá) i po zapnutí serveru. V editoru musí administrátor přidat jméno gangu, tag, majitele a pozici. Cena, kasa a respekt lze mít na 0. Pozice v editoru se přidává způsobem, že zjistí aktuální pozici admina. Lze přidat i defaultního majitele aka Město, zapomocí mínusu. Ale pozor: Lze přidat majitele gangu(jméno hráče), ale zároveň dát gang na prodej! Gangy se ukládájí a načítájí zapomocí jejich id, nikoliv jejich jmén. Editor se u daného hráče uchovává dokud gang nevytvoří nebo neopustí server. Většina titulů v dialogu začíná nebo obsahuje jméno gangu, u kterého hráč momentálně je. Nelze přidat gang s jménem, který už existuje. Stejně jako u majitele, jestliže vlastní už nějaký gang. GS obsahuje 4 hodnoty pro každého člena a to Nováček, Člen, Zástupce a Vůdce. Do jednoho gangu lze pozvat pouze 1 hráče, dokud pozvání nepřijme nebo neodejde. Vůdce/Zástupce může upravovat údaje i offline členovi. Maximální možný počet peněz, které lze mít v gangu je 999 999 999$. V případě přesáhnutí se opět vrátí na totu hodnotu. Maximální možný počet respektu, úmrtí a zabití je 9999. V případě přesáhnutí se opět vrátí na tuto hodnotu. Do každého gangu lze zakoupit maximálně 10 vozidel. Každé vozidlo se přidává po zadání příkazu /gvehicle tak, že zjistí jeho pozici po zadání /gva. Jestliže vůdce/zástupce během přidávání vozidlo opustí, bude zničeno. Vozidlo lze pouze začit přidávat na pickupu gangu, a hráč má omezenou pozici na přidání. Lze zakoupit do gangu pouze určitě modely vozidel. GS obsahuje 5 základných kategorií aka slotů pro zbraně, a to Chladné zbraně, pistole, brokovnice, samopaly a těžké zbraně. Po založení gangu, gang nemá žádné zbraně. V obchodě se zakupují zbraně cenou za náboj. Maximální možný počet počet nábojů u každé zbraně v gangu je 99999. Každý člen gangu po spawnu obdrží učité zbraně a náboje. Pokud dojdou, člen dostane poslední zásoby. Respekt lze získat, ale i ztratit ze zabíjení s jinými členy gangů. Gang lze opustit jedině vyhozením z gangu. Až na vůdce. Nelze změnit výplatu Nováčkům a Vůdci. Takže jí vůdce ani nemůže vybrat. a mnohem více... OHLEDNĚ UKLÁDÁNÍ ÚDAJŮ scriptfiles/Gangy/ {id_gangu}.dat - veškeré informace ohledně gangu. {id_gangu}Members.dat- seznam všech členů v daném gangu. Užitečné kvůli jménům offline hráčů. scriptfiles/Gangy/Hraci/{jméno_hráče}.dat - standartní údaje hráče(jestli je v gangu, id gangu, údaje a tak dále). scriptfiles/Gangy/Zbrane/{id_gangu}.dat - seznam zbraní a jejich počet nábojů. scriptfiles/Gangy/Vozidla/{id_gangu}_{slot_id}.dat - informace o daném vozidle(pozice, model, gang a tak dále). SEZNAM PŘÍKAZŮ /gmenu Menu pro rcon administrátora. Zahrnuje vytvoření gangu a smazání gangu /gang Základní příkaz pro všechny hráče a členy gangů. Otevře dialog s možnostmi u daného pickupu gangu. Hráč samozřejmě musí být poblíž. /gangs Seznam gangů pro rcon administrátora. /ginvite Pozve hráče do vašeho gangu. /gyes Přijmout pozvání do gangu. /gno Odmítnout pozvání do gangu. /grleft Opustit gang sídlo. DALŠÍ INFORMACE A MOŽNOSTI ÚPRAVA GANG ÚDAJŮ Ukázka uložených údajů: 1 0 0 0 0 0 3000 5766000 3 3000 1000 0 0 2206.63 1231.45 10.82 GuS Scydo GangUSilnice 1 - Existence gangu. 0 - Gang id. 0 - Zda je gang na prodej. 0 - Cena gangu při prodeji. 0 - Počet zabití v gangu. 0 - Počet úmrtí v gangu. 3000 - Respekt gangu. 5766000 - Kasa gangu. 3 - Počet členů. 3000 - Výplata člena. 1000 - Výplata zástupce. 0 - ID interióru. 0 - Zda je majitelem Město. 2206.63 - X pozice pickupu. 1231.45 - Y pozice pickupu. 10.82 - Z pozice pickupu. GuS - Tag gangu. Scydo - Jméno vůdce gangu. GangUSilnice - Jméno gangu. ÚPRAVA ÚDAJŮ DANÉHO HRÁČE Ukázka uložených údajů: 1 0 3 350661 44 11 102 0 1 0 0 {FFA500}Střelec 1 - Pokud je hráč v gangu. 0 - ID gangu. 3 - Oprávnění člena. 350661 - Přispěl do gangu. 44 - Počet zabití. 11 - Počet úmrtí. 102 - Získaný respekt. 0 - Zda si může vybrat výplatu. 1 - Zda má člen vyp/zapnutý spawn u gangu. 0 - Zda má člen vyp/zapnuté zprávy gangu. 0 - Zda je hráč v interiéru. {FFA500}Střelec - Rank. ÚPRAVA ÚDAJŮ GANG VOZIDEL Ukázka uložených údajů: 0 1 432 0 0 2194.994 1234.298 10.703 266.3910 - ID gangu. 1 - Slot vozidla. 432 - Model vozidla. 0 - 1. ID barvy. 0 - 2. ID barvy. 2194.994 - X pozice pickupu. 1234.298 - Y pozice pickupu. 10.703 - Z pozice pickupu. 266.391 - A pozice pickupu. LZE PŘIDAT I VOJENSKÝ GANG Stačí, když přidáte vozidla a při úprave vozidel přepíšete všechny modely na vojenská vozidla. JAK ZMĚNIT VŮDCE GANGU 1. Změnit vůdce v hl. soubouru - První je potřeba změnit jméno vůdce souboru {id_gangid}.dat 2. Změnit jméno v seznamu členů - V souboru {id_gangu}Members.dat změnit první jméno. 3. Změnit údaji hráči - A nakonec změnit údaje v souboru hráče. DOWNLOAD INCLUDE i-zcmd http://forum.sa-mp.com/showthread.php?t=576114 A to je všechno. jgsystem https://pawno.cz/files/file/67-just-gangsystem/ ZÁVĚR Zatím jsem pracoval stylem "hlavně, že to funguje", takže nechť konečně začne hromadná optimalizace!
  13. for (...) { if (RaceCount[playerid] > RaceCount[i]) { /* Je ve předu před všemi */ } } if (GetPlayerDistanceFromPoint(playerid, CheckpointX[cpid], CheckpointY[cpid], CheckpointZ[cpid]) < 100.0) { /* Pokud je méně než 100 metrů od checkpointu */ }A pak ty vzdálenosti u obou porovnáš... Bez kódu ti sotva může někdo poradit(jestli jsi něco skutečně udělal tedy...)
  14. Ty makra tam máš úplně zbytečně. Pokud víš, že je to FS, tak prostě použí na to správný callback, a nezjišťuj to: #include <a_samp> /*public OnFilterScriptInit() { }*/ public OnPlayerConnect(playerid) { return PlayAudioStreamForPlayer(playerid, "..."); }
  15. CallRemoteFunction("GiveMoney", "ii", playerid, int);
  16. Pokud ti správně rozumím, tak chceš mít 2 dialogy. Input, kde ty zbraně vkládáš a nakonec výsledný dialog, kde ty vytvořené zbraně budou. Jestliže ano, tak je hned několik možností, jak na to. Nejednoduší by bylo, kdybys mohl přidávat zbraně do dialogu, ale nikoliv je už odstraňovat. Tudíž, bys každé zbrani přiřadil id a proměnnou s existencí. V dialogu, kde bys ty zbraně měl vytvořené, tak bys za id mohl dosadit listitem(0++): (samozřejmě, nezapomeň kontrolovat vytvořený počet) Horší případ je pak, pokud je chceš mazat, ale ani to není nemožné. Je tu opět několik možností. Nejlépe uděláš, když všechny údaje budeš ukládat(i u první varianty samozřejmě). Po smazání samozřejmě nemůžeš používat listitem, jako id, protože ti ho dosadí do pole proměn zbraní, které "existují"(což znamená, že se zobrazí například jen ID 0 a 2, ale listitemy budou mít hodnoty 0 a 1), takže jedno z řešení je začít cyklit od hodnoty listitemu a přidávat, dokud nenarazí na existující zbraň: GetWeaponID(listitem) { for (new w = listitem; w < MAX_...; w++) { if (WeaponExist[w]) return (w); } }
  17. Všimni si: stock CreateProperty(typ,Float:x,Float:y,Float:z,cost){První argument je integer, nikoliv string.
  18. Cože? To ti zajišťuje podmínka v cyklu, zda je v inte. menší nebo rovno. To znamená, že započítá i poslední(nejvyšší) id. A pokud se začne cyklit po tom, co hráč odejde, tak vezme jiného hráče s nejvyšším id. To je blbost. Akorát z jednotek uděláš stovky. Jak jsem říkal, na "vyřazení" ze závodu při odchodě nepotřebuješ nic, kromě jedné podmínky v callbacku: public OnPlayerDisconnect(...) { if (je_v_závodě == 1 /* == true */) { DestroyVehicle(...) je_v_zavode[playerid] = 0; /* /false */ } }(pokud chceš u jednoho hráče. Pokud pro celý závod, to pak ano použi cyklus, ale s jiným jménem proměnné než playerid, protože callback ho už má) Napsal jsem snad, že je to špatně? Šlo jenom o mojí skromnou poznámku. Když už využíváš keywords(což tady používá fakt málokdo), mohl jsi dodat obsáhlejší ukázku, například fci jestliže je hráč přítomen, pokud ne, přeskočit. Chápeme se? Ale ten callback má na to arg. jenom se jmenuje killerid ne playerid. a pro vypnutí checkpointu použi DisablePlayerCheckpoint()
  19. Ten cyklus(který mimochodem započítá i nepřítomné hráče) zničí vozidla všem hráčům(a nastaví hodnotu), kteří mají hodnotu racecar jinou, než 0. Pokud chceš zničit vozidla někomu konkrétnímu, nepoužívej cyklus, ale pouze přidej do podmínky tu proměnnou racecar hráčovi při odpojování ze serveru.
  20. Pokud se ti alespoň vytvoří soubor hráče, tak je to v pohodě, a stačí všechno přidat manuálně, nic těžkého: 1) Ve složce Datas/Saf vytvoř soubor Server001.sav, i s tou příponou .sav(to je všechno, Just AS pouze kontroluje jeho existenci). 2) V případě, že ti to majitele stále nenastavilo, stačí otevřít tvůj soubor ve Datas jménem {tvůj_nick}.sav, a změnit hodnotu(popřípadě přidat): bIsOwner = falsezměnit na: bIsOwner = true
  21. Jedině, že máš špatně vytvořené složky. Jinak pak už není chyba na straně scriptu.
×
×
  • Create New...