Szerző Téma: Dini...  (Megtekintve 1739 alkalommal)

Dini...
« Dátum: 2012. május 19. - 19:13:01 »
0 Show voters
Sziasztok!
Lenne egy kérésem a /s1 parancsot mentse el ha kiléPek a szerverbõl
 
CMD:s1(playerid, params[])
{
    if(IsPlayerInAnyVehicle(playerid))
    {
        GetVehiclePos(GetPlayerVehicleID(playerid),SavePos[0][playerid],SavePos[1][playerid],SavePos[2][playerid]);
        GetVehicleZAngle(GetPlayerVehicleID(playerid),SavePos[3][playerid]);
        return SendClientMessage(playerid,0x10F441AA, \"Pozíció elmentve, a betöltéshez {FF0000}/l1\");
    }
    else
    {
        GetPlayerPos(playerid,SavePos[0][playerid],SavePos[1][playerid],SavePos[2][playerid]);
GetPlayerFacingAngle(playerid,SavePos[3][playerid]);
return SendClientMessage(playerid,0x10F441AA, \"Pozíció elmentve, a betöltéshez /l1\");
    }
}
CMD:l1(playerid, params[])
{
    if(SavePos[0][playerid] == 0 && !SavePos[1][playerid] && !SavePos[2][playerid]) return SendClientMessage(playerid,0x10F441AA, \"Pozíció betöltése sikertelen!\");
    if(IsPlayerInAnyVehicle(playerid))
    {
        SetVehiclePos(GetPlayerVehicleID(playerid),SavePos[0][playerid],SavePos[1][playerid],SavePos[2][playerid]);
        SetVehicleZAngle(GetPlayerVehicleID(playerid),SavePos[3][playerid]);
        return SendClientMessage(playerid,0x10F441AA, \"Pozíció betöltve!\");
    }
    else
    {
SetPlayerPos(playerid,SavePos[0][playerid],SavePos[1][playerid],SavePos[2][playerid]);
SetPlayerFacingAngle(playerid,SavePos[3][playerid]);
return SendClientMessage(playerid,0x10F441AA, \"Pozíció betöltve!\");
    }
}
« Utoljára szerkesztve: 2012. május 19. - 20:06:57 írta FastFurious »

Dini...
« Válasz #1 Dátum: 2012. május 19. - 19:54:42 »
+1 Show voters
[gmod]code tagek használata kötelezõ![/gmod]
OnPlayerDisconnect alá:
 
cmd_s1(playerid, \"\");

Dini...
« Válasz #2 Dátum: 2012. május 19. - 20:07:26 »
0 Show voters
nem értem..

Dini...
« Válasz #3 Dátum: 2012. május 20. - 07:32:31 »
+1 Show voters
Én se na mindegy.  :D
Kellene tudni hogy milyen regisztrációs rendszert használsz, pontosabban milyen játékosonkénti adatmentéssel dolgozol.
Ugyanis le lehet írni legalább 12 féle fájl kezeléssel, legalább 2 mysql, minimum 4 fájl plugin általál kínált, és még .db (database) adatmentéssel is.
De annál egyszerûbb megoldás nincs mintsem az éppen használt admin script által használt eljárás mert abba kb 10 sort kell beírni pluszba, és készen is van.
Amúgy csak keresgélni kéne a fórumokon.
Találtam egyet, ami dini-vel ment.
http://forum.sa-mp.com/showthread.php?t=323596&highlight=savepos

Dini...
« Válasz #4 Dátum: 2012. május 21. - 05:59:37 »
0 Show voters
de nem ilyenre gondoltam...

Dini...
« Válasz #5 Dátum: 2012. május 21. - 16:39:58 »
+1 Show voters
Idézetet írta: FastFurious date=1337572777\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21710\" data-ipsquote-contentclass=\"forums_Topic
de nem ilyenre gondoltam...
 
Tetszik az ilyen hsz.
 

Sziasztok!
Lenne egy kérésem a /s1 parancsot mentse el ha kiléPek a szerverbõl
 
[/quote]
Akkor kifejtenéd bõvebben hogy mit akarsz elmenteni?


Edit:
 ;D ;D ;D ;D ;D
Akkor tessék, ha kilépsz a szerverrõl akkor elmenti az s1 parancsot.
 
public
OnPlayerDisconnect(playerid, reason)
{
new
File:vakera;
vakera = fopen(\"ezmegaz.pwn\", io_write);
if(vakera)
{
fwrite(vakera, \"CMD:s1(playerid, params[])\\r\\n\");
fwrite(vakera, \"{\\r\\n\");
fwrite(vakera, \"\\tif(IsPlayerInAnyVehicle(playerid))\\r\\n\");
fwrite(vakera, \"\\t{\\r\\n\");
fwrite(vakera, \"\\t\\tGetVehiclePos(GetPlayerVehicleID(playerid),SavePos[0][playerid],SavePos[1][playerid],SavePos[2][playerid]);\\r\\n\");
fwrite(vakera, \"\\t\\tGetVehicleZAngle(GetPlayerVehicleID(playerid),SavePos[3][playerid]);\\r\\n\");
fwrite(vakera, \"\\t\\treturn SendClientMessage(playerid,0x10F441AA, \\\"Pozíció elmentve, a betöltéshez {FF0000}/l1\\\");\\r\\n\");
fwrite(vakera, \"\\t}\\r\\n\");
fwrite(vakera, \"\\telse\\r\\n\");
fwrite(vakera, \"\\t{\\r\\n\");
fwrite(vakera, \"\\t\\tGetPlayerPos(playerid,SavePos[0][playerid],SavePos[1][playerid],SavePos[2][playerid]);\\r\\n\");
fwrite(vakera, \"\\t\\tGetPlayerFacingAngle(playerid,SavePos[3][playerid]);\\r\\n\");
fwrite(vakera, \"\\t\\treturn SendClientMessage(playerid,0x10F441AA, \\\"Pozíció elmentve, a betöltéshez /l1\\\");\\r\\n\");
fwrite(vakera, \"\\t}\\r\\n\");
fwrite(vakera, \"}\\r\\n\");
fclose(vakera);
return 1;
}
return 1;
}
« Utoljára szerkesztve: 2012. május 21. - 16:52:03 írta ɐʞzssǝlosz »

Dini...
« Válasz #6 Dátum: 2012. május 21. - 18:19:46 »
0 Show voters
Na elmondom fentvagyok a szerveren és bierom /s1 pl: San Fierro-ba és ha kilépek és vissza akkor a poziciot tudjam betölteni.....

Dini...
« Válasz #7 Dátum: 2012. május 21. - 19:57:42 »
+1 Show voters
Idézetet írta: FastFurious date=1337617186\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21710\" data-ipsquote-contentclass=\"forums_Topic
Na elmondom fentvagyok a szerveren és bierom /s1 pl: San Fierro-ba és ha kilépek és vissza akkor a poziciot tudjam betölteni.....
 
Én erre írtam hogy egyszerûbb lenne az admin regisztrációs rendszeredbe beleírni.
Ezt találtam hámozd ki ami kell neked:
 
public OnPlayerDisconnect(playerid, reason)
{
    new pName[24], PlayerFile[50];
    new Float:PX, Float:PY, Float:PZ;
   
    GetPlayerName(playerid, pName, sizeof(pName));
    format(PlayerFile, sizeof(PlayerFile), \"Positions/%s.ini\", pName);
   
    GetPlayerPos(playerid, PX, PY, PZ);
     
    dini_FloatSet(PlayerFile, \"PlayerX\", PX);
    dini_FloatSet(PlayerFile, \"PlayerY\", PY);
    dini_FloatSet(PlayerFile, \"PlayerZ\", PZ);
   
    return 1;
}

 


public OnPlayerConnect(playerid)
{
    new pName[24], PlayerFile[50];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(PlayerFile, sizeof(PlayerFile), \"Positions/%s.ini\", pName);
    PlayerInfo[playerid][PlayerX] = dini_Float(PlayerFile, \"PlayerX\");
    PlayerInfo[playerid][PlayerY] = dini_Float(PlayerFile, \"PlayerY\");
    PlayerInfo[playerid][PlayerZ] = dini_Float(PlayerFile, \"PlayerZ\");
    return 1;
}

 

public OnPlayerSpawn(playerid)
{
   SetPlayerPos(playerid, PlayerInfo[playerid][PlayerX], PlayerInfo[playerid][PlayerY], PlayerInfo[playerid][PlayerZ]);
   return 1;
}

Dini...
« Válasz #8 Dátum: 2012. május 21. - 20:08:24 »
0 Show voters
De olyan kellene hogy a szeron vagyok és beirom /s1 és elmenti a poziciót és csak akkor ment új pozociót ha megint beirom /s1 és tudjam öröké betölteni!

Dini...
« Válasz #9 Dátum: 2012. május 21. - 21:59:04 »
+1 Show voters
Nehéz eset vagy.
Írtam valamit, tesztelve nincs:
 
#include <a_samp>
#define FILTERSCRIPT
#include <zcmd>
#include <dini>
new
Float:SavePos[MAX_PLAYERS][4];
public
OnPlayerConnect(playerid)
{
new
pName[24],
PlayerFile[50];
GetPlayerName(playerid, pName, sizeof(pName));
format(PlayerFile, sizeof(PlayerFile), \"Positions/%s.ini\", pName);
if(dini_Exists(PlayerFile))
{
SavePos[playerid][0] = dini_Float(PlayerFile, \"PlayerX\");
SavePos[playerid][1] = dini_Float(PlayerFile, \"PlayerY\");
SavePos[playerid][2] = dini_Float(PlayerFile, \"PlayerZ\");
SavePos[playerid][3] = dini_Float(PlayerFile, \"PlayerAngle\");
} else {
dini_Create(PlayerFile);
SavePos[playerid][0] = -12345.00;
}      
return 1;
}
public
OnPlayerDisconnect(playerid, reason)
{
    SavePos[playerid][0] = -12345.00;
return 1;
}
CMD:s1(playerid)
{
if(IsPlayerInAnyVehicle(playerid))
{
GetVehiclePos(GetPlayerVehicleID(playerid), SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2]);
GetVehicleZAngle(GetPlayerVehicleID(playerid), SavePos[playerid][3]);
} else {
GetPlayerPos(playerid, SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2]);
GetPlayerFacingAngle(playerid,SavePos[playerid][3]);
}
new
pName[24],
PlayerFile[50];
GetPlayerName(playerid, pName, sizeof(pName));
format(PlayerFile, sizeof(PlayerFile), \"Positions/%s.ini\", pName);
dini_FloatSet(PlayerFile, \"PlayerX\", SavePos[playerid][0]);
dini_FloatSet(PlayerFile, \"PlayerY\", SavePos[playerid][1]);
dini_FloatSet(PlayerFile, \"PlayerZ\", SavePos[playerid][2]);
dini_FloatSet(PlayerFile, \"PlayerAngle\", SavePos[playerid][3]);
SendClientMessage(playerid,0x10F441AA, \"Pozíció elmentve, a betöltéshez /l1\");
return 1;
}
CMD:l1(playerid)
{
if(floatcmp(SavePos[playerid][0], -12345.00) == 0) return SendClientMessage(playerid,0x10F441AA, \"Még nincs mentve pozició írd be /s1!\");
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid), SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2]);
SetVehicleZAngle(GetPlayerVehicleID(playerid), SavePos[playerid][3]);
} else {
SetPlayerPos(playerid, SavePos[playerid][0], SavePos[playerid][1], SavePos[playerid][2]);
SetPlayerFacingAngle(playerid, SavePos[playerid][3]);
}
SendClientMessage(playerid,0x10F441AA, \"Pozíció betöltve!\");
return 1;
}

 
Ja, hozz létre a myserver/scriptfiles mappában egy Positions nevû mappát.
Edit:
Javítva.
Egy index érték rossz helyre volt írva, és a dini nem hozza létre a fájlt ha nincs benne dini_Create.
« Utoljára szerkesztve: 2012. május 22. - 09:55:41 írta ɐʞzssǝlosz »

Dini...
« Válasz #10 Dátum: 2012. május 22. - 05:46:08 »
0 Show voters
Nem jó :(
Csinaltam egy mappát is....
Felmegyek és beirom /s1  és utána /l1 és valami palominoba vagy hol dob le a vizbe
És nem menti a pozociót....

Dini...
« Válasz #11 Dátum: 2012. május 22. - 10:01:08 »
+1 Show voters
Most próbáld, az angle koordináta adatnál rossz index érték szerepelt
 
GetVehicleZAngle(GetPlayerVehicleID(playerid), SavePos[playerid][1]); // ide 3-as kell
GetPlayerFacingAngle(playerid,SavePos[playerid][1]); // ide is 3-as kell
[/quote]
ezért teleportált rossz helyre.
A fájlt létrehozására beleírtam a dini_Create részt.

Dini...
« Válasz #12 Dátum: 2012. május 22. - 13:11:09 »
0 Show voters
nem értem..

Dini...
« Válasz #13 Dátum: 2012. május 22. - 13:22:02 »
+1 Show voters
Idézetet írta: FastFurious date=1337685069\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"21710\" data-ipsquote-contentclass=\"forums_Topic
nem értem..
 
Eh.
Frissítve a fenti poszt.
http://sampforum.hu/index.php?topic=25993.msg278319#msg278319

Dini...
« Válasz #14 Dátum: 2012. május 22. - 13:58:33 »
0 Show voters
Megy kösz zárom ment a +

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal