Raised This Month: $ Target: $400
 0% 

write origin to file problem


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
fxfighter
Veteran Member
Join Date: Feb 2007
Location: Trollhättan
Old 06-26-2007 , 11:12   write origin to file problem
Reply With Quote #1

I am making an plugin the req to save on orgin location on every map in a doc.
gonna use it to move players to it later.
the problem is to save/load the origin heer is my code so far.
i know its a floot but i still dont get it.
plz only post back if you can help me!

PHP Code:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN ".."
#define VERSION "0.1"
#define AUTHOR "..."
new filename[256]
new 
origin[3]
public 
plugin_init() {
 
 
register_plugin("..""0.1""...")  
 
get_configsdir(filename,255)
 
format(filename,255,"%s/filehandle.txt",filename)
 
register_clcmd"say /spawnpoint","setspawn")
}
public 
setspawn(id)
{
 
client_print(id,print_chat,"loaction saved",origin)
 
get_user_origin(idorigin0)
 new 
writedata[128]
 new 
map[32],origin[3]
 
get_mapname(map,31)
 new 
filepointer fopen(filename,"a+")
 
 if(
filepointer)
 {
 
  
fprintf(filepointer,"%s %f^n",map,Float:origin[3])
 
  
fclose(filepointer)
 }
}
public 
client_connect(id)
{
 new 
filepointer fopen(filename,"r")
 if(
filepointer)
 {
  new 
readdata[128],map[32],Float:origin[3]
  new 
parsedmap[32],parsedorigin[8]
 
  while(
fgets(filepointer,readdata,127))
  {   
   
parse(readdata,parsedmap,31,parsedorigin,7)
 
   
get_mapname(map,31)
 
   if(
equal(map,parsedmap))
   {
    
origin[3] = str_to_float(parsedorigin)
    break
    
//...
   
}
  }
  
fclose(filepointer)
 }

__________________
If one of my plugins become broken, contact me by mail. [email protected]

Last edited by fxfighter; 06-26-2007 at 11:12. Reason: Removed the bloody smiles
fxfighter is offline
Send a message via MSN to fxfighter
Deviance
Veteran Member
Join Date: Nov 2004
Location: Sweden
Old 06-26-2007 , 11:54   Re: write origin to file problem
Reply With Quote #2

Here, i cleaned and fixed it some. It should work now

Code:
#include <amxmodx> #include <amxmisc> #define PLUGIN ".." #define VERSION "0.1" #define AUTHOR "..." new filename[256] public plugin_init() {     register_plugin("..", "0.1", "...")           get_configsdir(filename, 255)     format(filename, 255, "%s/filehandle.txt", filename)         register_clcmd( "say /spawnpoint","setspawn") } public setspawn(id) {     new save_origin[3]         client_print(id, print_chat, "loaction saved")     get_user_origin(id, save_origin, 0)         new map[32]     get_mapname(map,31)         new filepointer = fopen(filename, "at+")     if(filepointer)     {         fprintf(filepointer,"%s %f %f %f^n", map, float(save_origin[0]), float(save_origin[1]), float(save_origin[2]))         fclose(filepointer)     } } public client_connect(id) {     new filepointer = fopen(filename, "rt")         if(filepointer)     {         new readdata[128], map[32], Float:origin[3]         new parsedmap[32], parsedorigin[3][8]           while(!feof(filepointer))         {               fgets(filepointer, readdata, 127)             parse(readdata, parsedmap, 31, parsedorigin[0], 7, parsedorigin[1], 7, parsedorigin[2], 7)                 get_mapname(map, 31)               if(equal(map, parsedmap))             {                 origin[0] = str_to_float(parsedorigin[0])                 origin[1] = str_to_float(parsedorigin[1])                 origin[2] = str_to_float(parsedorigin[2])                                 break                           //...             }         }                 fclose(filepointer)     } }
Deviance is offline
fxfighter
Veteran Member
Join Date: Feb 2007
Location: Trollhättan
Old 06-26-2007 , 12:03   Re: write origin to file problem
Reply With Quote #3

thx you fixed my save problem but it dosent load corectly.
when its load all 3 values are 0.
__________________
If one of my plugins become broken, contact me by mail. [email protected]

Last edited by fxfighter; 06-26-2007 at 13:21.
fxfighter is offline
Send a message via MSN to fxfighter
Deviance
Veteran Member
Join Date: Nov 2004
Location: Sweden
Old 06-26-2007 , 15:03   Re: write origin to file problem
Reply With Quote #4

Quote:
Originally Posted by fxfighter View Post
thx you fixed my save problem but it dosent load corectly.
when its load all 3 values are 0.
Show the whole code...
Deviance is offline
fxfighter
Veteran Member
Join Date: Feb 2007
Location: Trollhättan
Old 06-26-2007 , 15:33   Re: write origin to file problem
Reply With Quote #5

Run this on de_dust and try to put a origin it works but when quit playing and then restart/changelevel the/to de_dust some how its fail to load and the ar guy moves to the origin ho has the value 0 0 0.
if you play as ct you will see what i mean its relly sick-.-



Code:
 
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
 
#define PLUGIN "name"
#define VERSION "0.1"
#define AUTHOR "fxfighter"
 
new filename[256]
new origin[3]
 
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("Start", 2, "0=World triggered", "1=Round_Start" )
register_clcmd( "say /spawnpoint","setspawn")
get_configsdir(filename, 255)
format(filename, 255, "%s/filehandle.txt", filename)
}
public setspawn(id)
{
new save_origin[3]
 
client_print(id, print_chat, "Origin changed")
get_user_origin(id, save_origin, 0)
 
new map[32]
get_mapname(map,31)
 
new filepointer = fopen(filename, "at+")
if(filepointer)
{
fprintf(filepointer,"%s %f %f %f^n", map, float(save_origin[0]), float(save_origin[1]), float(save_origin[2]))
fclose(filepointer)
}
}
 
public Start()
{
new player = random_player()
 new name[32]
 
if( is_user_connected(player))
{
get_user_name(player,name,31)
strip_user_weapons(player)
set_user_origin(player,origin)
client_print(0,print_chat," %s is the ar guy",name)
set_user_health(player, 200)
set_user_armor(player, 200)
}
}
 
stock random_player()
{
new iPlayer, iPlayers = get_playersnum()
while(!is_user_connected(iPlayer))
iPlayer = random_num(1,iPlayers)
 
return iPlayer
}
 
public client_putinserver(id)
{
new filepointer = fopen(filename, "rt")
 
if(filepointer)
{
new readdata[128], map[32], Float:origin[3]
new parsedmap[32], parsedorigin[3][8]
 
while(!feof(filepointer))
{ 
fgets(filepointer, readdata, 127)
parse(readdata, parsedmap, 31, parsedorigin[0], 7, parsedorigin[1], 7, parsedorigin[2], 7)
 
get_mapname(map, 31)
 
if(equal(map, parsedmap))
{
origin[0] = str_to_float(parsedorigin[0])
origin[1] = str_to_float(parsedorigin[1])
origin[2] = str_to_float(parsedorigin[2])
 
break 
//...
}
}
 
fclose(filepointer) 
}
}
__________________
If one of my plugins become broken, contact me by mail. [email protected]

Last edited by fxfighter; 06-27-2007 at 06:53.
fxfighter is offline
Send a message via MSN to fxfighter
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 21:32.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode