Jump to content

Jhnzrep

Uživatel
  • Příspěvků

    11
  • Registrován

  • Aktivní

Reputace

1 Jonny Sindacco
  1. Y u no use foreach? Najrychlejsi a najednoduchejsi loop.
  2. Jhnzrep

    script Business System

    Uplne som zabudol dat /sellbiz /buybiz a /bizsetname..Ale teraz to tam uz je
  3. Jhnzrep

    pomoc Text s ID

    Pod OnPlayerText musis mat return 0; EDIT:Mort ma predbehol
  4. Pretoze io je ID, a mas to break. Tak automaticky povie "najvacsi killer mal: 1 KILLS"
  5. Nie...Strlen je dlazka stringu. Ale aj tak to tam netreba if(strcmp(params, "vehicle") == 0) Toto by malo fungovat.
  6. NO JUST NO! Stiahni si foreach od Y_Less, ovela jednoduchsie a najrychlejsi loop. foreach(Player, i) { // kod }
  7. Jhnzrep

    script Business System

    Zajtra pridam /movebiz, /changebiztype a /changebizint.
  8. Jhnzrep

    script Business System

    Viem viem, ale po Slovensky sa mi dost ze vysvetluje. Ale tak, mozno to aj tak niekomu pomoze.
  9. Jhnzrep

    script Business System

    No ja by som chcel vidiet nejaky SK/CZ Roleplay...Vecina ludi na SK/CZ si myslia ze Realna Zeme je RP..Co my pride dost smiesne.
  10. Jhnzrep

    script Business System

    No jo, ja som s polovice American, tak niekedy byvam tu a niekedy na Slovensku. Moj prvy jazyk bol Slovencina..Ale dlho tam uz nezijem, a este ked to spojim so svojou disgraphiou tak koniec. (A ano ked som na Slovensku, zijem na vychode ) EDIT:Rozmyslam ze ci tu mam dat aj svoj dynamicky Faction/Family system. Ale neviem ci to moc Cesy/Slovaci vyuziju ked ze som este nevidel jeden normalny CZ/SK RP. Coo si myslis?
  11. Jhnzrep

    script Business System

    Ahojte, Vytvoril som si pre svoj script business system. A kedze na officialnych samp forums nebol nato ziadny tutorial tak som ho tam dal. Mozno ste ho uz niektory videly, mozno nie. Ale teraz ho idem prelozit(Uz par rokov na Slovensku nebivam, tak my ospravdlnte gramatiku). *Tento script je dost zloziti, a vela funkci nebudem vysvetlovat, ak ich nerozumiete tak mi moste napisat.* Coo budeme potrebovat: YCMD - od Y_Less y_ini - od Y_Less streamer - od Incognito Vas vlastny registracni system Ok, takze prve potrebuje par includov na vrchu scriput: #include #include Teraz budeme potrebovat par definov: #define SCM SendClientMessage //Setry cas. #define BPATH "/Business/%i.ini" //Tieto farby niesu povinne, ale ak ich nechcete tak musite zmenit vela veci v ostatnom scripte. #define NEWBIE_COLOR 0x7DAEFFFF #define TCOLOR_WHITE 0xFFFFFF00 #define COLOR_GRAD1 0xB4B5B7FF #define COLOR_GRAD2 0xBFC0C2FF #define COLOR_GRAD3 0xCBCCCEFF #define COLOR_GRAD4 0xD8D8D8FF #define COLOR_GRAD5 0xE3E3E3FF #define COLOR_GRAD6 0xF0F0F0FF #define COLOR_FADE1 0xE6E6E6E6 #define COLOR_FADE2 0xC8C8C8C8 #define COLOR_FADE3 0xAAAAAAAA #define COLOR_FADE4 0x8C8C8C8C #define COLOR_FADE5 0x6E6E6E6E #define COLOR_PURPLE 0xC2A2DAAA #define COLOR_RED 0xAA3333AA #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_BLACK 0x000001FF #define COLOR_BLUE 0x007BD0FF #define COLOR_LIGHTORANGE 0xFFA100FF #define COLOR_FLASH 0xFF000080 #define COLOR_LIGHTRED 0xFF6347AA #define COLOR_LIGHTBLUE 0x01FCFFC8 #define COLOR_LIGHTGREEN 0x9ACD32AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_LIGHTYELLOW 0xFFFF91FF #define COLOR_YELLOW2 0xF5DEB3AA #define COLOR_WHITE 0xFFFFFFAA Teraz budeme potrebovat "new define": new InsideBiz;[MAX_PLAYERS] Teraz si vytvorime enum: enum bInfo { bOwned, bPrice, bOwner[MAX_PLAYER_NAME], bType, bLocked, bMoney, Float:bEntranceX, Float:bEntranceY, Float:bEntranceZ, Float:bEntranceA, Float:bExitX, Float:bExitY, Float:bExitZ, Float:bExitA, bInt, bWorld, bInsideInt, bInsideWorld, bInsideIcon, bOutsideIcon, bName[128] } new BusinessInfo[200][bInfo]; Toto si musite dat pod vas registracny enum: BizID//Vas registracni system to musi ulozit/nacitat..Nebudem vysvetlovat ako. Teraz si toto musite dat pod OnGameModeInit(): new str[40]; for(new idx = 1; idx < sizeof(BusinessInfo); idx++)//prejde to cez vsetky biznisi { format(str, sizeof(str), BPATH, idx);//formatuje cestu kde je biz savenuty. INI_ParseFile(str, "loadbiz_%s", .bExtra = true, .extra = idx );//Toto je velmi takze vysvetlit, proste si to tam dajte. Ked tomu nechapete pozrite si QWERov tutorial. BusinessInfo[idx][bOutsideIcon] = CreateDynamicPickup(1272, 1, BusinessInfo[idx][bEntranceX], BusinessInfo[idx][bEntranceY], BusinessInfo[idx][bEntranceZ], BusinessInfo[idx][bWorld]); //Vyroby to pickup kde bude biznis. BusinessInfo[idx][bInsideIcon] = CreateDynamicPickup(1272, 1, BusinessInfo[idx][bExitX], BusinessInfo[idx][bExitY], BusinessInfo[idx][bExitZ], BusinessInfo[idx][bInsideWorld]); //Vyroby to pickup v dnukajsku biznisu. } Toto teraz vlozte pod OnGameModeExit(): for(new id = 1; id < sizeof(BusinessInfo); id++)//Zas to prejde cez vsetky biznisi. { if(BusinessInfo[id][bPrice] == 0) break;//Prestance loopovat cez biznisi ak je cena 0(Takze biznis neexistuje) SaveBusiness(id);//Funkcia ulozenia. } Teraz si vyrobime funkciu na ulozenie: forward SaveBusiness(id); public SaveBusiness(id) { new file4[40]; format(file4, sizeof(file4), BPATH, id); new INI:File = INI_Open(file4); INI_SetTag(File,"data"); INI_WriteInt(File,"bOwned", BusinessInfo[id][bOwned]); INI_WriteInt(File,"bPrice", BusinessInfo[id][bPrice]); INI_WriteString(File,"bOwner", BusinessInfo[id][bOwner]); INI_WriteInt(File,"bType", BusinessInfo[id][bType]); INI_WriteInt(File,"bLocked", BusinessInfo[id][bLocked]); INI_WriteInt(File,"bMoney", BusinessInfo[id][bMoney]); INI_WriteFloat(File,"bEntranceX", BusinessInfo[id][bEntranceX]); INI_WriteFloat(File,"bEntranceY", BusinessInfo[id][bEntranceY]); INI_WriteFloat(File,"bEntranceZ", BusinessInfo[id][bEntranceZ]); INI_WriteFloat(File,"bEntranceA", BusinessInfo[id][bEntranceA]); INI_WriteFloat(File,"bExitX", BusinessInfo[id][bExitX]); INI_WriteFloat(File,"bExitY", BusinessInfo[id][bExitY]); INI_WriteFloat(File,"bExitZ", BusinessInfo[id][bExitZ]); INI_WriteFloat(File,"bExitA", BusinessInfo[id][bExitA]); INI_WriteInt(File,"bInt", BusinessInfo[id][bInt]); INI_WriteInt(File,"bWorld", BusinessInfo[id][bWorld]); INI_WriteInt(File,"bInsideInt", BusinessInfo[id][bInsideInt]); INI_WriteInt(File,"bInsideWorld", BusinessInfo[id][bInsideWorld]); INI_WriteString(File,"bName", BusinessInfo[id][bName]); INI_Close(File); return 1; } Teraz budeme potrebovat funkciu na nacitanie: forward loadbiz_data(idx, name[], value[]); public loadbiz_data(idx, name[], value[]) { INI_Int("bOwned", BusinessInfo[idx][bOwned]); INI_Int("bPrice", BusinessInfo[idx][bPrice]); INI_String("bOwner", BusinessInfo[idx][bOwner], 24); INI_Int("bType", BusinessInfo[idx][bType]); INI_Int("bLocked", BusinessInfo[idx][bLocked]); INI_Int("bMoney", BusinessInfo[idx][bMoney]); INI_Float("bEntranceX", BusinessInfo[idx][bEntranceX]); INI_Float("bEntranceY", BusinessInfo[idx][bEntranceY]); INI_Float("bEntranceZ", BusinessInfo[idx][bEntranceZ]); INI_Float("bEntranceA", BusinessInfo[idx][bEntranceA]); INI_Float("bExitX", BusinessInfo[idx][bExitX]); INI_Float("bExitY", BusinessInfo[idx][bExitY]); INI_Float("bExitZ", BusinessInfo[idx][bExitZ]); INI_Float("bExitA", BusinessInfo[idx][bExitA]); INI_Int("bInt", BusinessInfo[idx][bInt]); INI_Int("bWorld", BusinessInfo[idx][bWorld]); INI_Int("bInsideInt", BusinessInfo[idx][bInsideInt]); INI_Int("bInsideWorld", BusinessInfo[idx][bInsideWorld]); INI_String("bName", BusinessInfo[idx][bName], 128); return 1; } Teraz si vytvorime prvy command: YCMD:createbiz(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SCM(playerid, COLOR_GREY, "Niesi admin!");//Skontroluje ci je hrac RCON admin - zmente si to na svoj vlastny admin system. new price, level, id, int, world, string[128], Float:Xi, Float:Yi, Float:Zi, inti;//new definy ktore budeme potrebovat if(sscanf(params, "dddfff", price, level, inti, Xi, Yi, Zi)) return SendClientMessage(playerid, COLOR_GREY, "YCMD: /createbiz [price] [type] [interior] [X] [Y] [Z]");//d = integer, f = float if(level < 0 || level > 4) return SendClientMessage(playerid, COLOR_GREY, "YCMD: Typy biznisu su iba 1 - 4");// if(price < 10000) return SendClientMessage(playerid, COLOR_GREY, "YCMD: Cena nemoze ist pod 10000"); for(new h = 1;h < sizeof(BusinessInfo);h++)//Loops through all the businesses { if(BusinessInfo[h][bPrice] == 0)//Skontroluje ci je cena 0 { id = h; break;//Loop zastane ak ano } } new Float:X,Float:Y,Float:Z,Float:A;//Dalsie definy GetPlayerPos(playerid, X, Y, Z);//Najde vasu poziciu, a savene ju do floatov. GetPlayerFacingAngle(playerid, A);// int = GetPlayerInterior(playerid);//Najde vas interior, a ulozi ho do integera world = GetPlayerVirtualWorld(playerid);//Najde vas virtualworld a ulozi ho do intergera. BusinessInfo[id][bInsideInt] = inti; BusinessInfo[id][bExitX] = Xi; BusinessInfo[id][bExitY] = Yi; BusinessInfo[id][bExitZ] = Zi; BusinessInfo[id][bOwned] = 0; BusinessInfo[id][bPrice] = price; BusinessInfo[id][bType] = level; BusinessInfo[id][bEntranceX] = X; BusinessInfo[id][bEntranceY] = Y; BusinessInfo[id][bEntranceZ] = Z; BusinessInfo[id][bEntranceA] = A; BusinessInfo[id][bLocked] = 1; BusinessInfo[id][bInt] =int; BusinessInfo[id][bWorld] =world; BusinessInfo[id][bInsideWorld] =id; format(string, sizeof(string), "None"); strmid(BusinessInfo[id][bName], string, 0, strlen(string), 255); if(BusinessInfo[id][bOutsideIcon]) DestroyDynamicPickup(BusinessInfo[id][bOutsideIcon]); if(BusinessInfo[id][bInsideIcon]) DestroyDynamicPickup(BusinessInfo[id][bInsideIcon]); BusinessInfo[id][bOutsideIcon] = CreateDynamicPickup(1272, 1, BusinessInfo[id][bEntranceX], BusinessInfo[id][bEntranceY], BusinessInfo[id][bEntranceZ], BusinessInfo[id][bWorld]);//Creates a pickup at your location BusinessInfo[id][bInsideIcon] = CreateDynamicPickup(1272, 1, BusinessInfo[id][bExitX], BusinessInfo[id][bExitY], BusinessInfo[id][bExitZ], BusinessInfo[id][bInsideWorld]);//Vyroby pickup na vasej pozici. new file4[40]; format(file4, sizeof(file4), BPATH, id); new INI:File = INI_Open(file4); INI_SetTag(File,"data"); INI_WriteInt(File,"bOwned", BusinessInfo[id][bOwned]); INI_WriteInt(File,"bPrice", BusinessInfo[id][bPrice]); INI_WriteString(File,"bOwner", BusinessInfo[id][bOwner]); INI_WriteInt(File,"bType", BusinessInfo[id][bType]); INI_WriteInt(File,"bLocked", BusinessInfo[id][bLocked]); INI_WriteInt(File,"bMoney", BusinessInfo[id][bMoney]); INI_WriteFloat(File,"bEntranceX", BusinessInfo[id][bEntranceX]); INI_WriteFloat(File,"bEntranceY", BusinessInfo[id][bEntranceY]); INI_WriteFloat(File,"bEntranceZ", BusinessInfo[id][bEntranceZ]); INI_WriteFloat(File,"bEntranceA", BusinessInfo[id][bEntranceA]); INI_WriteFloat(File,"bExitX", BusinessInfo[id][bExitX]); INI_WriteFloat(File,"bExitY", BusinessInfo[id][bExitY]); INI_WriteFloat(File,"bExitZ", BusinessInfo[id][bExitZ]); INI_WriteFloat(File,"bExitA", BusinessInfo[id][bExitA]); INI_WriteInt(File,"bInt", BusinessInfo[id][bInt]); INI_WriteInt(File,"bWorld", BusinessInfo[id][bWorld]); INI_WriteInt(File,"bInsideInt", BusinessInfo[id][bInsideInt]); INI_WriteInt(File,"bInsideWorld", BusinessInfo[id][bInsideWorld]); INI_WriteString(File,"bName", BusinessInfo[id][bName]); INI_Close(File); return 1; } Teraz si vyrobime dalsi command, /deletebiz: YCMD:deletebiz(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return 1; // Skontroluje ci ste RCON admin new id; if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR_GREY, "YCMD: /deletebiz [id]"); if(BusinessInfo[id][bOwned] == 1) return SCM(playerid, COLOR_GREY, "This biz is owned.");//Skontroluje cii niekto vlastni tento biznis, ak ano, tak ho nedovoli predat. //Vymaze vsetky informacie ktore boli v enumoch BusinessInfo[id][bOwned] = 0; BusinessInfo[id][bPrice] = 0; BusinessInfo[id][bOwner] = 0; BusinessInfo[id][bType] = 0; BusinessInfo[id][bLocked] = 0; BusinessInfo[id][bName] = 0; BusinessInfo[id][bMoney] = 0; BusinessInfo[id][bEntranceX] = 0; BusinessInfo[id][bEntranceY] = 0; BusinessInfo[id][bEntranceZ] = 0; BusinessInfo[id][bEntranceA] = 0; BusinessInfo[id][bExitX] = 0; BusinessInfo[id][bExitY] = 0; BusinessInfo[id][bExitZ] = 0; BusinessInfo[id][bExitA] = 0; BusinessInfo[id][bInt] = 0; BusinessInfo[id][bWorld] = 0; if(BusinessInfo[id][bOutsideIcon]) DestroyDynamicPickup(BusinessInfo[id][bOutsideIcon]);//Vymaze pickup new string[128]; format(string, sizeof(string), BPATH, id); fremove(string);//Vymaze file kde bol biz ulozeny. return 1; } Teraz budeme potrebovat OnPlayerPickupDynamicPickup funkciu aby nam zobrazilo informacie o biznise: public OnPlayerPickUpDynamicPickup(playerid, pickupid) { new string[256]; for(new b = 1;b < sizeof(BusinessInfo);b++)// Prejde cez vsetky biznisi { if(pickupid == BusinessInfo[b][bOutsideIcon])//Skontroluje cii stojite na biznis pickupe { if(BusinessInfo[b][bOwned] == 0)//Skontroluje ze cii niekto tento biznis vlastni. { format(string, sizeof(string), "~g~Meno:~w~%s~n~~w~Tento business je ~g~ napredaj~n~~r~Cena:~g~%i~n~BizType:~w~%s~n~~g~BizID:~w~%i", BusinessInfo[b][bName], BusinessInfo[b][bPrice], BusinessType(, ; GameTextForPlayer(playerid, string, 3000, 3); } if(BusinessInfo[b][bOwned] == 1)//Checks if it owned. { format(string, sizeof(string), "~g~Meno:~w~%s~n~~g~Vlastnik:~w~%s~n~~g~BizType:~w~%s ~n~~g~BizID:~w~%i", BusinessInfo[b][bName], BusinessInfo[b][bOwner], BusinessType(, ; GameTextForPlayer(playerid, string, 3000, 3); } } } return 1; } Teraz si vyrobime stock ktory nam ukaze aky typ biznisu to je: stock BusinessType(b)// creates a stock. { new string[30]; switch(BusinessInfo[b][bType]) { case 4: string = "Potraviny"; case 3: string = "Club"; case 2: string = "Bar"; case 1: string = "Oblecenie"; } return string; } Teraz si vyrobime funkciu ktora skontroluje ci sme blizko biznisu: IsPlayerNearBizEnt(playerid) { for(new b = 1; b < sizeof(BusinessInfo); b++) { if(IsPlayerInRangeOfPoint(playerid, 2.0, BusinessInfo[b][bEntranceX], BusinessInfo[b][bEntranceY], BusinessInfo[b][bEntranceZ])) return b; } return -1; } Command na kupenie biznisu: YCMD:buybiz(playerid, params[]) { if(gPlayerLoggedIn[playerid] == 0) return 1; new id = IsPlayerNearBizEnt(playerid); if(id == -1 || id == 0) return SendClientMessage(playerid, COLOR_GREY, "You are not near a biz"); if(BusinessInfo[id][bOwned] != 0 || BusinessInfo[id][bPrice] == 0) return SendClientMessage(playerid, COLOR_GREY, "This biz is not for sale."); if(PlayerInfo[playerid][bizID] != 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You already own a biz."); if(PlayerInfo[playerid][Money] < BusinessInfo[id][bPrice]) return SendClientMessage(playerid, COLOR_LIGHTRED, "Sorry, you can not afford this biz."); PlayerInfo[playerid][bizID] = id; PlayerInfo[playerid][Money] -= BusinessInfo[id][bPrice]; GivePlayerMoney(playerid, -BusinessInfo[id][bPrice]); BusinessInfo[id][bLocked] = 0; BusinessInfo[id][bOwned] = 1; BusinessInfo[id][bOwner] = RemoveUnderScore(playerid); SendClientMessage(playerid, COLOR_YELLOW, "Congratulations on your new biz! Use /bizhelp to get help, or /ask!"); return 1; } Command na predanie biznisu: YCMD:sellbiz(playerid, params[]) { new id = PlayerInfo[playerid][bizID]; if(PlayerInfo[playerid][bizID] == 0) return SCM(playerid, COLOR_GREY, "You don't own a biz!"); BusinessInfo[id][bOwned] = 0; BusinessInfo[id][bOwner] = 0; BusinessInfo[id][bLocked] = 1; PlayerInfo[playerid][Money] = BusinessInfo[id][bPrice]; PlayerInfo[playerid][bizID] = 0; SCM(playerid, COLOR_YELLOW, "Business sold!"); return 1; } Command na zmenu mena biznisu: YCMD:bizsetname(playerid, params[]) { new name[128]; if(sscanf(params, "s[128]", name)) return SCM(playerid, COLOR_GREY, "/bizsetname [name]"); if(PlayerInfo[playerid][bizID] == 0) return SCM(playerid, COLOR_GREY, "You don't own a biz!"); BusinessInfo[PlayerInfo[playerid][bizID]][bName] = name; SCM(playerid, COLOR_YELLOW, "Business name changed!"); return 1; } Teraz command na zamknutie biznisu: YCMD:lockbiz(playerid, params[]) { new id = IsPlayerNearBizEnt(playerid); if(id != PlayerInfo[playerid][bizID]) return SCM(playerid, COLOR_GREY, "Toto neni vas biznis!"); if(BusinessInfo[id][bLocked] == 1)//Ak je zamknuty { BusinessInfo[id][bLocked] = 0; GameTextForPlayer(playerid, "Biz ~g~odomnkunty!", 3000, 3); } else { BusinessInfo[id][bLocked] = 1; GameTextForPlayer(playerid, "Biz ~r~zamknuty!", 3000, 3); } return 1; } Command na vchod do biznisu: YCMD:enter(playerid, params[]) { for(new b = 1; b < sizeof(BusinessInfo); b++)//Loopne cez vsetky biznisi { if(IsPlayerInRangeOfPoint(playerid, 1.0, BusinessInfo[b][bEntranceX], BusinessInfo[b][bEntranceY], BusinessInfo[b][bEntranceZ]))// { if(BusinessInfo[b][bLocked] == 1) return SendClientMessage(playerid, COLOR_GREY, "Tento biznis je zamknuty!");//Skontroluje ci je biznis zamknuty SetPlayerPos(playerid, BusinessInfo[b][bExitX], BusinessInfo[b][bExitY], BusinessInfo[b][bExitZ]); SetPlayerFacingAngle(playerid, BusinessInfo[b][bExitA]); SetPlayerInterior(playerid, BusinessInfo[b][bInsideInt]); SetPlayerVirtualWorld(playerid, BusinessInfo[b][bInsideWorld]); InsideBiz[playerid] = b; return 1; } if(IsPlayerInRangeOfPoint(playerid, 2.0, BusinessInfo[b][bExitX], BusinessInfo[b][bExitY], BusinessInfo[b][bExitZ]) && GetPlayerVirtualWorld(playerid) == BusinessInfo[b][bInsideWorld])//Skontroluje cii je hrac blizko vychodu { SetPlayerPos(playerid, BusinessInfo[b][bEntranceX], BusinessInfo[b][bEntranceY], BusinessInfo[b][bEntranceZ]); SetPlayerFacingAngle(playerid, BusinessInfo[b][bEntranceA]); SetPlayerInterior(playerid, BusinessInfo[b][bInt]); SetPlayerVirtualWorld(playerid, BusinessInfo[b][bWorld]); InsideBiz[playerid] = 0; return 1; } } return 1; } No, a ked uz vsetko mame, tak tu je ukazka coo sa stakymto business system da urobit: YCMD:clothes(playerid, params[]) { new skin; if(sscanf(params, "i", skin)) return SCM(playerid, COLOR_GREY, "YCMD:/clothes [skinid]"); if(PlayerInfo[playerid][Money] < 100) return SCM(playerid, COLOR_GREY, "Potrebujes aspon 100$"); if(BusinessInfo[insideBiz[playerid]][bType] != 1) return SCM(playerid, COLOR_GREY, Musis byt v obchode coo predava oblecenie."); if(1 > skin || 299 < skin || skin == 288 || skin == 287 || skin == 286 || skin == 285 || skin == 284 || skin == 283 || skin == 282 || skin == 281 || skin == 280 || skin == 279 || skin == 278 || skin == 277 || skin == 276 || skin == 275 || skin == 274) return SCM(playerid, COLOR_GREY, "Invalid skin ID!"); SetPlayerSkin(playerid, skin); PlayerInfo[playerid][skin] = skin; GivePlayerMoney(playerid, -100); BusinessInfo[insideBiz[playerid]][bMoney] += 100; return 1; } Tento command zobere 100, da ho biznisu..A zmeni ti skin. Aby vam tento script fungoval v scriptfiles si musite vyrobit zlozku "Business". *Ako uz som spominal, tento script neni moc pre zaciatocnikou. Ak potrebujete lepsie vysvetlenie nejakej funkci, povedzte mi. Mozete ma kontaktovat tu, alebo na sa-mp.com forums. Pod tymto istym menom. Hodnote/komentujte.
×
×
  • Create New...