14.05.2011, 12:41
(
Последний раз редактировалось Shadoww5; 14.05.2011 в 13:20.
Причина: Ajustes ...
)
Nгo sei mexer com Dini e estou querendo aprender. Portanto, criei o codigo abaixo de acordo com o que foi pedido e com a ajuda de alguns tutoriais e outros scripts. Peзo que, caso tenha algo ERRADO, me digam para eu poder consertar.
OBS: Esta й minha primeira vez que mexo com Dini.
Codigo no Pastebin.com: http://pastebin.com/4w84LGtg
OBS: Esta й minha primeira vez que mexo com Dini.
PHP код:
#include <Dini>
new COP;
enum info
{
kills,
prof
}
new Info[MAX_PLAYERS][info];
public OnGameModeInit()
{
COP = AddStaticVehicle(/*MODELO DO CARRO*/, /*COORDENADA X*/, /*COORDENADA Y*/, /*COORDENADA Z*/, /*ANGULO*/, /*COR 1*/, /*COR 2*/)
return 1;
}
public OnPlayerConnect(playerid)
{
Carregar(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
Salvar(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(Info[prof] == 1)
{
SetPlayerPos(playerid,/*X*/,/*Y*/,/*Z*/);
SetPlayerSkin(playerid,/*ANGULO*/);
SetPlayerArmour(playerid,50);
return 1;
}
return 1;
}
public OnPlayerDeath(playerid,killerid,reason)
{
Info[killerid][kills]++;
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == 2)
{
if(GetPlayerVehicleID(playerid) == COP)
{
if(Info[playerid][prof] != 1)
{
SendClientMessage(playerid, 0xFFF55CFF,"Vocк nгo й policial");
RemovePlayerFromVehicle(playerid);
return 1;
}
}
}
return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
new idx, cmd[256];
cmd = strtok(cmdtext,idx);
if(strcmp(cmd,"/ingressarpolicia",true))
{
if(Info[playerid][kills] < 500) return SendClientMessage(playerid,0xFFF55CFF,"Vocк nao tem 500 kills para ingressar na Policia.");
Info[playerid][prof] = 1;
Salvar(playerid);
return 1;
}
return 0;
}
stock Salvar(playerid)
{
new save[34],nome[MAX_PLAYER_NAME];
GetPlayerName(playerid,nome,sizeof(nome));
format(save,sizeof(save),"Conta%s.ini",nome);
if(!fexist(save))
{
dini_Create(save);
return 1;
}
dini_IntSet(save,"kills",Info[playerid][kills]);
dini_IntSet(save,"prof",Info[playerid][prof]);
return 1;
}
stock Carregar(playerid)
{
new save[34],nome[MAX_PLAYER_NAME];
GetPlayerName(playerid,nome,sizeof(nome));
format(save,sizeof(save),"Conta%s.ini",nome);
Info[playerid][kills] = dini_Int(save,"kills");
Info[playerid][prof] = dini_Int(save,"prof");
return 1;
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}