Always spawn falling.
#8

Nop, still spawning in the same point.
Is not loading the saved pos.

Код:
#include <a_samp>
#include <a_mysql>


//MySQL ajustes
#define host 	 	"localhost"
#define user 	 	"root"
#define db       	"server"
#define pass 		""

//Dialogs
#define dregister 	6287
#define dlogin    	6288

//Variables globales
static
		mysql,
		Name[MAX_PLAYERS][24],
		IP[MAX_PLAYERS][16];

//Enums
enum PDATA
{
	ID,
	Password[129],
	Admin,
	VIP,
	Money,
	Float:Posx,
	Float:Posy,
	Float:Posz
}
new pInfo[MAX_PLAYERS][PDATA];

main(){}

public OnGameModeInit()
{
	mysql_log(LOG_ERROR | LOG_WARNING | LOG_DEBUG);
	mysql = mysql_connect(host, user, db, pass);
	if(mysql_errno(mysql) != 0) print("No se ha podido conectar a la base de datos.");
	SetGameModeText("Yay");
	AddPlayerClass(0, 1643.4510, -2287.4954, -1.1971, 0.0, 0, 0, 0, 0, 0, 0);
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, pInfo[playerid][Posx], pInfo[playerid][Posy], pInfo[playerid][Posz]);
	SetPlayerCameraPos(playerid, pInfo[playerid][Posx], pInfo[playerid][Posy], pInfo[playerid][Posz]);
	SetPlayerCameraLookAt(playerid, pInfo[playerid][Posx], pInfo[playerid][Posy], pInfo[playerid][Posz]);
	return 1;
}

public OnPlayerConnect(playerid)
{
	new query[128];
	GetPlayerName(playerid, Name[playerid], 24);
	GetPlayerIp(playerid, IP[playerid], 16);
	pInfo[playerid][Posx] = 0.0;
	pInfo[playerid][Posy] = 0.0;
	pInfo[playerid][Posz] = 0.0;
	mysql_format(mysql, query, sizeof(query), "SELECT `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1", Name[playerid]);
	mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new query[128], Float:pos[3];
	GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
	mysql_format(mysql, query, sizeof(query), "UPDATE `players` SET `Admin`=%d, `VIP`=%d, `Money`=%d, `posx`=%f, `posy`=%f, `posz`=%f WHERE `ID`=%d", pInfo[playerid][Admin], pInfo[playerid][VIP], pInfo[playerid][Money], pos[0], pos[1], pos[2], pInfo[playerid][ID]);
	mysql_tquery(mysql, query, "", "");
	return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		// Do something here
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

forward OnAccountCheck(playerid);

public OnAccountCheck(playerid)
{
    new rows, fields;
    cache_get_data(rows, fields, mysql);
    if(rows)
    {
        cache_get_field_content(0, "PASS", pInfo[playerid][Password], mysql, 129);
        pInfo[playerid][ID] = cache_get_field_content_int(0, "ID");
        printf("%s", pInfo[playerid][Password]);
        ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Login", "Bienvenido! Porfavor, introduce tu contraseсa para entrar.", "Login", "Salir");
	}else
	{
	    ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Registro", "Bienvenido! Porfavor, introduce una contraseсa para registrarte.", "Registrar", "Salir");
	}
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case dlogin:
        {
            if(!response) Kick(playerid);
            new hpass[129];
            new query[100];
            if(!strcmp(hpass, pInfo[playerid][Password]))
            {
                mysql_format(mysql, query, sizeof(query), "SELECT * FROM `players` WHERE `username` = %e LIMIT 1", Name[playerid]);
                mysql_tquery(mysql, query, "OnAccountLoad", "i", playerid);
            }
            else
            {
            	ShowPlayerDialog(playerid, dlogin, DIALOG_STYLE_INPUT, "Login", "Contraseсa incorrecta!\nIntentalo de nuevo.", "Login", "Salir");
            }
        }
        case dregister:
        {
            if(!response) return Kick(playerid);
            if(strlen(inputtext) < 6) return ShowPlayerDialog(playerid, dregister, DIALOG_STYLE_INPUT, "Register", "Tu contraseсa es demasiado corta!\nIntroduce una mas larga.", "Registrar", "Salir");
            printf("Nueva cuenta registrada. Contraseсa: %s", inputtext);
            new query[300];
            mysql_format(mysql, query, sizeof(query), "INSERT INTO `players` (`Username`, `Password`, `IP`, `Admin`, `VIP`, `Money`, `posx`, `posy`, `posz`) VALUES ('%e', '%s', '%s', 0, 0, 0, 1958.3783, 1343.1572, 15.3746)", Name[playerid], inputtext, IP[playerid]);
            mysql_tquery(mysql, query, "OnAccountRegister", "i", playerid);
        }
	}
	return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

forward OnAccountLoad(playerid);
forward OnAccountRegister(playerid);

 public OnAccountLoad(playerid)
 {
    pInfo[playerid][Admin] = cache_get_field_content_int(0, "Admin");
    pInfo[playerid][VIP] = cache_get_field_content_int(0, "VIP");
    pInfo[playerid][Money] = cache_get_field_content_int(0, "Money");
    pInfo[playerid][Posx] = cache_get_field_content_float(0, "Posx");
    pInfo[playerid][Posy] = cache_get_field_content_float(0, "Posy");
    pInfo[playerid][Posz] = cache_get_field_content_float(0, "Posz");

    SetSpawnInfo(playerid, 0, 0, pInfo[playerid][Posx], pInfo[playerid][Posy], pInfo[playerid][Posz], 0, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    GivePlayerMoney(playerid, pInfo[playerid][Money]);
    SendClientMessage(playerid, -1, "Datos cargados correctamente");
    return 1;
 }

 public OnAccountRegister(playerid)
 {
	pInfo[playerid][ID] = cache_insert_id();
	printf("Nueva cuenta registrada. ID: %d", pInfo[playerid][ID]);
    return 1;
 }
Reply


Messages In This Thread
Always spawn falling. - by Kratory - 12.05.2014, 15:52
Re: Always spawn falling. - by DiGiTaL_AnGeL - 12.05.2014, 17:01
Re: Always spawn falling. - by Konstantinos - 12.05.2014, 17:05
Re: Always spawn falling. - by Kratory - 13.05.2014, 13:15
Re: Always spawn falling. - by Konstantinos - 13.05.2014, 13:29
Re: Always spawn falling. - by Kratory - 13.05.2014, 13:44
Re: Always spawn falling. - by Konstantinos - 13.05.2014, 13:52
Re: Always spawn falling. - by Kratory - 13.05.2014, 14:13
Re: Always spawn falling. - by Konstantinos - 13.05.2014, 14:14
Re: Always spawn falling. - by Kratory - 13.05.2014, 14:16

Forum Jump:


Users browsing this thread: 1 Guest(s)