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...
--System VIP wykonany przez Tysiek <mail:[email protected]>
--Dla projektu 4FUN PSZ MTA.
--Zakaz u?ywania skryptu bez mojej zogody.
--Wszystkie prawa zastrze?one.
--premia
-- Kamizelka i zdrowie
function kamizelka(plr,cmd,...)
local account = getPlayerAccount(plr)
local accname = getAccountName(account)
if isObjectInACLGroup("user."..accname, aclGetGroup("VIP")) then
setPedArmor(plr, 100)
outputChatBox("[4FuN VIP] U?y?es kamizelki!", plr, 171, 207, 0)
end
end
addCommandHandler("viparmor",kamizelka)
function uleczanie(plr,cmd,...)
local account = getPlayerAccount(plr)
local accname = getAccountName(account)
if isObjectInACLGroup("user."..accname, aclGetGroup("VIP")) then
setElementHealth (plr, 100)
outputChatBox("[4FuN VIP] Uleczy?e? si?!", plr, 171, 207, 0)
end
end
addCommandHandler("viphealth",uleczanie)
--NameTag
addEventHandler ( 'onPlayerLogin', function(plr)
local account = getPlayerAccount(plr)
local accname = getAccountName(account)
if isObjectInACLGroup("user."..accname, aclGetGroup("VIP")) then
setElementData(plr,"premium")
outputChatBox("[4FuN VIP] Posiadasz aktywne konto VIP.", plr, 171, 207, 0)
setPlayerNametagColor(plr, 171, 207,...
Witam mam taki problem, ot?? raz na jaki? czas po przelaniu graczowi jaki? kwoty odejmuje mu 3/4 wszystkich pieni?dzy, prosz? o pomoc.
[lua]function onTransferMoney(plr, cmd, target, value)
if not target or not tonumber(value) then
outputChatBox('* U?yj: /przelej <nick/ID> <kwota>', plr)
return
end
value=string.match(value, "%d*")
value=tonumber(value)
local target=findPlayer(plr,target)
if not target then
outputChatBox("* Nie znaleziono podanego gracza.", plr)
return
end
if not (getElementData(target, "player:logged") == true) then
outputChatBox('* Gracz nie jest zalogowany!.', plr, 255, 0, 0)
return end
if getPlayerMoney(plr) < value then
outputChatBox("* Nie masz wystarczajacych ?rodk?w.", plr)
return
end
if value == 0 or value < 0 then
outputChatBox("* Poda?e?(a?) nie prawid?ow? warto??.", plr)
return
end
takePlayerMoney(plr, value)
givePlayerMoney(target ,value)
Witam. Zrobi?em licznik, wszystko pi?knie ?adnie.
Wgra?em na testowy serwer, popatrzy?em, wszystko dzia?a?o jak nale?y - na mojej rozdzielczo?ci 1366x768 (16:9).
Mam problem z prac?, polega on na tym, ?e po rozpocz?ciu pracy ?adujemy pojazd, a po za?adowaniu mamy uda? si? do punktu ?eby roz?adowa?, ale podczas roz?adowywania nie dostaje si? kasy, checkpoint nie znika, pojazd b?d?c w tym punkcie ci?gle jest zamro?ony, a podczas wyj?cia z pojazdu, po chwili pojazd powinien znikn?? i zrespi? si? na swoim miejscu - tak si? nie dzieje
Cze??, mam pro?b? gdy? po napisaniu skryptu na przywitanie podczas wejscia do gry, wgra?em go do [gameplayu] i nie chc? si? wy?wietli? w panelu admina..
Witam mam kod i wszystko dobrze podpi?te, tylko nie nadaje element dat i kasy i skina co w tym ?le ? Nie wywala b??du
function loadPlayerData(plr)
local result=exports["YC-mysql"]:pobierzRekord("SELECT * FROM og_users WHERE login=?", getPlayerName(plr))
if result and #result > 0 then
local v=result[1]
givePlayerMoney(plr,v.money)
setElementModel(plr,v.skin)
setElementData(plr,'id',v.id)
setElementData(plr,"GP",v.reputation)
return true
end
return false
end
addEventHandler("onPlayerLogin", root, function() loadPlayerData(source) end)
[ Dodano: 2016-06-05, 16:13 ]
Czyli jak to zrobi? usun?? t? linijke ?
function hit( hitPlayer, matchingDimension )
if hitPlayer ~= localPlayer then return end
showCursor(true,false)
guiSetVisible(GUIEditor.window[1], true)
end
addEventHandler("onClientMarkerHit", marker, hit)
function hit( hitPlayer, matchingDimension )
if hitPlayer ~= localPlayer then return end
showCursor(false,false)
guiSetVisible(GUIEditor.window[1], false)
end
addEventHandler("onClientMarkerLeave", marker, hit)
addCommandHandler( 'kolo1',
function( uPlayer )
if isPedInVehicle( uPlayer ) then
local uVehicle = getPedOccupiedVehicle( uPlayer ) local states = { [0]="inflated", [1]="flat", [2]="fallen off" } -- we store the states in a table
local frontLeft, rearLeft, frontRight, rearRight = getVehicleWheelStates ( uVehicle ) setVehicleWheelStates (uVehicle, "frontLeft", 2) end
end )
Problem, jest taki, ?e ja po wpisaniu komendy /kolo1 chcia?bym, ?eby wypada?o mi przednie, lewe ko?o - jednak?e wypada tylnie lewe. Po?owa tego kodu jest na pewno zb?dna, zacz??em tam dopisywa? zmienne czy jako? tak, lecz to nic nie dawa?o...
addCommandHandler("flip", function(plr,cmd)
if getAdmin(plr,3) or getAdmin(plr,2) or getAdmin(plr,1) then
local veh=getPedOccupiedVehicle(plr)
if not veh then
outputChatBox("* Nie znajdujesz si?™ w poje??dzie", plr)
return end
_,_,rz=getElementRotation(el) fixVehicle(el) setElementRotation(el,0,0,rz) end
end)
[08] WARNING: [Frakcje]YWG-PSPAuta.lua:59: Bad argument @ 'addVehicleUpgrade' [Expected element at argument 1, got function]
[08] WARNING: [Frakcje]YWG-PSPAuta.lua:59: Bad argument @ 'addVehicleUpgrade' [Expected element at argument 1, got function]
[08] WARNING: [Frakcje]YWG-PSPAuta.lua:96: Bad argument @ 'addVehicleUpgrade' [Expected element at argument 1, got function]
[08] startResource: Resource 'YWG-PSP' started
[08] ADMIN: Resource 'YWG-PSP' started by OzikGames
[08] Starting YWG-SyrenaPSP
[08] startResource: Resource 'YWG-SyrenaPSP' started
[08] ADMIN: Resource 'YWG-SyrenaPSP' started by OzikGames
[08] Starting YWG-PodmiankiPSP
[08] startResource: Resource 'YWG-PodmiankiPSP' started
[08] ADMIN: Resource 'YWG-PodmiankiPSP' started by OzikGames
[08] WARNING: [Frakcje]YWG-PSPAuta.lua:96: Bad argument @ 'addVehicleUpgrade' [Expected element at argument 1, got function]
[08] start: Requested by OzikGames
[08] Starting YWG-RemizaPSP
function aktualizacjaCzasu() local pAccount = getPlayerAccount ( source ) local account = getAccountName(pAccount) outputChatBox(account)
end
addEventHandler("onResourceStart",getRootElement(),aktualizacjaCzasu)
strona serwera
debug :
WARNING: [S]Stats/scriptsv.lua:3: Bad argument @ 'getAccountName' [Expected account at argument 1, got boolean]
WARNING: [S]Stats/scriptsv.lua:4: Bad argument @ 'outputChatBox' [Expected string at argument 1, got boolean]
Na chacie powinna pojawi? si? nazwa konta ?r?d?a (source) lecz tak si? nie dziej?...
Wie kto? dlaczego ? Source nie mo?e by? stosowany w funkcjach z kontami ?
Okienko skaluje w rozdzielczo?ci 800/600. I gdy mam ustawion? t? rozdzielczo?? to jest wszystko ok, a gdy daje swoj? czyli 1280/1024 to jest ?le i wchodzi bli?ej ?rodka ekranu. O co mo?e chodzi? ?
Cze??, mam ma?y problem z tworzeniem firm. Ale gdy firmy si? tworzy po kolei czyli: od UID 0 do UID2 jest dobrze, ale gdy firma numer 1 si? rozpadnie i zostanie tylko UID 0 i 2 to ju? wtedy jest problem i nie stworzy si? nowa.
kod:
Witam mam do was pytanie czy dobrze zrobi?em ten timer czy ten timer nie wp?ynie na lagi serwera ? I czy jest poprawnie wykonany prosi?bym o wypowiedzi je?li kto? zauwa?y b??d i powie jak go poprawi? stawiam Pozdrawiam )
Hej, mam skrypt dzi?ki, kt?remu na ekranie wy?wietla nam si? tekst np. /150 kt?ry informuje ile potrzebujemy expa do nast?pnego lvla.
Problem tkwi w tym, ?e po awansowaniu na nast?pny lvl na to przyk?adowe /150
nachodzi kolejna liczba informuj?ca o nast?pnym lvlu a to /150 nie znika i jest to mo?na powiedzie? zamazane.
Pomo?e kto? co? zrobi? aby tekst si? od?wie?a? ?
function dxsetText ( )
local text = ""
local UP = tonumber ( getElementData ( localPlayer, "level" ) ) or 0
if ( UP == 1 ) then
text = " /79"
elseif ( UP == 2 ) then
text = " /110"
elseif ( UP == 3 ) then
text = " /165"
end
GUIEditor_Label[5] = guiCreateLabel(706,159,63,13,text,false)
guiSetFont ( GUIEditor_Label[5], "default-bold-small" )
end
addEventHandler ( "onClientResourceStart", resourceRoot, dxsetText )
addEventHandler ( "onClientElementDataChange", localPlayer,
function ( dataName )
if ( dataName == "level" ) then
dxsetText ( )
end
end
)
Mam taki problem ,mo?e tylko dla mnie dziwny ,dla innych mo?e nie.Dodawa?em do mapki r??ne rzeczy ,chcia?em doda? nowy skin po dodaniu go wcisn??em F5 i wyskakuje taka niespodzianka: mo?e kto? ma rade jak to naprawi? + usun??em owy skin i nadal to samo.Postawie piwko jak kto? pomo?e.
Mam problemik z karteczk? na auto , mam napisany skrypt i chcia?em doda? kolor , lecz wy?wietla warning :
C:UsersPrezesDesktopLiveTruck - ProjektP4RPgamemodesp4rp_v2.pwn(28244) : warning 203: symbol is never used: "godziny"
C:UsersPrezesDesktopLiveTruck - ProjektP4RPgamemodesp4rp_v2.pwn(37463) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 12000 bytes
Code size: 1886356 bytes
Data size: 5503224 bytes
Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
Total requirements: 7417964 bytes
Mapa zapisuje dane w MySql. Mo?na si? spokojnie zarejestrowa? i nast?pnie zalogowa?, trafiamy do centrum imigrant?w w celu uzupe?nienia danych, kiedy to zrobimy w??cza si? nam tutorial. Po nim przenosimy si? na miejsce spawnu. Problem tkwi w tym, ?e gdy logujemy si? na serwer ponownie, nasze konto po zalogowaniu jest zn?w przenoszone do centrum imigrant?w i zn?w zaczyna si? procedura z uzupe?nianiem danych. Zaraz po wyj?ciu kiedy sprawdzi?em zapis w bazie danych, warto?? zmiennej by?a prawid?owa(taka jaka odpowiada uko?czonemu tutorialu), lecz kiedy wejdziemy na serwer, zmienne konta (opr?cz nicku, has?a i ID) restartuj? si? do tych kt?re przydzielane mamy podczas rejestracji. Prosz? o pomoc. Z g?ry dzi?kuje za wszelkie odpowiedzi.