Postei pois me pediram para fazer este sistema.
Bom, primeiro iremos adicionar as stock que irão nos ajudar a adicionar os leveis, etc.
Coloque-as em cima ou em baixo de seu GameMode:
Data provided by Pastebin.com - Download Raw
- stock CriarArquivoLevels(playerid) //Cria o arquivo em Scriptfiles/Levels
- {
- new formatted[40],Nomesz[25];
- GetPlayerName(playerid,Nomesz,25);
- format(formatted,40,"Levels/%s.subzero",Nomesz);
- if(fexist(formatted)) return 0;
- new File:SubZero=fopen(formatted,io_write);
- fwrite(SubZero,"0");
- fclose(SubZero);
- return 1;
- }
- stock PegarLevel(playerid) //Retorna o level do player
- {
- new Nomesz[25],strp[10],formatted[40];
- GetPlayerName(playerid,Nomesz,25);
- format(formatted,40,"Levels/%s.subzero",Nomesz);
- if(fexist(formatted)) return 0;
- new File:SubZero=fopen(formatted,io_read);
- fread(SubZero,strp);
- fclose(SubZero);
- return strval(strp);
- }
- stock AddLevel(playerid) //Adiciona mais um level ao player
- {
- new Nomesz[25],strp[10],formatted[40];
- GetPlayerName(playerid,Nomesz,25);
- format(formatted,40,"Levels/%s.subzero",Nomesz);
- if(fexist(formatted)) return 0;
- new File:SubZero=fopen(formatted,io_read);
- fread(SubZero,strp);
- fclose(SubZero);
- new level=strval(strp);
- new StakLine[10];
- format(StakLine,10,"%d",level+1);
- new File:SubZero2=fopen(formatted,io_write);
- fwrite(SubZero2,StakLine);
- fclose(SubZero2);
- return 1;
- }
Caso não veja: http://pastebin.com/EH55D4Uh
Agora, crie uma pasta em Scriptfiles, chamada 'Levels' (sem ' ).
Após ter feito isso, iremos criar uma variável, para sabermos quantas pessoas ele matou.
No topo do GameMode coloque:
Data provided by Pastebin.com - Download Raw
- new Kills[MAX_PLAYERS]; //Guarda quantos o player matouCaso não veja: http://pastebin.com/UxWPs7q8Agora, vamos colocar nas publics o necessário, como neste código:Caso não veja ou queira o código em um página apenas: http://pastebin.com/1uKpVd2aData provided by Pastebin.com - Download Raw
- public OnPlayerDeath(playerid,killerid)
- {
- Kills[killerid]++; //Adiciona mais um Kill
- new Matou=Kills[killerid];
- //Aqui, quantos kills e o level:
- if(Matou==1&&PegarLevel(killerid)==0) { //Se ele matou 1 e está level 0
- AddLevel(killerid); //Adiciona mais um level
- Kills[killerid]=0; //Zera o contador de Kills
- }
- //Exemplo de outro:
- if(Matou==10&&PegarLevel(killerid)==1) {//Se ele matou 10 e está level 1
- AddLevel(killerid); //Adiciona mais um level
- Kills[killerid]=0; //Zera o contador de Kills
- }
- //Fim
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- CriarArquivoLevels(playerid); //cria o arquivo do player
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- Kills[playerid]=0; //Ajusta os Kills para 0, para o próximo player
- return 1;
- }
Pronto!Siga o exemplo no OnPlayerDeath e crie mais leveis!Boa sorte com seu GameMode, para ver o código completo:Peça ajuda pelo nosso Xat e caso encontro algum bug, reporte.
#Compartilhar
Postagens Relacionadas
[TUT] Tutorial Removendo objetos do GTA (samp 0.3d) Removendo Objetos do GTA no Samp 0.3d Bem este tutorial não é muito grande mas é u
[TUT] Tutorial Criando Portao Automatico Sem Comando Criando Portao Automatico - SAMP Bom vou mandar o Code que eu fiz é muito faci
[TUT] Como Ser Desbanido De Qualquer Servidor SA-MP!
[TUT] Criando Comando De Setar o Clima Em Dialog Ola Hoje venho trazer um tutorial de como criar comandos onde voce podera setar o cl