Skip Class Selection & Spawn with setted skin (HELP)
#1

Hello Scripters, i need help over here.. I just did the skip class selection code and that worked! ... and my problems now how to make it spawn with the setted skin? ( Default spawn was 0 ID skin)

For example if this player spawn with Skin ID "2" .. if he play again in my server he will spawn with that skin again.. thankyou!

Example skin ID i want: 60 , 15

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

main()

public OnGameModeInit()
{
	SetGameModeText("Blank");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

forward Spawn(playerid);

public OnPlayerRequestClass(playerid, classid)
{
   SetTimerEx("Spawn",1,false,"i",playerid);  
}

public OnPlayerConnect(playerid)
{
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	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;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	return 1;
}

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

public Spawn(playerid)
{
	SpawnPlayer(playerid);
}
Is this possible? Thanks.
Reply
#2

For this,you need to make the choosen skin saved.

Add this /saveskin command and it should work :
PHP код:
COMMAND:saveskin(playeridparams[])
{
   new 
skinidstring[256];
   if(
sscanf(params"i"skinid)) SendClientMessage(playerid0xFFFFFFAA,"usage: /saveskin[skinid]");
   if(
skinid 299) return SendClientMessage(playerid,0xFF0000AA,"error: Available Skin: 0 - 299 !");
   
SetPlayerSkin(playerid,skinid);
   
format(stringsizeof(string), "You changed your Skin-ID succesful!");
   
SendClientMessage(playerid0xFF0000AAstring);
   
// Now we will save the Skin.
   
new INI:File INI_Open(UserPath(playerid));
   
INI_SetTag(File,"data");
   
INI_WriteInt(File,"SkinID",skinid);
   
INI_Close(File);
   return 
1;

Remember to add
PHP код:
#include <YSI\y_ini> 
on top
Reply
#3

Quote:
Originally Posted by Sh4d0w2
Посмотреть сообщение
For this,you need to make the choosen skin saved.

Add this /saveskin command and it should work :
PHP код:
COMMAND:saveskin(playeridparams[])
{
   new 
skinidstring[256];
   if(
sscanf(params"i"skinid)) SendClientMessage(playerid0xFFFFFFAA,"usage: /saveskin[skinid]");
   if(
skinid 299) return SendClientMessage(playerid,0xFF0000AA,"error: Available Skin: 0 - 299 !");
   
SetPlayerSkin(playerid,skinid);
   
format(stringsizeof(string), "You changed your Skin-ID succesful!");
   
SendClientMessage(playerid0xFF0000AAstring);
   
// Now we will save the Skin.
   
new INI:File INI_Open(UserPath(playerid));
   
INI_SetTag(File,"data");
   
INI_WriteInt(File,"SkinID",skinid);
   
INI_Close(File);
   return 
1;

Remember to add
PHP код:
#include <YSI\y_ini 
on top
Thankyou. But, where to put that code? under OnPlayerCommandText?
Reply
#4

You need to include ZCMD like this :
PHP код:
#include <ZCMD> 
Before that download ZCMD inc first
You can put it under
PHP код:
OnPlayerCommandText 
or anywhere
Reply
#5

Quote:
Originally Posted by Sh4d0w2
Посмотреть сообщение
You need to include ZCMD like this :
PHP код:
#include <ZCMD> 
Before that download ZCMD inc first
Ok. But how to make it spawn after register with random skin?
Reply
#6

You should put your register dialog under
PHP код:
public OnPlayerConnect 
and set random skin under
PHP код:
public OnPlayerSpawn 
To make random skin at spawn follow this tutorial : [TUT] Random Skins
But for me,I would do like this for random skins
PHP код:
public OnPlayerSpawn(playerid)
{
    new 
rand=random(299);
    
SetPlayerSkin(playeridrand);
    return 
1;

Reply
#7

Quote:
Originally Posted by Sh4d0w2
Посмотреть сообщение
You should put your register dialog under
PHP код:
public OnPlayerConnect 
and set random skin under
PHP код:
public OnPlayerSpawn 
To make random skin at spawn follow this tutorial : [TUT] Random Skins
Thank you so much. Check your PM bro..
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)