Prosty system AFK zrobiony w 2-3 minuty, sprawdzony, dzia?a.
Polega na tym ?e mo?emy wpisa? /afk lub /zw aby by? nie?miertelnym, ale po powrocie nasze ?ycie si? przywr?ci
AFK w??czy si? te? je?eli nie b?dziemy si? ruszali przez czas ustalony w skrypcie, kt?ry mo?na zmieni? definicj? "MAX_AFK_TIME".
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.
Witam, pierwszy problem jest taki, ?e nie wiem czemu mi nie wysy?a do bazy danych dane. (INSERT, db3 puste.) tutaj kod:
[lua]
local cars = 0
function createCAR(player, test, lmodel, lplate)
local lx,ly,lz = getElementPosition( player)
if cars == 1 then
outputChatBox("Ju? masz jedne auto!")
else
local tester = dbQuery( db_connect, "INSERT INTO `rg_vehicles` (model, owner, plate, X,Y,Z) VALUES (?,?,?,?,?,?)", lmodel, owner, lplate, lx,ly,lz)
car = createVehicle ( lmodel,lx,ly+2,lz, 0,0,0, lplate)
cars = 1
end
end
addCommandHandler("cc", createCAR)
[/lua]
Kolejnym problem jest taki ?e chce zrobi? system afk. I potrzebuje oto taki funkcji: gdy gracz nie b?dzie rusza? myszka i nie klika? w klawisze od np minuty. I potem odliczanie. Ile gracz jest na afk.
A teraz to "co? jeszcze". Chcia?bym zrobi? takie co? jak na steamie. Czyli ile ma si? przegranych godzin w jak?? gr?, w tym przypadku ile gracz przegra? na serwerze.
Teraz z tym "onClientRender", niby wszystko dzia?a tylko mnie wkurza ?e w db3 wyskakuje oto taki waring (taki jakby spam). [color=orange]Bad Usage @ addEventHandler['onClientRender' with this function is already handled][/color]
Tutaj kod:
[lua]
function imgs()
key_img = dxCreateTexture( "files/keybord.png" )
dxDrawImage ( x-30, y-55, 64, 64, "files/keybord.png",0,0,0,tocolor(255,255,255,160))
end
function keyboard()
if isChatBoxInputActiv...
Witam zrobi?em sobie ElementDate na to by pokazywa?o jak kto? zminimalizuje mta to pokazywa?o nad nim napis AFK. chcia?bym doda? jeszcze czas tego afka by to jakos lepiej wygl?da?o i by?o bardziej pomocne dla administracji. Wie kto? z was jak napisa? taki skrypt?
Prezentuje tutaj dla Was now? bibliotek? "OnPlayerAfk", ka?dy chyba wie o co chodzi.
Niestety, nie mam dzisiaj czasu na d?u?szy opis dlatego wole da? przyk?adowy skrypt poni?ej.
- opis i skrypt by mrdrifter.
ANTY AFK
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.
Przyk?adowy skrypt :
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.
Wystawiam w HIDE dlatego ?e mam zgod? od autora na wystawienie tego tutaj i pewnie si? troch? nam?czy?!
Hejo. Potrzebuj? pomocy z systemem AFK - chodzi mi dok?adniej o taki z jakim spotykamy si? na net4game. Nie ruszamy kamer? minut? to w??cza nam si? status. Chodzi mi g??wnie o funkcj?, kt?r? sprawdzamy czy dany gracz rusza kamer?... Mam nadziej?, ?e znajdzie si? jaka? osoba ch?tna do pomocy, z g?ry dzi?kuj? za pomoc.
Witam mam kolejny problem chcia?bym, aby po logowaniu wczyta?o zapisany w bazie skin a wybiera?ke usune?o. Skin si? zapisuje lecz po kolejnym zalogowaniu zmienia na CJ i nie nadaje wcze?niej zapisanego skinu
W OnPlayerConnect
[code] GetPVarInt(playerid, "Skin");
GetPVarInt(playerid, "Skin1"); // Sprawdza czy skin jest zapisany tak - 1 nie - 0
ORAZ
if(GetPVarInt(playerid, "Skin1") == 1)
{
SetSpawnInfo(playerid, NO_TEAM, SetPVarInt(playerid,"Skin", GetPVarInt(playerid, "Skin")), 2157.8655,987.8000,10.4886, 0,-1,-1,-1,-1,-1,-1);
}[/code]
OnPlayerDisconect
[code] SetPVarInt(playerid, "Skin1", 1);[/code]
W OnDialogResponse w logowaniu
[code] GetPVarInt(playerid, "Skin");
SetPVarInt(playerid, "Skin1", 1);[/code]
Kolejnym problemem jest system anty afk doda?em lecz nie dzia?a
g?ra
[code]new AFK[MAX_PLAYERS];
[/code]
OnPlayerUpdate
[code]AFK[playerid] = 0;[/code]
Public
[code]forward AFKTEST2(playerid);
public AFKTEST2(playerid)
{
if(AFK[playerid] > 600)
{
format(stringe, sizeof(stringe), "%s zosta? wyrzucony z serwera. Pow?d: Afk 10 minut.", PlayerName(playerid));
SendClientMessageToAll(-1, stringe);
return 1;
}
return 1;
}
forward AFKTEST(playerid);
public AFKTEST(playerid)
{
AFK[playerid]++;
return 1;
}[/code]
OnGameModeInit
[code] SetTimerEx("AFKTEST", 1000, 1, "i");
...
Witam , utworzy?em skrypt kt?ry nazwa?em afk ,gdy gracz zminimalizuje gre , nad jego nickiem pojawia sie napis ?e jest afk , jednak niestety dzia?a to tak ?e gdy kto? zminimalizuje gre to u wszystkich sie takie co? pojawia , prosi?bym o pomoc ewentualnie poprawienie mojego zasobu :
[b]client[/b]:
[lua]
screenX,screenY=guiGetScreenSize()
addEventHandler("onClientRender",getRootElement(),function()
local cx,cy,cz,ctx,cty,ctz=getCameraMatrix()
for k,v in ipairs(getElementsByType("player")) do
if getElementData(v,"player:AFK") == true and v ~= getLocalPlayer() then
local target_x,target_y,target_z=getElementPosition(v)
local X,Y=getScreenFromWorldPosition(target_x,target_y,target_z+1)
local scale=(1)-(getDistanceBetweenPoints3D(cx,cy,cz,target_x,target_y,target_z+1)/25)
if scale < 0 then
scale=0
end
local width=dxGetTextWidth(tostring(getPlayerName(v) .. " is afk."),scale,"pricedown")/2
X=tonumber(X or 0)-width
if X > 0 and X < screenX and Y > 0 and Y < screenY and isLineOfSightClear(cx,cy,cz,target_x,target_y,target_z,true,true,false,true,true,false,false,(getPedOccupiedVehicle(v) or v)) then
dxDrawText(tostring(getPlayerName(v) .. " is afk."),X,Y,50,50,tocolor(255,255,0,255),scale,"pricedown")
end
end
end
end)
function handleMinimize()
callServerFunction("setElementData",source,"player:AFK", true )
end
addEventHand...