[size=18][color=yellow]Tajemnica wkońcu została rozwiana![/color][/size]
Jednym z ikonicznych zabiegów z klasycznej trylogii GTA jest możliwość zmiany rozmiaru księżyca poprzez strzelanie z karabinu snajperskiego w niego.
Prawie po [b]dwóch dekadach[/b] od momentu pierwszego debiutu easter egga jeden z deweloperów postanawia nam wyjaśnić, dlaczego pojawiła się taka możliwość.
[size=18][color=yellow][b]Kto za tym stoi?[/b][/color][/size]
O bardzo nietypowym rozwiązaniu opowiadał były dyrektor techniczny studia Rockstar Games - [color=yellow][b]Obbe Vermeij[/b][/color] - na swoim blogu.
Wpis jednakże zniknął stosunkowo niedawno, ale internauci byli szybsi, robiąc kopię wpisów na archiwum.
[color=yellow][b]Znany przez nas easter egg powstał z powodu kilku niezdecydowanych artystów dla gry.[/b][/color]
[quote="Obbe Vermeij"]
Artyści dali mi teksturę księżyca do GTA 3. Umieściłem ją na niebie, upewniłem się, że jest widoczna w nocy i ma odpowiedni rozmiar. Kilka dni później czterech artystów przyszło do mojego biurka prosząc o zmianę rozmiaru księżyca. [...] Nie mogli jednak zdecydować, jaki rozmiar ma mieć księżyc. Dwójka chciała, żeby był mały i realistyczny, a pozostali, żeby był duży i filmowy.
Sprzeczka trwała przez dłuższy czas, więc zasugerowałem, żeby rozmiar księżyca dało się zmienić w grze. [...] Ponieważ pracowałem nad snajperką, dodałem kod przełączający rozmiar księżyca pomiędzy...
Siema przyszed?em wyja?ni? na czym polegaj? "selfy" w lua bo z tego co widze to du?o os?b u?ywa ich bez kompletnej wiedzy do czego s?u??.
Wi?c mo?e zaczne od wyja?nienia, co to jest self i sk?d sie wzi??. Selfy s?u?? do obiektowego programowania w klasach w j?zykach typu python itd. Przyk?ad u?ycia selfa w pythonie:
Og?lnie ten kod nie ma totalnie sensu, selfa u?ywamy wtedy kiedy chcemy zrobi? kilka/kilkana?cie takich samych element?w tylko z innymi danymi, najlepiej jest to zast?pi? createElement, lecz je?eli jeste? bardzo uparty to mo?esz u?y? w selfa w ten spos?b (wymagana biblioteka https://github.com/Yonaba/Lua-Class-System):
[lua]Przycisk = class({name = "Przycisk"}) -- definicja klasy
function Przycisk:init(x, y, w, h) -- konstruktor przycisku, co sie ustawi po wywy?aniu Przycisk(...)
self.x = x
self.y = y
self.w = w
self.h = h
end
function Przycisk:setPosition(x, y) -- funkcja do zmiany pozycji
self.x = x
s...
Nie pokazuje mi na zwyk?ym tabie(stworzy?em kolumne ID ) ale nadal nic si? tam nie pokazuje....
addEventHandler("onPlayerJoin",root,function()
local wynik=dbQuery(db, "SELECT id FROM users WHERE login=?",getPlayerName(plr))
local wynikglowny=dbPoll(wynik, -1)
getPlayerName(source)
setElementData(source, "ID" , wynikglowny[1].id)
end)
Rockstar Games opublikowa?a w?a?nie raport finansowy, z kt?rego wynika, ?e w latach 2023 - 2024 ma wyda? na marketing $89 milion?w. zrezygnowa? z pewnego projektu, wi?c wszystko wskazuje na to, ?e bud?et b?dzie przeznaczony na reklam? GTA VI.
Z jednych pyta? jakie pad?o jest to: Dlaczego na kolejn? cz??? GTA musimy czeka? tak d?ugo? Odpowiedzi zaskoczy?y wielu u?ytkownik?w. A mianowicie czekamy tak d?ugo przez Nas - przez graczy. Zyski jakie przynosz? GTA Online oraz Red Dead Online s? bardzo zadowalaj?ce.
Dlaczego po wejsciu na serwer wiadomo?? si? nie wysy?a?
DB3 puste
Bez tego if'a te? nie dzia?a
addEventHandler("onClientRender", root, function(plr)
if getElementData(plr, "user:admin") then
outputChatBox("Zosta?es automatycznie zalogowany na s?u?be administracjii", plr, 255, 255, 255, true) end
end)
Witam mam problem w kt?rym chodzi o to ?e po wej?ciu w marker nie dzia?aj? przyciski rozpocznij i informacje tylko dzia?a przycisk wyj?cia z gui nie wiem jak to naprawi? denerwuje mnie ju? to jakby kto? pom?g? to moge piwko zimne stawi?
[lua]kurierMarker = createMarker ( -2521.24561, -621.98376, 131.74370, "cylinder", 1, 0, 180, 160 )
kurier_glowny = false
kurier_informacje = false
kurier_rozpocznij = false
function isMouseInPosition ( x, y, width, height )
if ( not isCursorShowing( ) ) then
return false
end
local sx, sy = guiGetScreenSize ( )
local cx, cy = getCursorPosition ( )
local cx, cy = ( cx * sx ), ( cy * sy )
if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
return true
else
return false
end
end
Witam dlaczego gdy do??cz? wy?wietla si? outputchatbox, ale nie daje mi rzeczy? Pr?bowa?em na komend? i dzia?a?o.
[lua]
function givemy(localPlayer)
UID = 1
local gethp = dbQuery(db_connect,"SELECT Hp FROM `rg_users` WHERE UID=?",UID)
local result2 = dbPoll(gethp,-1)
local hp = result2[1]['Hp']
local getarmor = dbQuery(db_connect,"SELECT Kevlar FROM `rg_users` WHERE UID=?",UID)
local result3 = dbPoll(getarmor,-1)
local armor = result3[1]['Kevlar']
local getmoney = dbQuery(db_connect,"SELECT Money FROM `rg_users` WHERE UID=?",UID)
local result4 = dbPoll(getmoney,-1)
local money = result4[1]['Money']
[size=9][ [i][b]Dodano[/b]: 2017-11-09, 17:17[/i] ][/size]
Teraz mam znowu tym ?e nie zapisuje gdy wyjd?.
[lua]
function saved(localPlayer)
UID = 1
local gethp = getElementHealth(localPlayer)
local hp = math.floor(gethp)
local money = getPlayerMoney(localPlayer)
local getarmor = getPedArmor ( localPlayer )
l...
addEventHandler("onMarkerHit", wejdz, function(el,md)
if getElementType(el) == "player" then if isPedInVehicle(el) then return end
setElementInterior (el, 6) setElementPosition(el, 246.65643, 64.98157, 1003.64063) end
end)
addEventHandler("onMarkerHit", wyjdz, function(el,md)
if getElementType(el) == "player" then if isPedInVehicle(el) then return end
setElementInterior(el, 0) setElementPosition(el, 1552.77148, -1675.64600, 16.19531) end
end)
Zrobi?em reinstal MTA i od tej pory kiedy wchodz? na sw?j serwer to MTA nie zapami?tuje has?a. W pisywanie has?a za ka?dym razem jak wchodz? na serwer jest wkurzaj?ce. Czy kto? mo?e wie jak to naprawi??
addCommandHandler("mina",function(plr) local x,y,z=getElementPosition(plr) setPedAnimation (plr,"BOMBER","BOM_Plant") setTimer (setPedAnimation,1500,1,plr,false ) local x,y,z = getElementPosition(plr) setTimer(function() ob=createObject(1953,x,y,z-1) mina[plr]=createMarker(x,y,z-1,"cylinder",2,255,255,255,0) setElementData(mina[plr],"mina",getPlayerName(plr)) attachElements(ob,mina[plr]) end,1500,1) outputChatBox("*Rozstawi?e?(a?) min?, uwa?aj na ni?!",plr,255,255,255) end)
addEventHandler("onMarkerHit",root,function(e)
if getElementData(source,"mina") then if getElementType(e)=="player" then if getElementData(source,"mina")==getPlayerName(e) then return end
local x,y,z=getElementPosition(e) createExplosion(x,y,z,3)
if getPlayerFromName(getElementData(source,"mina")) then
outputChatBox("*Gracz "..getPlayerName(e).." wszed? na Twoj? min?!",getPlayerFromName(getElementData(source,"mina")),255,255,255) end for _,v in ipairs(getAttachedElements(source))do destroyElement(v) end
destroyElement(source) end
end
end)
Witam staram si? nauczy? j?zyka lua natrafilem na poradnik w kt?rym nie wiem dlaczego nie dziala mi ta komenda.
function createVehicleForPlayer(thePlayer, command, vehicleModel)
end
addCommandHandler("stworzpojazd", createVehicleForPlayer) createVehicleForPlayer(thePlayer,"stworzpojazd","468")
function createVehicleForPlayer(thePlayer, command, vehicleModel) local x,y,z = getElementPosition(thePlayer) x = x + 5
local createdVehicle = createVehicle(tonumber(vehicleModel),x,y,z) end
Tak jak w temacie . Dlaczego ten kod nie dzia?a i czy mo?ecie wyt?umaczy? krok po kroku dlaczego ? Zadnych b?ed?w w db . Marker jest ale panel si? nie pojawia.
Kod :
c-side
[lua]
okno = guiCreateWindow(256, 136, 286, 318, "Panel Pogotowia", false)
guiWindowSetSizable(okno, false)
guiSetVisible(okno, false)
Witam mam suszark? lecz nie dzia?a dobrze mam te? DB
[code]ERROR: Client (|MistrzAFK|sebik2303) tiggered serverside event onPokazChatMierzenie, but event is not added serverside[/code]
to by? 1 a 2
[code]ERROR: Client (|MistrzAFK|sebik2303) tiggered serverside event onWystawMandat_Suszarka, but event is not added serverside[/code]
O co z tym chodzi ?
Dam kod :
[lua]
local resourceRoot = getResourceRootElement(getThisResource())
local screenWidth, screenHeight = guiGetScreenSize ()
vehicle=nil
najwyzsza=0
dop="n/a"
rejstrator=false
moznamierzyc=true
function seter()
moznamierzyc=true
tekst="Oczekuje na pomiar..."
end
function isPlayerInTeam( thePlayer, teamName )
local pTeam = getPlayerTeam( thePlayer )
local fTeam = getTeamFromName( teamName )
if ( pTeam ) and ( fTeam ) then
if ( pTeam == fTeam ) then
return true
end
end
end
function targetingActivated ( target )
local wep=getPedWeapon(getLocalPlayer())
if wep==32 then
if isPlayerInTeam( getLocalPlayer(), "SAPD" ) then
if getPedControlState ( getLocalPlayer(), "aim_weapon" ) then
if isPedDucked ( getLocalPlayer() ) then
sx, sy, sz = getElementVelocity ( getLoca...
Cze??. Mam do Was pytanko. A mianowicie mam serwer RPG by nero657 i ju? mam wszystko wgrane a Mi mapa nie dzia?a.. Mam czarny ekran... Je?eli pomo?ecie dostajecie Piwko
Witam serdecznie. Mam skrypt na prac? odmalowywania ?cian budynk?w. Wszystko dzia?a jak ma. Animacja si? w??cza, bo wy??czeniu si? znika marker, a kas? dostaje, ALE. Ale problem polega na tym ?e czasami dostaj? x2, lub x4. Czemu tak si? dzieje? B??d w kodzie? Ja nie widz?, a mo?e bugi MTA, ?e my?lisz ?e wchodz? kilka razy w marker? Prosz? o pomoc. Oczywi?cie w zamian piwko
[lua]
function wejdzDoMarkera(hitElement,matchingDimension)
if getElementData(source,"Biegnij") == true then
if hitElement == getLocalPlayer() then
if not isPedInVehicle(hitElement) then
setTimer(setElementFrozen,450,1,hitElement,true)
setTimer(setPedAnimation,451,1,hitElement,"GRAFFITI","spraycan_fire",9000,true,false,true)
toggleControl("forwards",false)
toggleControl("backwards",false)
destroyElement(source)
setTimer(function()
setElementFrozen(hitElement,false)
triggerServerEvent("dajKase",root,hitElement, 11)
outputChatBox("Dosta?e? 11 PLN za odmalowanie budynku.")
setPedAnimation(hitElement,false)
toggleControl("forwards",true)
toggleControl("backwards",true)
end, 9000, 1)
end
end
end
end
[ Dodano : 2014-09-29, 18:54 ]
Chwilk? pomy?la?em, posprawdza?em z koleg? i okazuje si?, ?e "buguje" si? tak je?li w pracy jest kilka os?b (wystarczy ?e 2). Macie jaki? pomys??...
Witam serdecznie. Chc? podmieni? skina, no ale nie czyta TXD. DFF jest czytane poniewa? kszta?t jest taki jak ma by?, ale skin nie ma kolor?w. Podam kod jak to zrobi?em.
local txd = engineLoadTXD("277.txd", 277) engineImportTXD(txd, 277) local dff = engineLoadDFF("277.dff", 277) engineReplaceModel(dff, 277)
format(strx, sizeof strx, "{2E9AFE}(*I){F5D0A9}Gracz {BDBDBD}%s {F5D0A9}jako pierwszy poda? prawid?owy wynik {BDBDBD}%d {F5D0A9}otrzymuje:{BDBDBD} 35 {F5D0A9}exp oraz {BDBDBD} 10000{F5D0A9}$ !", pName[playerid], ObliczWynik);
SCMToAll(-1, strx);
switch(reason)
{
case 0: format(strx, sizeof(strx), "{2E2E2E}[disconnect] Gracz {A4A4A4}%s{2E2E2E} opu?ci?[a] serwer z powodu {A4A4A4}Crash{2E2E2E}(Gra?[a]:{A4A4A4}%d godz %d min %d sek{2E2E2E})", pName[playerid], p_Hours[playerid], p_Minutes[playerid], p_Secounds[playerid]);
case 1: format(strx, sizeof(strx), "{2E2E2E}[disconnect] Gracz {A4A4A4}%s{2E2E2E} opu?ci?[a] serwer z powodu {A4A4A4}/quit{2E2E2E}(Gra?[a]: {A4A4A4}%d godz %d min %d sek{2E2E2E})", pName[playerid], p_Hours[playerid], p_Minutes[playerid], p_Secounds[playerid]);
case 2: format(strx, sizeof(strx), "{2E2E2E}[disconnect] Gracz {A4A4A4}%s{2E2E2E} opu?ci?[a] serwer z powodu {A4A4A4}Kick/Ban{2E2E2E}(Gra?[a]:{A4A4A4}%d godz %d min %d sek{2E2E2E})", pName[playerid], p_Hours[playerid], p_Minutes[playerid], p_Secounds[playerid]);
}
SCMToAll(-1, strx);
Witam, dzi? zrobi?em sobie baze dla gangu, robi?em to ze 2 godziny, p??niej chcia?em testowa? skrypt a tu co? Klapa. Nic nie dzia?a :-(.
Prosz? je?li wykryjecie jaki? b??d w skrypcie napiszcie co zrobi?em ?le, lub wy?lijcie poprawion? wersje.
Siemanko.Mam problem a mianowicie chodzi o to , ?e nie tworzy mi bramy . Co jest w tym nie tak ? Czemu to nie dzia?a ?
Skrypt pobrany z tego forum i wygl?da on tak :
st = createObject ( 971, 96.699996948242, 1920.9000244141, 20.700000762939, 0, 0, 270 )
function stO ()
moveObject ( st, 3000, 96.699996948242, 1920.90000244141, 13 )
outputChatBox (Otweranie trwa, thePlayer, 219, 78, 1, false )
end
addCommandHandler(otworz4, stO )
Mam tak? komend? na przywr?cenie tuningu w prywatnej osob?wce:
[code]CMD:tuning(playerid, params[])
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
new car = GetCarUID(vehicleid);
new spoiler;
spoiler = djInt(OsFile(car), "Spoiler");
AddVehicleComponent(DynamicVehInfo[car][dvVID], spoiler);
SendClientMessage(playerid, poczatek, "Wykona?o si?");
}
return 1;
}[/code]
Tylko ?e ta komenda nie dzia?a. Nie wiem czemu. W pliku z pojazdem oczywi?cie mam zapisany spoiler w postaci id. Jak wpisz? /tuning to nawet wiadomo?? nie idzie. Nie wiem czemu.
Dodam ?e komenda na zaparkowanie pojazdu na kt?rej si? wzorowa?em, dzia?a.
[code]CMD:zaparkuj(playerid, params[])
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
new car = GetCarUID(vehicleid);