17.04.2012, 17:25
(
Последний раз редактировалось Don_Speed; 18.04.2012 в 16:39.
)
Quando disconecta e vai conectar denovo ele esta com score dobrado
PlayerFile_Save(playerid)
{
new file[100], File:PFile, Name[24], LineForFile[100];
format(Name, sizeof(Name), APlayerData[playerid][PlayerName]);
format(file, sizeof(file), PlayerFile, Name);
PFile = fopen(file, io_write);
format(LineForFile, 100, "Password %s\r\n", APlayerData[playerid][PlayerPassword]); // Construct the line: "Password <playerpassword>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "Level %i\r\n", APlayerData[playerid][PlayerLevel]); // Construct the line: "Level <playerlevel>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "Jailed %i\r\n", APlayerData[playerid][PlayerJailed]); // Construct the line: "Jailed <playerjailed>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "Wanted %i\r\n", GetPlayerWantedLevel(playerid)); // Construct the line: "Wanted <wantedlevel>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "Bans %i\r\n", APlayerData[playerid][Bans]); // Construct the line: "Bans <NumberOfBans>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "BanTime %i\r\n", APlayerData[playerid][BanTime]); // Construct the line: "BanTime <TimeToUnban>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "TruckerLicense %i\r\n", APlayerData[playerid][TruckerLicense]); // Construct the line: "TruckerLicense <playertruckerlicense>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "BusLicense %i\r\n", APlayerData[playerid][BusLicense]); // Construct the line: "BusLicense <playerbuslicense>"
fwrite(PFile, LineForFile);
if (APlayerData[playerid][Muted] == true)
format(LineForFile, 100, "Muted Yes\r\n");
else
format(LineForFile, 100, "Muted No\r\n");
fwrite(PFile, LineForFile);
if (APlayerData[playerid][RulesRead] == true)
format(LineForFile, 100, "RulesRead Yes\r\n");
else
format(LineForFile, 100, "RulesRead No\r\n");
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsMetersDriven %f\r\n", APlayerData[playerid][StatsMetersDriven]); // Construct the line: "StatsMetersDriven <StatsMetersDriven>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsTruckerJobs %i\r\n", APlayerData[playerid][StatsTruckerJobs]); // Construct the line: "StatsTruckerJobs <StatsTruckerJobs>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsConvoyJobs %i\r\n", APlayerData[playerid][StatsConvoyJobs]); // Construct the line: "StatsConvoyJobs <StatsConvoyJobs>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsBusDriverJobs %i\r\n", APlayerData[playerid][StatsBusDriverJobs]); // Construct the line: "StatsBusDriverJobs <StatsBusDriverJobs>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsPilotJobs %i\r\n", APlayerData[playerid][StatsPilotJobs]); // Construct the line: "StatsPilotJobs <StatsPilotJobs>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsMafiaJobs %i\r\n", APlayerData[playerid][StatsMafiaJobs]); // Construct the line: "StatsMafiaJobs <StatsMafiaJobs>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsMafiaStolen %i\r\n", APlayerData[playerid][StatsMafiaStolen]); // Construct the line: "StatsMafiaStolen <StatsMafiaStolen>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsPoliceFined %i\r\n", APlayerData[playerid][StatsPoliceFined]); // Construct the line: "StatsPoliceFined <StatsPoliceFined>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsPoliceJailed %i\r\n", APlayerData[playerid][StatsPoliceJailed]); // Construct the line: "StatsPoliceJailed <StatsPoliceJailed>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsAssistance %i\r\n", APlayerData[playerid][StatsAssistance]); // Construct the line: "StatsAssistance <StatsAssistance>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsCourierJobs %i\r\n", APlayerData[playerid][StatsCourierJobs]); // Construct the line: "StatsCourierJobs <StatsCourierJobs>"
fwrite(PFile, LineForFile);
format(LineForFile, 100, "StatsRoadworkerJobs %i\r\n", APlayerData[playerid][StatsRoadworkerJobs]); // Construct the line: "StatsRoadworkerJobs <StatsRoadworkerJobs>"
fwrite(PFile, LineForFile);
for (new i; i < MAX_HOUSESPERPLAYER; i++)
{
if (APlayerData[playerid][Houses][i] != 0)
{
format(LineForFile, 100, "House %i\r\n", APlayerData[playerid][Houses][i]);
fwrite(PFile, LineForFile);
}
}
for (new i; i < MAX_BUSINESSPERPLAYER; i++)
{
if (APlayerData[playerid][Business][i] != 0)
{
format(LineForFile, 100, "Business %i\r\n", APlayerData[playerid][Business][i]);
fwrite(PFile, LineForFile);
}
}
format(LineForFile, 100, "Money %i\r\n", APlayerData[playerid][PlayerMoney]);
fwrite(PFile, LineForFile);
format(LineForFile, 100, "Score %i\r\n", APlayerData[playerid][PlayerScore]);
fwrite(PFile, LineForFile);
fclose(PFile);
for (new i; i < MAX_HOUSESPERPLAYER; i++)
{
if (APlayerData[playerid][Houses][i] != 0)
{
HouseFile_Save(APlayerData[playerid][Houses][i]);
}
}
for (new i; i < MAX_BUSINESSPERPLAYER; i++)
{
if (APlayerData[playerid][Business][i] != 0)
{
BusinessFile_Save(APlayerData[playerid][Business][i]);
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if (APlayerData[playerid][RulesRead] == false)
{
new Msg[2000];
format(Msg, 2000, "%s1. Sempre dirigir do lado direito nas estradas para evitar acidentes.\n", Msg);
format(Msg, 2000, "%s2. Nгo chingar ou desrespeitar os outros jogadores, eles sгo seus companheiros.\n", Msg);
format(Msg, 2000, "%s3. Usar a linguagem padrгo 'Portuguкs'.\n", Msg);
format(Msg, 2000, "%s4. Nгo usar hackers ou serб banido permanentemente.\n", Msg);
format(Msg, 2000, "%s5. Nгo floodar no chat, pode ser calado por um admin.\n", Msg);
format(Msg, 2000, "%s6. Nгo roubar carros, sujeito a prisгo caso haja denuncia.\n", Msg);
format(Msg, 2000, "%s7. Nunca chingue ou desrespeite um administrador, vocк serб banido.\n", Msg);
ShowPlayerDialog(playerid, DialogRules, DIALOG_STYLE_MSGBOX, "Regras do Transportando o Mundo:", Msg, "Aceitar", TXT_DialogButtonCancel);
}
if (IsPlayerNPC(playerid))
return 1;
if (APlayerData[playerid][LoggedIn] == false)
{
SendClientMessage(playerid, 0xFFFFFFFF, TXT_FailedLoginProperly);
Kick(playerid);
}
new missiontext[200];
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
APlayerData[playerid][CurrentHouse] = 0;
TogglePlayerClock(playerid, 0);
ResetPlayerWeapons(playerid);
switch (APlayerData[playerid][PlayerClass])
{
case ClassTruckDriver:
{
format(missiontext, sizeof(missiontext), Trucker_NoJobText);
SetPlayerColor(playerid, ColorClassTruckDriver);
}
case ClassBusDriver:
{
format(missiontext, sizeof(missiontext), BusDriver_NoJobText);
SetPlayerColor(playerid, ColorClassBusDriver);
}
case ClassPilot:
{
format(missiontext, sizeof(missiontext), Pilot_NoJobText);
SetPlayerColor(playerid, ColorClassPilot);
}
case ClassPolice:
{
format(missiontext, sizeof(missiontext), Police_NoJobText);
SetPlayerColor(playerid, ColorClassPolice);
KillTimer(APlayerData[playerid][PlayerCheckTimer]);
APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Police_CheckWantedPlayers", 1000, true, "i", playerid);
if (PoliceGetsWeapons == true)
{
for (new i; i < 12; i++)
GivePlayerWeapon(playerid, APoliceWeapons[i], PoliceWeaponsAmmo);
}
}
case ClassMafia:
{
format(missiontext, sizeof(missiontext), Mafia_NoJobText);
SetPlayerColor(playerid, ColorClassMafia);
KillTimer(APlayerData[playerid][PlayerCheckTimer]);
APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Mafia_CheckMafiaLoads", 1000, true, "i", playerid);
}
case ClassCourier:
{
format(missiontext, sizeof(missiontext), Courier_NoJobText);
SetPlayerColor(playerid, ColorClassCourier);
}
case ClassAssistance:
{
format(missiontext, sizeof(missiontext), Assistance_NoJobText);
SetPlayerColor(playerid, ColorClassAssistance);
KillTimer(APlayerData[playerid][PlayerCheckTimer]);
APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Assistance_CheckPlayers", 1000, true, "i", playerid);
}
case ClassRoadWorker:
{
format(missiontext, sizeof(missiontext), RoadWorker_NoJobText);
SetPlayerColor(playerid, ColorClassRoadWorker);
}
}
TextDrawSetString(APlayerData[playerid][MissionText], missiontext);
TextDrawShowForPlayer(playerid, APlayerData[playerid][MissionText]);
if (APlayerData[playerid][PlayerJailed] != 0)
Police_JailPlayer(playerid, APlayerData[playerid][PlayerJailed]);
pawn Код:
|
Vocк ta usando o game mode PPC_Trucking nй?
Os dados do player sгo carregados assim que o player entra no servidor, posta o public OnPlayerConnect |
public OnPlayerConnect(playerid)
{
new Msg[50];
if(IsPlayerNPC(playerid)) { return 1; }
SetTimerEx("Record", 5000, false, "d", playerid);
TextDrawShowForPlayer(playerid, ImagemEntrada);
PlayAudioStreamForPlayer(playerid, "http://dl.dropbox.com/u/71659783/musica/preview.mp3");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFFFFFFFF, "|____________________________________________|");
SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Transportando o Mundo v4.0");
SendClientMessage(playerid, 0xFFFFFFFF, "Musica de Abertura:{FF0000}Frete");
SendClientMessage(playerid, 0xFFFFFFFF, "Novidades{FF0000}: Novos Resgates, /r(radio), Seleзao de Skin, Musica Ab.");
SendClientMessage(playerid, 0xFFFFFFFF, "|_____________________/stop para a musica _______________________|");
GetPlayerName(playerid, PName, sizeof(PName));
if (IsPlayerNPC(playerid))
return 1;
new Name[MAX_PLAYER_NAME], NewPlayerMsg[128], HouseID, don[275];
TextDrawShowForPlayer(playerid, Textdraw0);
SetPVarInt(playerid, "PVarMoney", 0);
SetPVarInt(playerid, "PVarScore", 0);
GetPlayerName(playerid, Name, sizeof(Name));
GetPlayerName(playerid, APlayerData[playerid][PlayerName], 24);
format(NewPlayerMsg, 128, TXT_PlayerJoinedServer, Name, playerid);
SendClientMessageToAll(0xFFFFFFFF, NewPlayerMsg);
if (PlayerFile_Load(playerid) == 0)
{
format(don, sizeof(don),"{FFFFFF}Seja Ben Vindo!\n\n\nNick: {AA3333}%s{FFFFFF}\nStatus da Conta: {00D900}Nгo Registrado{FFFFFF}\n\nDigite Sua Senha:", Name);
ShowPlayerDialog(playerid, DialogRegister, 3, "Transportando o Mundo", don , "Registrar", "Cancelar");
}
else if (PlayerFile_Load(playerid) == 1)
{
format(don, sizeof(don),"{FFFFFF}Seja Ben Vindo!\n\n\nNick: {AA3333}%s{FFFFFF}\nStatus da Conta: {00D900}Registrado{FFFFFF}\n\nDigite Sua Senha:",Name);
ShowPlayerDialog(playerid, DialogLogin, 3,"Transportando o Mundo",don, "Logar", "Cancelar");
}
for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
{
HouseID = APlayerData[playerid][Houses][HouseSlot];
if (HouseID != 0)
HouseFile_Load(HouseID, true);
}
Speedometer_Setup(playerid);
APlayerData[playerid][MissionText] = TextDrawCreate(320.0, 430.0, " ");
TextDrawAlignment(APlayerData[playerid][MissionText], 2);
TextDrawUseBox(APlayerData[playerid][MissionText], 1);
TextDrawBoxColor(APlayerData[playerid][MissionText], 0x00000066);
if (APlayerData[playerid][PlayerLevel] >= 1){
SendClientMessage(playerid, 0xFFFFFFFF, "");
format(Msg, sizeof(Msg), "~y~%s ~r~On", Name);
GameTextForAll(Msg, 5000, 3);
SendClientMessage(playerid, 0xFFFFFFFF, "");
SendClientMessage(playerid, 0xFF230AFF, "Parabйns Vocк logou como Administrador do Transportando o Mundo.");
return 1;
}
return 1;
}
SetPlayerScore(playerid, APlayerData[playerid][PlayerScore]);