Jump to content

script [Prezentace] IJobs 4


Albus Brambůrek

Recommended Posts

Tak jo vítám vás tu po delší době a zase vám tu chci ukázat něco málo z toho co dělám a většinou to bývá tajné :d

 

Tak jo začneme... Dnes vám tu ukážu IJobs4, ano už 4 verze :d 1 verze byla testovní, 2 verze byla nějak posraná a tak dále :d

Nejnovější a taktéž nejlepší verze je tato 4.0.

 

Funkce:

CreateJob(jid,jobname[],Float:X,Float:Y,Float:Z,skin1,skin2,skin3,w1,w2,w3,a1,a2,a3)
PlayerJoinToJob(playerid,jobname[])
ChangePlayerJobSkin(playerid,jobname[])
IsPlayerInJob(playerid,jobname[])
IsPlayerAroundOfJob(playerid,jobname[])
GetPlayerStats(playerid)
SetPlayerStats(playerid,money,points,level)
GetIDFromJobName(jobname[])
SetPlayerJob(playerid,jobname[])
GetPlayerJob(playerid)
LoadJob(jobname[])
SetPlayerStatsEx(playerid,name[],value)
GetPlayerStatsEx(playerid,name[],value)

Tak to jsou všechny funkce, které tam jsou a fungují ;) Tak a teď vám tu napíšu nějaký ten návod jak si vytvořit vlastní jobku.

 

Návod:

 

Vytvoření práce:

 

Vytvoření práce je velice jednoduché použijeme k tomu funkci CreateJob

CreateJob(jid,jobname[],Float:X,Float:Y,Float:Z,skin1,skin2,skin3,w1,w2,w3,a1,a2,a3)

Takto vypadá samotná funkce a takto vypadá vyplněná. Ale nebudu doplňovat souřadnice si doplňte sami.

CreateJob(1,"Policista",X,Y,Z,280,281,282,3,22,33,1,90,180);

Toto nám vytvoří pickup Policista na souřadnicích XYZ a první další 3 čísla jsou skiny další 3 jsou zbraně a potom munice to vše se uloží do souboru a z toho to potom čte.

 

Připojení do práce a změna skinu pomocí zmáčknutí:

 

Tak a teď tu máme jakoby ovládání, pickup máme vytvořen ale chybí nám ještě dodat možnost přijít k němu a po kliknutí tlačítka se připojit.

To vyřešíme tímto do publicu OnPlayerKeyStateChange vložíme tento kód:

if(IsPlayerAroundOfJob(playerid,"Policista")) // Pokud je v dosahuj policie
    {
        if(PRESSED(KEY_YES))
        {
            if(!IsPlayerInJob(playerid,"Policista"))//Pokud není v práci policista tak mu to dá zbraně pomocí funkce PlayerJoinToJob
            {
                ResetPlayerWeapons(playerid);//Reset zbraní
                PlayerJoinToJob(playerid,"Policista");//Připojí ho do práce a dám mu to věci, které jsme nastavili v první kroku
            }
            else
            {
                SendClientMessage(playerid,C_R,"[IJobs] ERROR: "white"V této práci jsi již zaměstnán");
            }
        }
        else if(PRESSED(KEY_NO))//Pokud zmáčkne "N"
        {
            if(IsPlayerInJob(playerid,"Policista"))//Pokud je v práci policista
            {
                ChangePlayerJobSkin(playerid,"Policista");//Změní skin random podle těch 3 co jsme zadávali při vytváření práec
            }
            else
            {
                SendClientMessage(playerid,C_R,"[IJobs] ERROR: "white"Pro změnění pracovního skinu se musíš prvně zaregistrovat! Zmáčkni "g"Y");
            }
        }
    }

Nastavování statistik v práci:

 

Pod tímto si asi můžete představit mnoho věcí ale jde o nastavování bodů,levelů, a peněz, které vydělá.

GetPlayerStats(playerid);//Tímto zjistíme aktuální hodnoty, které se zapíšou do proměnné JPD[playerid][jLevel/jMoney/jPoints]
SetPlayerStats(playerid,JPD[playerid][jMoney]+200,5,JPD[playerid][jLevel]);//Zde můžete nastavit body + nebo přímo hodnotu. Tady nastavujeme peníze, které měl + 
// 200 a u pointů nastavime aby měl 5 bez ohledu na ostatní věci.

A ted by přišla nemilá věc co když potřebuji uložit jiné statistiky ? No na toto jsem taktéž myslel a mám pro to vytvořené 2 krásné funkce :)

SetPlayerStatsEx(playerid,"Taxa",500);//Tímto uložíte do aktuální práce novou položku taxa.

A tímto ji zase načtete do proměnné taxa.

new taxa = LoadPlayerStatsEx(playerid,"Taxa");

No vidíte tak i toto se dá krásně ukládat :)

 

A co když budeme chtít zjistit ID práce z jméne ? No na toto je taktéž funkce ale tu asi moc nepoužijete i když je velice důležitá, používám jí skoro ve všechn funkcích, kde dáváte do parametrů název práce. A abych nemusel hledat složitě ID ze souboru tak to můžeme udělat podle funkce.

new id = GetIDFromName("Taxikar"); // Tato funkce právě vrátí ID práce, ID je podle toho, jaké jste si navolili při vzniku práce.

Pomocné funkce:

#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))//DEFINICE PRESSED

UPOZORNĚNÍ:

Funkce při, kterých zadáváte jméno práce musí odpovídat jménu práce, které jste zadali při vytváření.

V scriptfiles musíte mít složku Jobs do té se vám budou ukládat všechny práce. Soubory s prací se sami obnoví pokud je smažete.

 

Tak jo to je zatím vše nemám moc času takže ostatní funkce přidám až ho mít budu Lets's go pawn!

 

Autor: Isigar

Licence: MIT

Pastebin: http://pastebin.com/A1BQZYgW

Verze: 4.0

 

Znění MIT Licence:

 

 

Copyright © 2013/2014 IsigarPermission is hereby granted, free of charge, to any personobtaining a copy of this software and associated documentationfiles (the "Software"), to deal in the Software withoutrestriction, including without limitation the rights to use,copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom theSoftware is furnished to do so, subject to the followingconditions:The above copyright notice and this permission notice shall beincluded in all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIESOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHTHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.

 

 

Edited by Isigar
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...