spawn player
#1

hello, who knows how to skip this?: https://imgur.com/82C4Dpp
when a player connects, I want him to be directly spawned.

OnPlayerConnect:
Код:
public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid,0xFFFFFFFF,"Bine ai venit!");
    new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
	format(file,sizeof(file),PlayerFile,Name);
	new IP[16]; GetPlayerIp(playerid,IP,16);
	if(cInfo[AutoLogin] == 1)
	{
	if(strcmp(IP,dini_Get(file,"Ip Adress"),true) == 0)
	{
	SetPlayerMoney(playerid,dini_Int(file,"Money"));
 	SetPlayerScore(playerid,dini_Int(file,"Score"));
	pInfo[playerid][Kills] = dini_Int(file,"Kills");
	pInfo[playerid][Deaths] = dini_Int(file,"Deaths");
	SendClientMessage(playerid,0xFFFFFFFF,"Ai fost logat automat.");
	pInfo[playerid][LoggedIn] = 1;
	if(strcmp(dini_Get(file,"Sex"),"Masculin") == 0)
	{
	pInfo[playerid][Sex] = Masculin;
	}
	else if(strcmp(dini_Get(file,"Sex"),"Feminin") == 0)
	{
	pInfo[playerid][Sex] = Feminin;
	}
	pInfo[playerid][Varsta] = dini_Int(file,"Varsta");
	TimE[playerid] = dini_Int(file,"Time On Server");
	timeupdate = SetTimerEx("TimeOnServer",60000,1,"i",playerid);
	}
	else
	{
	ShowPlayerDialog(playerid,9696,DIALOG_STYLE_MSGBOX,"Phoenix Roleplay","Bine ai venit pe server!","Logare","Inregistrare");
	}
	}
	else
	{
	ShowPlayerDialog(playerid,9696,DIALOG_STYLE_MSGBOX,"Phoenix Roleplay","Bine ai venit pe server!","Logare","Inregistrare");
	}
	return 1;
}
OnPlayerRequestSpawn:
Код:
public OnPlayerRequestSpawn(playerid)
{
	if(pInfo[playerid][LoggedIn] == 0)
	{
	SendClientMessage(playerid,COLOR_RED,"Trebuie sa te loghezi!");
	return 0;
	}
	return 1;
}
OnPlayerSpawn:
Код:
public OnPlayerSpawn(playerid)
{
	ShowModelSelectionMenu(playerid, skinlist, "Selecteaza Skin");
	SetTimerEx("CheckThings",5000,1,"i",playerid);
    new cfile[100]; format(cfile,100,"ERegLog/Config/Config.ini");
    new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,MAX_PLAYER_NAME); format(file,sizeof(file),PlayerFile,Name);
	if(cInfo[SkinLoad] == 1)
	{
	SetPlayerSkin(playerid,dini_Int(file,"Skin"));
	}
	else
	{
	return 1;
	}
	if(cInfo[WantedLevelLoad] == 1)
	{
	SetPlayerWantedLevel(playerid,dini_Int(file,"Wanted Level"));
	}
	else
	{
	return 1;
	}
	if(cInfo[HealthLoad] == 1)
	{
	SetPlayerHealth(playerid,dini_Int(file,"Health"));
	}
	else
	{
	return 1;
	}
	if(cInfo[ArmourLoad] == 1)
	{
	SetPlayerArmour(playerid,dini_Int(file,"Armour"));
	}
	else
	{
	return 1;
	}
	if(cInfo[InteriorLoad] == 1)
	{
	SetPlayerInterior(playerid,dini_Int(file,"Interior"));
	}
	else
	{
	return 1;
	}
	if(cInfo[VirtualWorldLoad] == 1)
	{
	SetPlayerVirtualWorld(playerid,dini_Int(file,"Virtual World"));
	}
	else
	{
	return 1;
	}
	if(cInfo[DrunkLevelLoad] == 1)
	{
	SetPlayerDrunkLevel(playerid,dini_Int(file,"Drunk Level"));
	}
	else
	{
	return 1;
	}
	if(cInfo[FightStyleLoad] == 1)
	{
	SetPlayerFightingStyle(playerid,dini_Int(file,"Fighting Style"));
	}
	else
	{
	return 1;
	}
	if(cInfo[TeamLoad] == 1)
	{
	SetPlayerTeam(playerid,dini_Int(file,"Team"));
	}
	else
	{
	return 1;
	}
	if(cInfo[TeamLoad] == 1)
	{
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 1"),dini_Int(file,"Ammo 1"));
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 2"),dini_Int(file,"Ammo 2"));
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 3"),dini_Int(file,"Ammo 3"));
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 4"),dini_Int(file,"Ammo 4"));
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 5"),dini_Int(file,"Ammo 5"));
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 6"),dini_Int(file,"Ammo 6"));
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 7"),dini_Int(file,"Ammo 7"));
	GivePlayerWeapon(playerid,dini_Int(file,"Weapon 8"),dini_Int(file,"Ammo 8"));
	}
	else
	{
	return 1;
	}
 	return 1;
}
OnDialogResponse:
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new file[100],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
	format(file,sizeof(file),PlayerFile,Name);
	if(dialogid == 9696) //Choosing
	{
	if(!response)
	{
	if(!fexist(file))
	{
	ShowPlayerDialog(playerid,135,DIALOG_STYLE_INPUT,"Inregistrare","Scrie-ti parola mai jos","Intra","Iesi");
	}
	else if(fexist(file))
	{
	SendClientMessage(playerid,COLOR_RED,"Acest nume este deja inregistrat!");
	ShowPlayerDialog(playerid,9696,DIALOG_STYLE_MSGBOX,"Phoenix Roleplay","Bine ai venit pe server!","Logare","Inregistrare");
	}
	}
	if(response)
	{
	if(fexist(file))
	{
	ShowPlayerDialog(playerid,246,DIALOG_STYLE_INPUT,"Logare","Scrie-ti parola mai jos","Intra","Iesi");
	}
	else if(!fexist(file))
	{
    SendClientMessage(playerid,COLOR_RED,"Acest nume nu este inregistrat!");
	ShowPlayerDialog(playerid,9696,DIALOG_STYLE_MSGBOX,"Phoenix Roleplay","Bine ai venit pe server!","Logare","Inregistrare");
	}
	}
	}
	if(dialogid == 135) //Registration
	{
	if(!response)
	{
	SendClientMessage(playerid,COLOR_RED,"Trebuie sa te inregistrezi!");
	ShowPlayerDialog(playerid,135,DIALOG_STYLE_INPUT,"Inregistrare","Scrie-ti parola mai jos","Intra","Iesi");
	}
	if(response)
	{
	new Float:Health,Float:Armour; GetPlayerHealth(playerid,Health); GetPlayerArmour(playerid,Armour);
	dini_Create(file);
	new pName[24]; GetPlayerName(playerid,pName,24); new IP[16]; GetPlayerIp(playerid,IP,16);
	dini_Set(file, "Name", pName);
	dini_Set(file, "Ip Adress", IP);
	dini_IntSet(file, "Password", udb_hash(inputtext));
	dini_IntSet(file, "Money",0);
	dini_IntSet(file, "Score",0);
	dini_IntSet(file, "Kills",0);
	dini_IntSet(file, "Deaths",0);
	dini_IntSet(file,"Skin",GetPlayerSkin(playerid));
	dini_IntSet(file,"Wanted Level",GetPlayerWantedLevel(playerid));
	dini_IntSet(file,"Interior",GetPlayerInterior(playerid));
	dini_IntSet(file,"Virtual World",GetPlayerVirtualWorld(playerid));
	dini_IntSet(file,"Drunk Level",GetPlayerDrunkLevel(playerid));
	dini_IntSet(file,"Fighting Style",GetPlayerFightingStyle(playerid));
	dini_IntSet(file,"Team",GetPlayerTeam(playerid));
	GetPlayerWeaponData(playerid,0,pInfo[playerid][Wep1],pInfo[playerid][Ammo1]);
	GetPlayerWeaponData(playerid,1,pInfo[playerid][Wep2],pInfo[playerid][Ammo2]);
	GetPlayerWeaponData(playerid,2,pInfo[playerid][Wep3],pInfo[playerid][Ammo3]);
	GetPlayerWeaponData(playerid,3,pInfo[playerid][Wep4],pInfo[playerid][Ammo4]);
	GetPlayerWeaponData(playerid,4,pInfo[playerid][Wep5],pInfo[playerid][Ammo5]);
	GetPlayerWeaponData(playerid,5,pInfo[playerid][Wep6],pInfo[playerid][Ammo6]);
	GetPlayerWeaponData(playerid,6,pInfo[playerid][Wep7],pInfo[playerid][Ammo7]);
	GetPlayerWeaponData(playerid,7,pInfo[playerid][Wep8],pInfo[playerid][Ammo8]);
	dini_IntSet(file,"Weapon 1",pInfo[playerid][Wep1]);
	dini_IntSet(file,"Ammo 1",pInfo[playerid][Ammo1]);
	dini_IntSet(file,"Weapon 2",pInfo[playerid][Wep2]);
	dini_IntSet(file,"Ammo 2",pInfo[playerid][Ammo2]);
	dini_IntSet(file,"Weapon 3",pInfo[playerid][Wep3]);
	dini_IntSet(file,"Ammo 3",pInfo[playerid][Ammo3]);
	dini_IntSet(file,"Weapon 4",pInfo[playerid][Wep4]);
	dini_IntSet(file,"Ammo 4",pInfo[playerid][Ammo4]);
	dini_IntSet(file,"Weapon 5",pInfo[playerid][Wep5]);
	dini_IntSet(file,"Ammo 5",pInfo[playerid][Ammo5]);
	dini_IntSet(file,"Weapon 6",pInfo[playerid][Wep6]);
	dini_IntSet(file,"Ammo 6",pInfo[playerid][Ammo6]);
	dini_IntSet(file,"Weapon 7",pInfo[playerid][Wep7]);
	dini_IntSet(file,"Ammo 7",pInfo[playerid][Ammo7]);
	dini_IntSet(file,"Weapon 8",pInfo[playerid][Wep8]);
	dini_IntSet(file,"Ammo 8",pInfo[playerid][Ammo8]);
	dini_FloatSet(file,"Health",Health);
	dini_FloatSet(file,"Armour",Armour);
	pInfo[playerid][Registered] = 1;
	SendClientMessage(playerid,COLOR_YELLOW,"Te-ai inregistrat cu succes!");
	ShowPlayerDialog(playerid,9999,DIALOG_STYLE_LIST,"Sex","Masculin\nFeminin","Selecteaza","Anulare");
	}
	}
	if(dialogid == 246) //Logging
	{
	if(!response)
	{
	SendClientMessage(playerid,COLOR_RED,"Trebuie sa te loghezi!");
	ShowPlayerDialog(playerid,246,DIALOG_STYLE_INPUT,"Logare","Scrie-ti parola mai jos","Intra","Iesi");
	}
	if(response)
	{
 	if(udb_hash(inputtext) != dini_Int(file, "Password"))
 	{
 	SendClientMessage(playerid,COLOR_RED,"Parola incorecta!");
	ShowPlayerDialog(playerid,246,DIALOG_STYLE_INPUT,"Logare","Scrie-ti parola mai jos","Intra","Iesi");
 	}
 	else
 	{
 	SetPlayerMoney(playerid,dini_Int(file,"Money"));
 	SetPlayerScore(playerid,dini_Int(file,"Score"));
	pInfo[playerid][Kills] = dini_Int(file,"Kills");
	pInfo[playerid][Deaths] = dini_Int(file,"Deaths");
	SendClientMessage(playerid,COLOR_YELLOW,"Te-ai logat cu succes!");
	pInfo[playerid][LoggedIn] = 1;
	if(strcmp(dini_Get(file,"Sex"),"Masculin") == 0)
	{
	pInfo[playerid][Sex] = Masculin;
	}
	else if(strcmp(dini_Get(file,"Sex"),"Feminin") == 0)
	{
	pInfo[playerid][Sex] = Feminin;
	}
	pInfo[playerid][Varsta] = dini_Int(file,"Varsta");
	timeupdate = SetTimerEx("TimeOnServer",60000,1,"i",playerid);
	TimE[playerid] = dini_Int(file,"Time On Server");
	}
	}
 	}
 	if(dialogid == 9797)
 	{
 	if(!response) return SendClientMessage(playerid,COLOR_RED,"Ai anulat!");
 	if(response)
 	{
 	if(udb_hash(inputtext) != dini_Int(file, "Password"))
 	{
  	SendClientMessage(playerid,COLOR_RED,"Parola incorecta!");
 	ShowPlayerDialog(playerid,9797,DIALOG_STYLE_INPUT,"Schimbare parola","Care este parola ta veche?","OK","Anulare");
 	}
 	else
 	{
 	ShowPlayerDialog(playerid,9898,DIALOG_STYLE_INPUT,"Schimbare parola","Scrie-ti noua parola:","OK","Anulare");
	}
	}
	}
	if(dialogid == 9898)
	{
	if(!response) return SendClientMessage(playerid,COLOR_RED,"Ai anulat.");
	if(response)
	{
	dini_IntSet(file, "Password", udb_hash(inputtext));
	SendClientMessage(playerid,COLOR_YELLOW,"Ti-ai schimbat parola cu succes!");
	}
	}
	if(dialogid == 9999)
	{
	if(!response)
	{
	ShowPlayerDialog(playerid,9999,DIALOG_STYLE_LIST,"Sex","Masculin\nFeminin","Selecteaza","Anulare");
	SendClientMessage(playerid,COLOR_RED,"Trebuie sa iti alegi sexul caracterului!");
	}
	if(response)
	{
	if(listitem == 0)
	{
	dini_Set(file,"Sex","Masculin");
	ShowPlayerDialog(playerid,1010,DIALOG_STYLE_INPUT,"Varsta","Cati ani are caracterul tau?","OK","Anulare");
	}
	if(listitem == 1)
	{
	dini_Set(file,"Sex","Feminin");
	ShowPlayerDialog(playerid,1010,DIALOG_STYLE_INPUT,"Varsta","Cati ani are caracterul tau?","OK","Anulare");
	}
	}
	}
	if(dialogid == 1010)
	{
	if(!response)
	{
	SendClientMessage(playerid,COLOR_RED,"Trebuie sa specifici varsta!");
	ShowPlayerDialog(playerid,1010,DIALOG_STYLE_INPUT,"Varsta","Cati ani are caracterul tau?","OK","Anulare");
	}
	if(response)
	{
	if(IsNumeric(inputtext))
	{
	dini_IntSet(file,"Varsta",strval(inputtext));
	ShowPlayerDialog(playerid,1111,DIALOG_STYLE_INPUT,"Provincie","Din ce tara provine caracterul tau?","OK","Anulare");
	}
	else
	{
	SendClientMessage(playerid,COLOR_RED,"Te rog foloseste numere!");
	ShowPlayerDialog(playerid,1010,DIALOG_STYLE_INPUT,"Varsta","Cati ani are caracterul tau?","OK","Anulare");
	}
	}
	}
	if(dialogid == 1111)
	{
	if(!response)
	{
	SendClientMessage(playerid,COLOR_RED,"Trebuie sa specifici din ce tara provine caracterul tau");
	ShowPlayerDialog(playerid,1111,DIALOG_STYLE_INPUT,"Provincie","Din ce tara provine caracterul tau?","OK","Anulare");
	}
	if(response)
	{
	dini_Set(file,"Country",inputtext);
	ShowPlayerDialog(playerid,246,DIALOG_STYLE_INPUT,"Logare","Scrie-ti parola mai jos","Intra","Iesi");
	}
	}
	return 1;
}
Reply
#2

try this:
https://sampwiki.blast.hk/wiki/TogglePlayerSpectating



NOTE: When spectator mode is disabled, OnPlayerSpawn will automatically be called, if you wish to restore player to state before spectating, you will have to handle that in OnPlayerSpawn. Note also, that player can also go to class selection before if they used F4 during spectate, a player also CAN die in spectate mode due to various glitches.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)