Last place
#1

Can someone tell me how to save the place where player disconnected?
Reply
#2

PHP код:
OnPlayerDisconnect

New Float:player_pos[3];
GetPlayerPos(playeridplayer_pos[0], player_pos[1], player_pos[2]);
//and save 
Reply
#3

dude its easy check out this tutorial
https://sampforum.blast.hk/showthread.php?tid=299791
Reply
#4

Quote:
Originally Posted by Himan
Посмотреть сообщение
PHP код:
OnPlayerDisconnect
New Float:player_pos[3];
GetPlayerPos(playeridplayer_pos[0], player_pos[1], player_pos[2]);
//and save 
no need to use array it will be slower and takes more memory

PHP код:
new Float:player_posxFloat:player_posyFloat:player_posz;
GetPlayerPos(playeridplayer_posxplayer_posyplayer_posz); 
Reply
#5

Quote:
Originally Posted by Travalle
Посмотреть сообщение
dude its easy check out this tutorial
https://sampforum.blast.hk/showthread.php?tid=299791
I checked that tutorial but player keep returning to its default place.
Reply
#6

PHP код:
enum PlayerPos
{
    
X
    
Y,
    
Z
}
new 
ppos[MAX_PLAYERS][PlayerPos];
forward playerpos_tag(playeridname[], value[]);
public 
playerpos_tag(playeridname[], value[])
{
    
INI_Float("X"ppos[playerid][X]);
    
INI_Float("Y"ppos[playerid][Y]);
    
INI_Float("Z"ppos[playerid][Z]);
    return 
1;
}
public 
OnPlayerDisconnect(playerid)
{
    new 
Float:xFloat:yFloat:z;
    
GetPlayerPos(playeridxyz);
    new 
str[35], pname[24];
    
GetPlayerName(playeridpnamesizeof(pname));
    
format(strsizeof(str), "pos/%s.ini"pname);
    new 
INI:file fopen(str);
    
INI_WriteFloat(file"X"x);
    
INI_WriteFloat(file"Y"y);
    
INI_WriteFloat(file"Z"z);
    
INI_Close(file);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    new 
str[35], pname[24];
    
GetPlayerName(playeridpnamesizeof(pname));
    
format(strsizeof(str), "pos/%s.ini"pname);
    
INI_ParseFile(str"playerpos_%s", .bExtra true, .extra playerid);
    
SetPlayerPos(playeridppos[playerid][X], ppos[playerid][Y], ppos[playerid][Z]);
    return 
1;

And last:
create folder in scriptfiles and name it pos
Reply
#7

dude, I'm getting so many errors:-
PHP код:
(149) : error 017undefined symbol "INI_Float"
(150) : error 017undefined symbol "INI_Float"
(151) : error 017undefined symbol "INI_Float"
(171) : error 021symbol already defined"str"
(174) : error 001expected token";"but found "-identifier-"
(175) : error 017undefined symbol "INI_WriteFloat"
(176) : error 017undefined symbol "INI_WriteFloat"
(177) : error 017undefined symbol "INI_WriteFloat"
(178) : error 017undefined symbol "INI_Close"
(174) : warning 203symbol is never used"file"
(189) : error 021symbol already defined"str"
(192) : error 017undefined symbol "INI_ParseFile"
(192) : warning 215expression has no effect
(192) : error 029invalid expressionassumed zero
(192) : error 017undefined symbol "extra"
(192) : fatal error 107too many error messages on one line 
Reply
#8

PHP код:
#include <YSI\y_ini> 
ohh and change this :
PHP код:
   new INI:file fopen(str); 
To this:
PHP код:
   new INI:file INI_Open(str); 
Reply
#9

dude, the script compiles but when I login it keeps saying "stay within the world boundries" and every thing freezes.
Reply
#10

Well that works for me

anyway try this:

PHP код:
public OnPlayerSpawn(playerid)
{
    
SetTimerEx("spawn"100false"i"playerid);
    return 
1;
}
forward spawn(playerid);
public 
spawn(playerid)
{
    new 
str[35], pname[24];
    
GetPlayerName(playeridpnamesizeof(pname));
    
format(strsizeof(str), "pos/%s.ini"pname);
    
INI_ParseFile(str"playerpos_%s", .bExtra true, .extra playerid);
    
SetPlayerPos(playeridppos[playerid][X], ppos[playerid][Y], ppos[playerid][Z]);
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)