Jump to content

Search the Community

Showing results for tags 'script'.

  • Search By Tags

    Oddělujte čárkami
  • Search By Author

Content Type


Fórum

  • Obecné
    • Všeobecné
    • Všechno možné
  • Programování
    • Poradna
    • Návody
    • Tvorba
    • Hledám programátora
  • Herní oblast
    • Poradna
    • Jak na to?
    • Herní kontext
    • Herní zážitky
    • Komunita
  • Grafika
    • Poradna
    • Návody
    • Tvorba
  • Ostatní
    • Hardware a software
    • Hledám/nabízím
    • Archiv
    • 3D Tisk

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Web


Facebook


Jabber


Skype


Steam


Twitter


Github


Pastebin

  1. Zdravím, vytvořil jsem pro vás filterscript na stírání losů. Po zadání příkazu se vám zobrazí tabulka s 5 políčky. Máte 3 pokusy na to, aby jste našli pod jedním políčkem výhru. Celý script je dělaný přes ClickableTextDraw. Po té co najdete políčko s výhrou, vyhrajete 1000$. Pokud se netrefíte do 3 pokusů, tak jste prohrál. Script si můžete libovolně upravovat, nevadí mi to. Toť vše Zde je video, pod videem jsem vám přiložil celý filterscript i s pwn kódem, můžete si ho libovolně upravovat: Doporucuji pustit ve FullHD! http://www.youtube.com/watch?v=1GUHlK6gm2M DOWNLOAD -> http://pawno.cz/files/file/78-loterie/
  2. Po 1 Roku Update Starý ostrov http://pawno.cz/topi...age__hl__shotys Nové Vymazané Čo nás čaká v 2.5? Vsetko potrebné čo je všetko v súbore Nieje to nič moc v 2.0 ale určite v 2.5 to bude ovela lepšie zatim je to BETA Verzia dúfam že sa vam aspon niečo páči Napište mi čo treba zmeniť pridať Prikazy Screeny Downlaod http://pawno.cz/files/file/79-sostrov/
  3. Piccaso

    script Herní automat

    Herní automat - Sázky na koně Zdravím, dnes jsem dodělal herní automat ve kterém se dá sázet na koně. Nevím do jaké kolonky bych toto téma zařadil, jelikož nechci dávat script k volnému šíření. V herním automatu se vám po spuštění vždy vylosují 4 náhodné koně, kteří mají určitou pravděpodobnost na výhru. Sázet se může od 100 do 3000 bodů. Po sázce bodů si vyberete koně, na kterého sázku chcete vsadit a poté se vyhodnotí výhra. Celý herní automat je dělán přes ClickableTextDraw. Je udělána další možnost, která zajišťuje, že někteří koně mají větší šanci na výhru, což můžete vypozorovat při hře v automatu. V brzké době automat poběží na mém serveru až přidám ještě nějaké možnosti navíc, zatím script nedávám k volnému stažení. Zde je video na ochutnávku, můžete hodnotit: http://www.youtube.com/watch?v=3sxoZg6mSSA
  4. Ewwe

    script Předpověď Počasí v1

    Zdravím nemá smysl k tomu něco říkat odvodíte si to sami určitě forward WeatherChanger(); forward WeatherNews(); enum Weather_Info { WeatherName[128],WeatherId,Duration }; new RandomWeatherID,Weather[][Weather_Info] = { {"Zataženo,mírně oblačno" , 1 , 600000}, {"Zataženo,mírně oblačno" , 2 , 600000}, {"Zataženo,mírně oblačno" , 3 , 600000}, {"Zataženo,mírně oblačno" , 4 , 600000}, {"Zataženo,mírně oblačno" , 5 , 600000}, {"Zataženo,mírně oblačno" , 6 , 600000}, {"Zataženo,mírně oblačno" , 7 , 600000}, {"Zataženo,místy bouřky" , 8 , 600000}, {"Zataženo až mlhavo" , 9 , 600000}, {"Slunečný den,jasno" , 10 , 600000}, {"Vlna veder" , 11 , 600000}, {"Polojasno místy zataženo" , 12 , 600000}, {"Polojasno místy zataženo" , 13 , 600000}, {"Polojasno místy zataženo" , 14 , 600000}, {"Polojasno místy zataženo" , 15 , 600000}, {"Polojasno až zataženo,místy bouřky" , 16 , 600000}, {"Vlna veder" , 17 , 600000}, {"Písečná bouře" , 19 , 600000}, {"Slunečný den místy polojasno" , 23, 600000}, {"Slunečný den místy polojasno" , 24, 600000}, {"Slunečný den místy polojasno" , 25, 600000}, {"Slunečný den místy polojasno" , 26, 600000} }; public OnGameModeInit() { SetTimer("WeatherNews", (10000), false); return 1; } public WeatherChanger() { SetTimer("WeatherNews",random(Weather[RandomWeatherID][Duration])+12000,false); SetWeather(Weather[RandomWeatherID][WeatherId]); printf("Předpověď Počasí : %s > ID:%d > %d",Weather[RandomWeatherID][WeatherName],Weather[RandomWeatherID][WeatherId],Weather[RandomWeatherID][Duration]); return 1; } public WeatherNews() { new string[144]; RandomWeatherID = random(sizeof(Weather)); format(string,144,"%s{FFFFFF} %s.","[Počasí]",Weather[RandomWeatherID][WeatherName]); SendClientMessageToAll(0x0000FFFF,string); SetTimer("WeatherChanger",random(30000),false); return 1; } Direct DownLoad
  5. jenkings

    script Billboard System

    Zdravím. Nedávno jsem tu v sekci obrázky prezentoval svůj script na kupování billboardů. Z důvodu velkého zájmu jsem se rozhodl že vám sem dám i kód Download: http://pawno.cz/files/download/34-billboard/ Bilboard koupíte napsáním /billboard . Ten máte rezervovaný na 24 hodin. Po 24 hodinách si jej již může koupit kdokoliv, váš text na něm ale zůstane až do doby než ho koupí někdo jiný. Billboardy jsou rozmístěné po celém LS, případně si můžete udělat další svoje. Pro správnou funkčnost je třeba vytvořit ve scriptfiles složku "billboardy"
  6. MaTiX98

    script Online Hráč + REKORD

    Čauté jelikož začínám s pawnem tak jsem udělal menší script Online Hráči, + pod tím bude rekord kolik bylo přítomno lidí na serveru je to udělané z příkladu ze SA-MP fóra upravené že se rekord zapisuje do Scriptfiles rekord.txt soubor se vytvoří automaticky!
  7. vopojtepek

    script Weapon Box

    Ahojte, chcel by som vám ukázať môj nový FilterScript Weapon Box ... Čo môj FilterScript obsahuje: 1. Možnosť givnúť si zbrane 2. Info list + list zbraní =============================================================================================== LIST ZBRANÍ =============================================================================================== Päsť /past Boxér /boxer Golfová palica /golf Obušok /obusok Nôž /noz Lopata /lopata Basebalová palica /baseball Gulečníková palica /gulecnik Katana /katana Motorová píla /pila Dildo /dildo0-2 Vibrator /vibrator0-2 Kvety /kvety Palica /palica Granát /granat Dymovnica /dymovnica Molotov koktejl /molotov 9mm /9mm 9mm s tlmičom /t9mm Desert deagle /deagle Brokovnica /brokovnica Upílovaná brokovnica /ubrokovnica Rýchla brokovnica /rbrokovnica UZI /uzi MP5 /mp5 Ak47 /ak47 M4 /m4 Tec9 /tec9 Puška /puska Sniperka /sniperka RPG /rpg raketomet /raketomet Plameňomet /plamenomet Minigun /minigun Bomba /bomba Tlačítko /tlacitko Sprej /sprej Hasiaci prístroj /hasak Foťák /fotak Padák /padak INFO LIST + LIST ZBRANÍ /wpbox Sťiahneťe http://pawno.cz/file.../71-weapon-box/
  8. tytr

    script smazání chatu (autospam)

    Vytvořil jsem můj prní FS na smazaní chatu prace tak na cca. 5min. Script maže každé 3 minuty chat. byl bych rád kdyby ste my FS ohodnotily 0/10 děkuji.
  9. vopojtepek

    script Výbavy

    Čawte všetci, chcel by som vám ukázať môj prvý FILTERSCRIPT Výbavy v. 1.0 ... LIST VÝBAV 1. ARMOR /vesta 2. HEAL /ozivit 3. AK47 + 200 NÁBOJOV /ak47 4. M4 + 200 NÁBOJOV /m4 5. Wanted Level /wantedlevel 0-6 Prosím napíšte chyby a to čo sa vám nepáči ... Som nováčik To by bolo všetko... Sťiahneš tu http://pawno.cz/files/file/69-vybavy/
  10. xbliqx

    script Radiosystem

    RadioSystem [V1.0] Nudil som sa tak som pre vás spravil menší zoznam rádií Zadaním príkazu /radio sa vám zobrazí táto tabuľka a tam si vyberiete rádio! Ulož.to DOWNLOAD Obrázok:
  11. MajkX

    script Online radio cez Dialog

    Zdravim Po dlhej odmkle od pawn vam prinasam moj "novy" filterscript. Jedna sa o online radio riesene cez dialog. Najdete tam ceskoslovenske radia ako : Europa 2 Sk , Europa 2 CZ , Radio Impuls , Expres , Funradio , TOP 20 (funradio) , Rock (Funradio) , Hip-Hop (Radio) , News (Funradio) Do dalsej verzie planujem pridat viac radii , moznost pustit si vlastnu pesnicku / stream cez Inputtext a trochu to aj graficky upravit. Download Link : http://pawno.cz/files/file/67-online-radio-czsk/ Enjoy , comment ,rate (Screen je pri download linku)
  12. skillaCZ

    script Reg Systém

    Ahoj vytvořil jsem pro vás reg systém jdite do sekce stažení
  13. Tento script mění MySQL datum z tvaru RRRR-MM-DD HH:MM:SS nebo RRRR-MM-DD na jiný formát.. stock ChangeDatumForm(datum[],frm=0) { new str[45],rok[5],mesic[3],den[3]; new nazvy_mesicu[12][9]={ "Leden", "Unor", "Brezen", "Duben", "Kveten", "Cerven", "Cervenec", "Srpen", "Zari", "Rijen", "Listioad", "Prosinec"}; if(strlen(datum) == 10) { strmid(den,datum,8,11,3); strmid(mesic,datum,5,7,3); strmid(rok,datum,0,4,5); switch(frm) { case 1: format(str,sizeof(str),"%d %s %s",den,nazvy_mesicu[strval(mesic)],rok); default: { if(strval(rok) == 9999) str="Permanent"; else format(str,sizeof(str),"%02d/%02d/%s",den,mesic,rok); } } } else if(strlen(datum) == 19) { new hodina[3],minuta[3],vterina[3]; strmid(vterina,datum,strlen(datum)-2,strlen(datum)); strmid(minuta,datum,strlen(datum)-5,strlen(datum)-3); strmid(hodina,datum,strlen(datum)-8,strlen(datum)-6); strmid(den,datum,strlen(datum)-11,strlen(datum)-9); strmid(mesic,datum,strlen(datum)-14,strlen(datum)-12); strmid(rok,datum,strlen(datum)-19,strlen(datum)-15); switch(frm) { case 1: format(str,sizeof(str),"%d %s %s %02d:%02d",strval(den),nazvy_mesicu[strval(mesic)],rok,strval(hodina),strval(minuta)); case 2: { if(strval(rok) == 9999) str="Permanent"; else format(str,sizeof(str),"%02d/%02d/%s",strval(den),strval(mesic),rok); } case 3: format(str,sizeof(str),"%02d/%02d/%s %02d:%02d",strval(den),strval(mesic),rok,strval(hodina),strval(minuta)); default: { if(strval(rok) == 9999) str="Permanent"; else format(str,sizeof(str),"%02d/%02d/%s %02d:%02d:%02d",strval(den),strval(mesic),rok,strval(hodina),strval(minuta),strval(vterina)); } } } else str="Neplatne datum"; return str; } Můžete si výsledný formát upravit dle vlastních potřeb. Snad to někomu bude užitečné.
  14. Albus Brambůrek

    script Itrys commands

    Ahoj toto je první uveřejnění FS jde o serii jednoduchých příkazů je to dělané jako prvně jako pomoc pro začínající pawnery a dále jako příkazy Prosím berte to jen jako ukazka pro ty co to po mě chtěli na skypu ! Neni to cely kdybych chtěl muže to byt lepši ale není to zaměrem //---------------------------------------------------------------------------------------------------------------------------------------// Příkazy: /kill - sebevražda /vesta - armor /tp - teleport na hráče /oprav - oprava auta /afk - zmrazí hráče /unafk - Odmrazí hráče //---------------------------------------------------------------------------------------------------------------------------------------// CODE:
  15. Jáá

    script Register Dini/dudb ..

    Register Include : #include #include #include #pragma unused ret_memcpy Defines : #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_ORANGE 0xFF9900AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define SERVER_USER_FILE "Account/%s.ini" enum : enum pInfo { pAdminLevel, pCash, pScore, } New : new PlayerInfo[MAX_PLAYERS][pInfo]; new gPlayerLogged[MAX_PLAYERS]; OnPlayerConnect : public OnPlayerConnect(playerid) { gPlayerLogged[playerid] = 0; new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if (!dini_Exists(file)) { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Text", "Bla bla bla", "Register", "Exit"); } if(fexist(file)) { ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Text", "bla bla bla", "Login", "Exit"); } return 1; } OnPlayerDisconnect : public OnPlayerDisconnect(playerid, reason) { new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(gPlayerLogged[playerid] == 1) { dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]); dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]); dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]); } gPlayerLogged[playerid] = 0; return 1; } OnDialogResponde : public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if (dialogid == 1) { new name[MAX_PLAYER_NAME], file[256], string[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Text", "bla bla ", "Register", "Exit"); dini_Create(file); dini_IntSet(file, "Password", udb_hash(inputtext)); dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0); dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 500); dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0); format(string, 128, "[sYSTEM]:Uspešne zaregistrovaný tvoje meno je %s a heslo je %s.", name, inputtext); SendClientMessage(playerid, COLOR_YELLOW, string); gPlayerLogged[playerid] = 1; } if (dialogid == 2) { new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Si zaregistrovaný", "Vyborne zaregistrovaný .. pametaj si heslo", "Login", "Leave"); new tmp; tmp = dini_Int(file, "Password"); if(udb_hash(inputtext) != tmp) { SendClientMessage(playerid, COLOR_RED, "Zlé heslo."); ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Text", "abla bla", "Login", "Exit"); } else { gPlayerLogged[playerid] = 1; PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel"); SetPlayerScore(playerid, PlayerInfo[playerid][pScore]); GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid)); SendClientMessage(playerid,COLOR_RED, "[sYSTEM]:Login prijatý!"); } } return 1; }
  16. Fabricator

    script Account

    Sojte Spravil som script pre zmenu hesla cez DOF2 teda je to moj prvý script cez DOF2 tak tu máte cod Bacha je tam iba jedna chyba ktorý to neviedia opravit a neviedia pracovat s DOF2 Novačikom sa to možno zíde alebo nie Scceny pridam neskôr Dakujem
  17. Ahoj vítám vás u mého "Scritpu" Je to hlavně pro ty co pracují s dcmd a hledají způsob nějaké proměnné s penězi nebo dosazení čísla ( pokud jste to pochopily můžete pokračovat ) První věc co uděláme si nadefinujeme DCMD a COLOR_RED ( červenou barvu ) , DCMD používám proto že se mi zdá že je lehčí. #define COLOR_RED 0xAA3333AA #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 Toto dáme nahoru pod include Další krok je příkaz jak jsem již psal pracuji s DCMD takže do public OnPlayerCommandText dáme : dcmd(pujcka,6,cmdtext);//To číslo je počet písmen musí být přesný! No A poslední krok je že jsi nadefinujeme příkaz aby nám něco dělal dcmd_pujcka(playerid,params[]) { new castka1 = strval(params[0]); if(params[0] ) { SendClientMessage(playerid,COLOR_RED,"Použití : /pujcka [castka]"); }else{ new str[50]; format(str,sizeof(str),"Pujcil jsi si %d penež!",castka1); GivePlayerMoney(playerid,castka1); SendClientMessage(playerid,COLOR_RED,str); } return 1; Kdyby něco nebylo jasné tak mi napište pokusím se nějak opravit nebo vysvětlit Prosím všechny ty co jdou hned psát že už to tu někde je nebo že to udělá každý : Jak jsem psal je to pro nováčky mě to chvilku trvalo a ted to tu dávám jinak dá se použít timer pro splátky což časem taky udělám Děkuji Isi
  18. Ewwe

    script AntiVehicleDamage

    V četu jsem zahlédl popis nadšeného jedince který si udělal timer na 500ms aby mu to opravovalo vozidlo... To je PÍČOVINA!!! V následujícím scriptu vám ukážu jak se to dělá bez timeru.... Stačí si přidat do módu/fs tento callback: public OnVehicleDamageStatusUpdate(vehicleid, playerid) { RepairVehicle(vehicleid); return 1; } Funguje to v podstatě tak že při poničení karoserie/světel/kol apod se vozidlo opraví...
  19. Mini Script --- Text Draw by S.G je to moj prvý Script Tento Script nám umožni napisať Text Draw he to vlastne dole v rohu napisane informacie o serveru ktore si môžete zmeniť !!![/font] Sťahujte kopirujte len nemente !!!
  20. Deejva

    script Titul nad sebou

    Ahoj, připravil sem si návod, jak si dát nad sebe "titut", je to různě barevný text nad vámi, může se to změnit že to bude i vedle vás, nebo před vámi. A tady kod: new Text3D:TITUL; //Místo TITUL si dejte něco svýho TITUL = Create3DTextLabel("Hráč", 0xFF0000FF, 0.0, 0.0, 0.0, 50.0, 0, 0); //Vytvoříme text Attach3DTextLabelToPlayer(TITUL, playerid, 0.0, 0.0, 0.25); //připneme ho k hráčovi "Hráč" = Text nad hráčem 0xFF0000FF = Barva 0.0, 0.0, 0.25 = Umíštění Textu Je to můj první návod tak nepiště že je tu na p*ču prosím
  21. _Tomas9_

    script Pravidla v dialogu

    Ahoj ahoj takže už dlkšie som chcel na svoj server niečo také ako pravidla tak som si ich spravil a chcem ich aj tu dať. #include <a_samp> #define FILTERSCRIPT #if defined FILTERSCRIPT #pragma tabsize 0 //Msg Defines #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA //Dialog Defines #define COLOR_GREEN 0x33AA33AA #define red {FF0000} #define yellow {D9FF00} #define green {009900} #define KickBox 1 //------------------------------------------------------------------------------ public OnFilterScriptInit() { return 1; } public OnFilterScriptExit() { return 1; } #endif public OnPlayerConnect(playerid) { ShowPlayerDialog(playerid, KickBox, DIALOG_STYLE_MSGBOX, "{009900}Pravidla Servera!", "{FF0000}Pravidlo 1: Nepouživať Cheaty!\n\n{D9FF00}Pravidlo 2: SPAWN kill je zakázaný!\n\n{FF0000}Pravidlo 3: Nenadávať spoluhráčom a adminom!\n\n{D9FF00}Pravidlo 4: Nerušiť pri akciach!Trestá sa Kickom!\n\n{FF0000}Pravidlo 5: Nezabíjať hráčov ked si dávaju do Banky peniaze!\n\n{D9FF00}Pravidlo 6: Nezasahovať do duelu hráčov!\n\n{009900} Prajeme prijemnu zábavu s hrania!\n\n{D9FF00}", "Súhlasim", "Kick"); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == KickBox) { if(response) { SendClientMessage(playerid,COLOR_GREEN, "Prijaly ste pravidla!Prajeme príjemnu zábavu!"); } else { SendClientMessage(playerid,COLOR_RED, "Odmietol si pravidla servera!Bol si kicknuty!"); Kick(playerid); } return 1; } return 0; } //------------------------------------------------------------------------------ //----------------------------------By Tomas9 Moj 2.FS ----------------------- Screen:
  22. Fuggy

    script Zbeaně

    caute muj 2 fs s toho 1.dialog !!!!budu rad za komenty hodnodte od 0/10 tu mate pwn http://pastebin.com/qRKd4Yf4 tu http://www.youtube.com/watch?v=-aoNVwFQ9ZQ&feature=youtu.be video a dik vsem za koment !
  23. Vytvořil jsem oblast s autama v LV. V pawně začínám tak doufám že se vám bude líbit! Příkazy: /0x6v - Teleport /opengate - Otevře bránu /closegate - Zavře bránu Ke Stažení: ********* Musel jsem dát odkaz, protože mě to nešlo nahrát!
  24. Ahoj , já jsem FireGoldCZ a začínám s pawnem a trošičku jsem včera pawnowal až sem stoho vypawnoval toto . Je to můj první FilterScript tak doufám že se bude líbit Co balíček obsahuje Příkaz : /Balicek Dá vám 5 Molotovů 100 AK-47 1 Knife 1 Padák 100 Deagle Plný Armor Plný Život Ke stažení : ********************* Heslo : pawnocz
  25. _Tomas9_

    script Admin Spec

    Admin spec Commands: /specplayer /specvehicle /specoff #pragma tabsize 0 #include <a_samp> #include <core> #include <float> #include "../include/gl_common.inc" #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFFF //------------------------------------------------------------------------------------------------------ #define ADMIN_SPEC_TYPE_NONE 0 #define ADMIN_SPEC_TYPE_PLAYER 1 #define ADMIN_SPEC_TYPE_VEHICLE 2 new gSpectateID[MAX_PLAYERS]; new gSpectateType[MAX_PLAYERS]; //------------------------------------------------------------------------------------------------------ public OnFilterScriptInit() { } //------------------------------------------------------------------------------------------------------ public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) { // IF ANYONE IS SPECTATING THIS PLAYER, WE'LL ALSO HAVE // TO CHANGE THEIR INTERIOR ID TO MATCH new x = 0; while(x!=MAX_PLAYERS) { if( IsPlayerConnected(x) && GetPlayerState(x) == PLAYER_STATE_SPECTATING && gSpectateID[x] == playerid && gSpectateType[x] == ADMIN_SPEC_TYPE_PLAYER ) { SetPlayerInterior(x,newinteriorid); } x++; } } //------------------------------------------------------------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256]; new specplayerid, specvehicleid, idx; // if(!IsPlayerAdmin(playerid)) return 0; cmd = strtok(cmdtext, idx); // SPECTATE A PLAYER if(strcmp(cmd, "/specplayer", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specplayer [playerid]"); return 1; } specplayerid = strval(tmp); if(!IsPlayerConnected(specplayerid)) { SendClientMessage(playerid, COLOR_RED, "specplayer: that player isn't active."); return 1; } TogglePlayerSpectating(playerid, 1); PlayerSpectatePlayer(playerid, specplayerid); SetPlayerInterior(playerid,GetPlayerInterior(specplayerid)); gSpectateID[playerid] = specplayerid; gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER; return 1; } // SPECTATE A VEHICLE if(strcmp(cmd, "/specvehicle", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /specvehicle [vehicleid]"); return 1; } specvehicleid = strval(tmp); if(specvehicleid < MAX_VEHICLES) { TogglePlayerSpectating(playerid, 1); PlayerSpectateVehicle(playerid, specvehicleid); gSpectateID[playerid] = specvehicleid; gSpectateType[playerid] = ADMIN_SPEC_TYPE_VEHICLE; } return 1; } // STOP SPECTATING if(strcmp(cmd, "/specoff", true) == 0) { TogglePlayerSpectating(playerid, 0); gSpectateID[playerid] = INVALID_PLAYER_ID; gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE; return 1; } return 0; } //------------------------------------------------------------------------------------------------------ Include //---------------------------------------------------------- // // GRAND LARCENY common functions include. // //---------------------------------------------------------- stock LoadStaticVehiclesFromFile(const filename[]) { new File:file_ptr; new line[256]; new var_from_line[64]; new vehicletype; new Float:SpawnX; new Float:SpawnY; new Float:SpawnZ; new Float:SpawnRot; new Color1, Color2; new index; new vehicles_loaded; file_ptr = fopen(filename,filemode:io_read); if(!file_ptr) return 0; vehicles_loaded = 0; while(fread(file_ptr,line,256) > 0) { index = 0; // Read type index = token_by_delim(line,var_from_line,',',index); if(index == (-1)) continue; vehicletype = strval(var_from_line); if(vehicletype < 400 || vehicletype > 611) continue; // Read X, Y, Z, Rotation index = token_by_delim(line,var_from_line,',',index+1); if(index == (-1)) continue; SpawnX = floatstr(var_from_line); index = token_by_delim(line,var_from_line,',',index+1); if(index == (-1)) continue; SpawnY = floatstr(var_from_line); index = token_by_delim(line,var_from_line,',',index+1); if(index == (-1)) continue; SpawnZ = floatstr(var_from_line); index = token_by_delim(line,var_from_line,',',index+1); if(index == (-1)) continue; SpawnRot = floatstr(var_from_line); // Read Color1, Color2 index = token_by_delim(line,var_from_line,',',index+1); if(index == (-1)) continue; Color1 = strval(var_from_line); index = token_by_delim(line,var_from_line,';',index+1); Color2 = strval(var_from_line); //printf("%d,%d,%f,%f,%f,%f,%d,%d",total_vehicles_from_files+vehicles_loaded+1,vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2); AddStaticVehicleEx(vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2,(30*60)); // respawn 30 minutes vehicles_loaded++; } fclose(file_ptr); printf("Loaded %d vehicles from: %s",vehicles_loaded,filename); return vehicles_loaded; } //---------------------------------------------------------- stock strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } //------------------------------------------------ stock strrest(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[128]; while ((index < length) && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } //---------------------------------------------------------- // Tokenise by a delimiter // Return string and index of the end determined by the // provided delimiter in delim stock token_by_delim(const string[], return_str[], delim, start_index) { new x=0; while(string[start_index] != EOS && string[start_index] != delim) { return_str[x] = string[start_index]; x++; start_index++; } return_str[x] = EOS; if(string[start_index] == EOS) start_index = (-1); return start_index; } //---------------------------------------------------------- stock isNumeric(const string[]) { new length=strlen(string); if (length==0) return false; for (new i = 0; i < length; i++) { if ( (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-' || (string[i]=='-' && i!=0) // A '-' but not at first. || (string[i]=='+' && i!=0) // A '+' but not at first. ) return false; } if (length==1 && (string[0]=='-' || string[0]=='+')) return false; return true; } //---------------------------------------------------------- stock IsKeyJustDown(key, newkeys, oldkeys) { if((newkeys & key) && !(oldkeys & key)) return 1; return 0; } //----------------------------------------------------------
×
×
  • Create New...