#include <a_samp>#include <dini>enum p_data{Float:last_x,Float:last_y,Float:last_z}new PlayerInfo[MAX_PLAYERS][p_data];public OnPlayerConnect(playerid){//Betölti a pozíciót.new str[128];format(str,sizeof(str),\"!!!CÉLHELY - JÁTÉKOS FÁJL: EZT ÍRD ÁT!!!\");if(dini_Exists(str)){ PlayerInfo[playerid][last_x] = dini_Float(str,\"LastX\");PlayerInfo[playerid][last_y] = dini_Float(str,\"LastY\");PlayerInfo[playerid][last_z] = dini_Float(str,\"LastZ\");}return 1;}public OnPlayerDisconnect(playerid, reason){//Elmenti a pozíciót.new str[128];format(str,sizeof(str),\"!!!CÉLHELY - JÁTÉKOS FÁJL: EZT ÍRD ÁT!!!\");if(!dini_Exists(str))dini_Create(str);GetPlayerPos(playerid,PlayerInfo[playerid][last_x],PlayerInfo[playerid][last_y],PlayerInfo[playerid][last_z]);dini_FloatSet(str,\"LastX\",PlayerInfo[playerid][last_x]);dini_FloatSet(str,\"LastY\",PlayerInfo[playerid][last_y]);dini_FloatSet(str,\"LastZ\",PlayerInfo[playerid][last_z]);return 1;}public OnPlayerSpawn(playerid){SetPlayerPos(playerid,PlayerInfo[playerid][last_x],PlayerInfo[playerid][last_y],PlayerInfo[playerid][last_z]);return 1;}
ezzel az a baj, hogy minden spawnoláskor ugyanoda fogja rakni a játékost, ahol legutoljára kilépett.
#include <a_samp>#include <dini>enum p_data{ Float:last_x, Float:last_y, Float:last_z,FirstSpawn}new PlayerInfo[MAX_PLAYERS][p_data];public OnPlayerConnect(playerid){ //Betölti a pozíciót. new str[128]; format(str,sizeof(str),\"!!!CÉLHELY - JÁTÉKOS FÁJL: EZT ÍRD ÁT!!!\"); if(dini_Exists(str)) { PlayerInfo[playerid][last_x] = dini_Float(str,\"LastX\"); PlayerInfo[playerid][last_y] = dini_Float(str,\"LastY\"); PlayerInfo[playerid][last_z] = dini_Float(str,\"LastZ\"); }PlayerInfo[playerid][FirstSpawn] = 0; return 1;}public OnPlayerDisconnect(playerid, reason){ //Elmenti a pozíciót. new str[128]; format(str,sizeof(str),\"!!!CÉLHELY - JÁTÉKOS FÁJL: EZT ÍRD ÁT!!!\"); if(!dini_Exists(str))dini_Create(str); GetPlayerPos(playerid,PlayerInfo[playerid][last_x],PlayerInfo[playerid][last_y],PlayerInfo[playerid][last_z]); dini_FloatSet(str,\"LastX\",PlayerInfo[playerid][last_x]); dini_FloatSet(str,\"LastY\",PlayerInfo[playerid][last_y]); dini_FloatSet(str,\"LastZ\",PlayerInfo[playerid][last_z]); return 1;}public OnPlayerSpawn(playerid){if(PlayerInfo[playerid][FirstSpawn] == 0){ SetPlayerPos(playerid,PlayerInfo[playerid][last_x],PlayerInfo[playerid][last_y],PlayerInfo[playerid][last_z]); PlayerInfo[playerid][FirstSpawn] = 1;}else{ //Minden más esetben SetPlayerPos(playerid, 0.0, 0.0, 10.0);} return 1;}
SetSpawnInfoSpawnPlayer
Minek változókkal kínlódni? SetSpawnInfoSpawnPlayer oda kell rakni, ahol bejelentkezik.