GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Kovacs_Bela - 2012. november 11. - 01:53:54

Cím: Skin+Pos mentés
Írta: Kovacs_Bela - 2012. november 11. - 01:53:54
Üdv! Ezt a scriptet azért csináltam, mert valaki kérte.
Készítõ: én
A script dini includet használ!
Használatához létre kell hozni egy \"Mentések\" mappát a scriptfiles mappában
Kód:
 

#include <a_samp>
#include <dini>
 
public OnPlayerSpawn(playerid)
{
    new n[24],f[64];
    GetPlayerName(playerid,n,24);
    format(f,64,\"Mentések/%s.ini\",n);
    if(dini_Exists(f)) {
        SetPlayerSkin(playerid,dini_Int(f,\"Skin\"));
        SetPlayerPos(playerid,dini_Float(f,\"Xpos\"),dini_Float(f,\"Ypos\"),dini_Float(f,\"Zpos\"));
    }
    return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
    new n[24],f[64],Float:X,Float:Y,Float:Z;
    GetPlayerName(playerid,n,24);
    format(f,64,\"Mentések/%s.ini\",n);
    dini_Create(f);
    dini_IntSet(f,\"Skin\",GetPlayerSkin(playerid));
    GetPlayerPos(playerid,X,Y,Z);
    dini_FloatSet(f,\"Xpos\",X); dini_FloatSet(f,\"Ypos\",Y); dini_FloatSet(f,\"Zpos\",Z);
    return 1;
}
Cím: Skin+Pos mentés
Írta: Flash - 2012. november 11. - 02:17:22
És ha a játékos nem akarja menteni/betölteni?
Cím: Skin+Pos mentés
Írta: Kovacs_Bela - 2012. november 11. - 02:20:31
Idézetet írta: Flash date=1352596642\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29718\" data-ipsquote-contentclass=\"forums_Topic
És ha a játékos nem akarja menteni/betölteni?
 
akkor így járt


én csak megcsináltam kérésre a mentést meg a betöltést
Cím: Skin+Pos mentés
Írta: shadee - 2012. november 11. - 07:26:23
ahogy létrehoztad az n-t 24 karakterrel,oda MAX_PLAYER_NAME-t kell írni.
vagyis:
new n[MAX_PLAYER_NAME];
Cím: Skin+Pos mentés
Írta: Kovacs_Bela - 2012. november 11. - 10:35:43
Mind 2 megoldás jó.
 
#define MAX_PLAYER_NAME 24[/quote]
Cím: Skin+Pos mentés
Írta: Casamiro - 2012. november 11. - 11:26:37
Idézetet írta: shadee date=1352615183\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29718\" data-ipsquote-contentclass=\"forums_Topic
ahogy létrehoztad az n-t 24 karakterrel,oda MAX_PLAYER_NAME-t kell írni.
vagyis:
new n[MAX_PLAYER_NAME];
 
Teljesen mindegy, mert a MAX_PLAYER_NAME is csak egy definíció 24 -es értékkel.
Amúgy kipróbáltad? Szerintem OnPlayerConnect helyett OnPlayerSpawn alá kéne tenni.
Cím: Skin+Pos mentés
Írta: Kovacs_Bela - 2012. november 11. - 13:08:35
Átirtam
Cím: Skin+Pos mentés
Írta: Petrik - 2012. november 11. - 13:18:46
Rossz :/ OnPlayerSpawn alatt is. Nem hoz létre semmilyen filet. Errort nem ír, szerverbe is betettem.
Cím: Skin+Pos mentés
Írta: Kovacs_Bela - 2012. november 11. - 13:25:30
Idézetet írta: Petrik date=1352636326\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"29718\" data-ipsquote-contentclass=\"forums_Topic
Rossz :/ OnPlayerSpawn alatt is. Nem hoz létre semmilyen filet. Errort nem ír, szerverbe is betettem.
 
csinálj egy Mentések mappát
Cím: Skin+Pos mentés
Írta: Casamiro - 2012. november 11. - 13:30:14
Így már jó, viszont halál után is ugyanoda fogja visszatenni.
 
#include <a_samp>
#include <dini>
new bool:ElsoBelepes[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
    ElsoBelepes[playerid] = true;
    return 1;
}
public OnPlayerSpawn(playerid)
{
    if(ElsoBelepes[playerid])
    {
        new n[24],f[64];
        GetPlayerName(playerid,n,24);
        format(f,64,\"Mentések/%s.ini\",n);
        if(dini_Exists(f)) {
            SetPlayerSkin(playerid,dini_Int(f,\"Skin\"));
           SetPlayerPos(playerid,dini_Float(f,\"Xpos\"),dini_Float(f,\"Ypos\"),dini_Float(f,\"Zpos\"));
        }
        ElsoBelepes[playerid] = false;
    }
    return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
    new n[24],f[64],Float:X,Float:Y,Float:Z;
    GetPlayerName(playerid,n,24);
    format(f,64,\"Mentések/%s.ini\",n);
    dini_Create(f);
    dini_IntSet(f,\"Skin\",GetPlayerSkin(playerid));
    GetPlayerPos(playerid,X,Y,Z);
    dini_FloatSet(f,\"Xpos\",X); dini_FloatSet(f,\"Ypos\",Y); dini_FloatSet(f,\"Zpos\",Z);
    return 1;
}
Cím: Skin+Pos mentés
Írta: Petrik - 2012. november 11. - 14:00:36
Így sem jó >.< Van mentések mappám, nem csinál semmit :(
Cím: Skin+Pos mentés
Írta: Kovacs_Bela - 2012. november 12. - 06:41:42
átkonvertáltad a scriptet? betölti egyátalán? van dini include fájlod?