Szerző Téma: SA-MP szerver oldali frissítés 0.3c R3/R4/R5  (Megtekintve 8913 alkalommal)

SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Dátum: 2011. Július 25. - 20:01:27 »
0
Újabb 0.3c frissítést adott ki a samp multiplayer jelenlegi fejlesztõ vezetõje Kalcor (Kye), mely a 0.3c R3-1 verzió nevet kapta.  2011.07.25
Hivatalos oldal: http://forum.sa-mp.com/showthread.php?t=271586
A script írok örömére pár újabb funkció is bekerült jelen kiadásba.

SA-MP 0.3c R5 server
(Hát várom elõszeretettel az ötleteket mit is jelent pontosan ez az egész.)
Valami nem volt fix fõleg Linux szervereknél ezért kellet kiadni most egy R5 verziót.
 
- A szerver összeomlás réseket, le megoldani a 0.3c R3/R4 szerver, nem volt teljesen fix. Vagyunk téve a 0.3c R5 szerver elérhetõ. Ezek a szerver összeomlik sebezhetõség csak a hatás a Linux verziója a SA-MP szerver 0.3c. Windows és Linux verziók a SA-MP szerver frissítés alatt a 0.3c R5 szerver változata összhang.[/quote]
- The server crash vulnerabilities, described as resolved in the 0.3c R3/R4 server, were not completely fixed. We are making the 0.3c R5 server available. These server crash vulnerabilities only effect the Linux version of the SA-MP 0.3c server. Both Windows and Linux versions of the SA-MP server are being updated to 0.3c R5 for server version consistency.
SA-MP 0.3c R4 server
És mint mindig javítva olyan hibák amikrõl sokan nem is tudtak, meg amik akkor jöttek elõ ha valami frissítés lett kiadva.  :laugh: :laugh:
Mint format() funkció és a GetPlayerSurfingObjectID().
 

Újabb két native funkció:

[pawn]
native GetPlayerNetworkStats(playerid, retstr[], size);
native GetNetworkStats(retstr[], size);
[/pawn]
 

Hasonló értékeket ad vissza a szerverrõl és játékosokról mint amiket látsz az F5 gomb lenyomásakor.
Lásd a mellékelt netstats.pwn filterscriptet.
 

SA-MP 0.3c R3 server
Új native funkciók:
[pawn]
native GetPlayerCameraMode(playerid);
[/pawn]
 

Ez a funkció vissza tér a játékos aktuális GTA camera nézet értékkel, mely hasznos lehet például ha egy játékos jármûbõl célba vesz valakit driveby kill célból stb.
Itt található pár camera érték meghatározás: http://pastebin.com/asXqgsQk
 

[pawn]
native Float:GetPlayerDistanceFromPoint(playerid, Float:X, Float:Y, Float:Z);
native Float:GetVehicleDistanceFromPoint(vehicleid, Float:X, Float:Y, Float:Z);
[/pawn]
 

A fenti két funkció segítségével kiszámítható egy megadott koordináta pontól való távolság egy játékostól, vagy egy jármûtõl.
De még mindig jobb használni az IsPlayerRangeOfPoint függvényt ha nincs szükség ennyire pontos értékre.
 

Ezekre írtam egy parancsot ami talán jobban megmutatja mit is csinál ez a két funkció.
[pawn]
COMMAND:distance(playerid)
{
new
   str[128+1],
   Float:GPDFP;
if(IsPlayerInAnyVehicle(playerid))
   GPDFP = GetVehicleDistanceFromPoint(GetPlayerVehicleID(playerid), 0.0, 0.0, 0.0);
else
   GPDFP = GetPlayerDistanceFromPoint(playerid, 0.0, 0.0, 0.0);
format(str, sizeof str, \"%f egység távolságra vagy a X: 0.0 | Y: 0.0 | Z: 0.0 koordináta ponttól.\", GPDFP);   
return 1;
}
[/pawn]
[pawn]
native GetPlayerSurfingObjectID(playerid);
[/pawn]
 

GetPlayerSurfingObjectID hasonlít az GetPlayerSurfingVehicleID-hez.
Ha egy játékos együtt mozog egy objecttel (GLOBAL object) akkor ez a funkció vissza tér az object azonosító számával,
ha az object nem mozog akkor a vissza térési érték INVALID_OBJECT_ID.
( Nem teszteltem de elméletileg valami ilyesmit ír, ehhez kellene valami lassan mozgó objectet kreálni és ráállni a tetejére. Tényleg így van-e?)
 

Új callback:
[pawn]
forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat);
[/pawn]
 

Az eljárás meghívódik ha egy játékos megváltoztatja egy jármû pozícióját ha nem a jármû vezetõje.
Ez történhet a jármûn kívülrõl, vagy ha a játékos utas és nincs vezetõje a jármûnek.
 

Letöltés:
SA-MP 0.3c R5 Linux Server: http://files.sa-mp.com/samp03csvr_R5.tar.gz
SA-MP 0.3c R5 Windows Server: http://files.sa-mp.com/samp03csvr_R5_win32.zip
Javítva a fordítás, köszönet a hozzászólásokban a fordításoknak.
« Utoljára szerkesztve: 2011. Július 28. - 18:34:33 írta Zsolesszka »

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #1 Dátum: 2011. Július 25. - 20:47:09 »
0
forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat);

 
Szerintem ez az akar lenni, hogy a jármû adatai úgy frissülnek, hogy nincs benne sofõr, csak utas(ok).

SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #2 Dátum: 2011. Július 25. - 20:49:02 »
0
This callback is called when a player updates the position of a vehicle they\'re not driving.
Az eljárás meghívódik ha egy játékos megváltoztatja egy jármû pozítíóját amit nem vezetnek.
 

This can happen outside of the vehicle or when the player is a passenger of a vehicle that has no driver.

Ez megtörténhet a jármûvön kívül vagy ha a játékos utasa egy jármûnek aminek nincsen sofõrje.

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #3 Dátum: 2011. Július 25. - 20:50:34 »
0
Tehát ha valaki elkezdi kívülrõl tolni a kocsit, akkor meghívódik.  :D

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #4 Dátum: 2011. Július 25. - 21:43:05 »
0
Igen, csak akkor is, ha betölti neki a kocsit a streamer, ez vele a baj, amúgy én teszteltem, nagyon sirály :)
A GetPlayerSurfingObjectID csak GLOBÁLIS objectekkel mûködik, szóval ez szinte használhatatlan. Ezt is szintén teszteltem.

SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #5 Dátum: 2011. Július 25. - 22:22:48 »
0
Idézetet írta: kurta999 date=1311622985\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9858\" data-ipsquote-contentclass=\"forums_Topic
Igen, csak akkor is, ha betölti neki a kocsit a streamer, ez vele a baj, amúgy én teszteltem, nagyon sirály :)
 
Erre már gyártottak hamar egy kódot ami megoldja ezt a problémát.
[pawn]
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat) {
new
    Float: fVehicle[3];
GetVehiclePos(vehicleid, fVehicle[0], fVehicle[1], fVehicle[2]);
if(!IsPlayerInRangeOfPoint(playerid, 10, fVehicle[0], fVehicle[1], fVehicle[2])) {
    return;
}
}
[/pawn]
Na hamar összetákoltam egy félig meddig mûködõ dolgot a lényege hogy szét lehet verni a jármûveket.
[pawn]
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
{
    if(!IsPlayerAdmin(playerid)) return 0;
new
    Float: fVehicle[3],
   Float:health;
GetVehiclePos(vehicleid, fVehicle[0], fVehicle[1], fVehicle[2]);
if(IsPlayerInRangeOfPoint(playerid, 10, fVehicle[0], fVehicle[1], fVehicle[2]))
{
   new panelss, doorss, lightss, tiress;
   GetVehicleDamageStatus(vehicleid, panelss, doorss, lightss, tiress);
   tiress = encode_tires(random(4), random(4), random(4), random(4));
   panelss = encode_panels(random(4), random(4), random(4), random(4), random(4), random(4), random(4));
   doorss = encode_doors(random(4), random(4), random(4), random(4), random(4), random(4));
   lightss = encode_lights(random(4), random(4), random(4), random(4));
   UpdateVehicleDamageStatus(vehicleid,panelss,doorss,lightss,tiress);
   GetVehicleHealth(vehicleid, health);
   SetVehicleHealth(vehicleid, health - 2.5);
}
return 1;
}
encode_tires(tire1, tire2, tire3, tire4) return tire1 | (tire2 << 1) | (tire3 << 2) | (tire4 << 3);
encode_panels(flp, frp, rlp, rrp, windshield, front_bumper, rear_bumper)
{
    return flp | (frp << 4) | (rlp << 8) | (rrp << 12) | (windshield << 16) | (front_bumper << 20) | (rear_bumper << 24);
}
encode_doors(bonnett, boott, driver_door, passenger_door, behind_driver_door, behind_passenger_door)
{
    #pragma unused behind_driver_door
    #pragma unused behind_passenger_door
    return bonnett | (boott << 8) | (driver_door << 16) | (passenger_door << 24);
}
encode_lights(light1, light2, light3, light4)
{
    return light1 | (light2 << 1) | (light3 << 2) | (light4 << 3);
}
[/pawn]
http://imageshack.us/photo/my-images/580/samp105x.png/
http://imageshack.us/photo/my-images/402/samp106e.png/
http://imageshack.us/photo/my-images/5/samp107l.png/
« Utoljára szerkesztve: 2011. Július 25. - 22:51:02 írta Zsolesszka »

GroX

  • Vendég
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #6 Dátum: 2011. Július 26. - 14:22:59 »
0
Idézetet írta: ChuckNorris date=1311619742\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9858\" data-ipsquote-contentclass=\"forums_Topic
This callback is called when a player updates the position of a vehicle they\'re not driving.
Az eljárás meghívódik ha egy játékosnak FRISSÜL egy jármû POZÍCIÓJA amit nem vezet SENKI, DE NINCS BENNE UTAS SEM.
 
fixed

SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #7 Dátum: 2011. Július 26. - 14:25:09 »
0
YAYAYAYAYAYAAAAAAAAAAAAAAAAY

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #8 Dátum: 2011. Július 27. - 22:27:45 »
0
Elérhetõ R4-es firssítés.
Amúgy ez az R3-as ez kurva nagy ugrás volt.
egy videó.

Koncz_Norbert

  • Vendég
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #9 Dátum: 2011. Július 27. - 22:33:03 »
0
Kissé hibásan van összerakva, vagy ez egy \"különleges\" mód?
Legalább egy jármûnek van 10-20 lökhárítója? Hát szép bug.

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #10 Dátum: 2011. Július 27. - 22:36:42 »
0
Idézetet írta: Koncz Norbert date=1311798783\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9858\" data-ipsquote-contentclass=\"forums_Topic
Kissé hibásan van összerakva, vagy ez egy \"különleges\" mód?
Legalább egy jármûnek van 10-20 lökhárítója? Hát szép bug.
 
Azt a megoldást használtam fel amit Zsolesszka adott, meg egyik official fórumon lévõ scriptet. ( Csak egy tetszt script, még a kocsi is hama robban )
De ez szerintem mindig jobb, mintha nem sérülne :)

Koncz_Norbert

  • Vendég
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #11 Dátum: 2011. Július 27. - 22:42:36 »
0
Idézetet írta: kurta999 date=1311799002\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9858\" data-ipsquote-contentclass=\"forums_Topic


Kissé hibásan van összerakva, vagy ez egy \"különleges\" mód?
Legalább egy jármûnek van 10-20 lökhárítója? Hát szép bug.
 
Azt a megoldást használtam fel amit Zsolesszka adott, meg egyik official fórumon lévõ scriptet. ( Csak egy tetszt script, még a kocsi is hama robban )
De ez szerintem mindig jobb, mintha nem sérülne :)
 
[/quote]
Ebben viszont teljesen egyetértek. Nem látom értelmét egy üres jármûvet rongálni, de 1-2 szórakozásra esetleg megfelel.

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #12 Dátum: 2011. Július 27. - 22:48:18 »
0
Vicc, hogy csinálnak 1-2 új funkciót és vagy azok vagy miattuk más funkciók hibásak lesznek.  :D

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #13 Dátum: 2011. Július 27. - 22:52:49 »
0
Idézetet írta: Ronii date=1311799698\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"9858\" data-ipsquote-contentclass=\"forums_Topic
Vicc, hogy csinálnak 1-2 új funkciót és vagy azok vagy miattuk más funkciók hibásak lesznek.  :D
 
Mondjuk nem értem ezt énse, minek kellett nekik a format()-ot megbirizgálni, de ezek a networkös izék tetsznek.
De legalább jó hogy elcseszték, mert pár dolgot átcsináltak benne amit eddig nem támogatott :D

SA-MP szerver oldali frissítés 0.3c R3/R4/R5
« Válasz #14 Dátum: 2011. Július 27. - 22:56:12 »
0
Hát lehet rajt finomítani hogy ne legyen 20 lökhárító, aki akarja majd elszórakozik vele.
Ebben viszont egyetértek hogy mikor kiadásra kerül a sor akkor mindig elõjönnek valami hibák, de hát ezt már megszokhattuk.
Amúgy frissítve a topic nem szó szerint fordítottam, a lényeg benne van így is.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal