[Tutorial] Como criar um sistema de level
#1

Bem, meu primeiro tutorial aqui no forum samp, intгo se eu fizer algo errado me desculpe xD

Primeiramente Devemo Adicionar a Include DINI Usada para Salvar o Level (na Pasta Script Files)
Ao Topo do Game Mode:

Код:
#include <dini>
Agora Devemos Adicionar as Forwards (embaixo das #includes)
Код:
forward LevelDrakeZ(playerid);
forward LevelDrakeZ -->> Declara a Public que Logo Criaremos


Agora em OnPlayerConnect
Код:
if(dini_Isset("scores.ini",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("scores.ini",PlayerName(playerid)));
para Carregar o Score de Imediato ao Conectar jб

Adicione no Final do GM nas Publics
Код:
public LevelDrakeZ(playerid)
{
SetTimer("LevelDrakeZ",60*60*1000,false);
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
SendClientMessage(playerid,COR AQUI,"Vocк Upou seu level Parabens.");
}
SendClientMessage --> Envia Mensagem ao Upar um Level/Score
COR AQUI -->> Vocк vai colocar a cor que vocк quer
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1); -->> Seta 1 Level/Score
SetTimer -->> A Cada Quanto Tempo o Player Upara
60*60 --> a Cada 1 hora no caso



Agora em OnPlayerDisconnect:
Код:
dini_IntSet("scores.ini",PlayerName(playerid),GetPlayerScore(playerid));
Irб Salvar quando o player desconectar


Agora em OnGameModeInit:
Код:
if(!fexist("scores.ini")) dini_Create("scores.ini");
dini_Create("scores.ini"); -- Criar os Arquivo


Agora em OnPlayerCommandText:
Код:
if(!strcmp(cmdtext,"/score",true))
{
new stringdrake[255];
format(stringdrake, sizeof(stringdrake), "Score Atual Seu й de %i",GetPlayerScore(playerid));
SendClientMessage(playerid, COR AQUI, stringdrake);
return 1;
}
if(!strcmp(cmdtext,"/score",true)) -->> Comando
Score Atual Seu й de %i",GetPlayerScore(playerid)); -->> Mostra Score ao Player ao Digitar /score
SendClientMessage(playerid, COLOR_ORANGE, string); -->> Envia Mensagem Cor Laranja



No Final Bem la No Final
Код:
stock PlayerName(playerid) {
new PlayerName[MAX_PLAYERS];
GetPlayerName(playerid, PlayerName, MAX_PLAYERS);
return PlayerName;
}
Serб Usado para Declarar "PLAYERNAME"

Precisa da Include Dini para Salvar e Funcionar Corretamente


Tutorial й este pessoal do forum sa-mp tchau!
Reply
#2

pawn Код:
stock PlayerName(playerid) {
new PlayerName[MAX_PLAYERS];
GetPlayerName(playerid, PlayerName, MAX_PLAYERS);
return PlayerName;
}
PlayerName foi definido duas vezes.
pawn Код:
stock PlayerName(playerid) {
new Nome[24];
GetPlayerName(playerid, Nome, 24);
return Nome;
}
Foi vocк que fez o tutorial?
Ele й bem parecido com este.
Nгo estou acusando que vocк copiou o tutorial do cara e criou um post, sу achei muito igual.

Explique mais as funзхes. Vocк deveria usar DOF2, dini й muito lento, e estб desatualizada.
Reply
#3

eu intendo que dini estб um pouco desatualizada mais nй e nгo sei onde vocк viu 2 playername rsrs! e o do IpsBruno й de salvamento tambйm nгo tem nada a ver com level pelo o que percebi pelo titulo! obrigado por comentar!
Reply
#4

Tutorial muito parecido com o do Bruno...
.
Outra coisa, a onde a public LevelDrakeZ(playerid) й chamada?
.
PHP код:
if(!strcmp(cmdtext,"/score",true))
{
new 
stringdrake[255];
format(stringdrakesizeof(stringdrake), "Score Atual Seu й de %i",GetPlayerScore(playerid));
SendClientMessage(playeridCOR AQUIstringdrake);
return 
1;

Para que uma array com 255 celular sendo que vocк ira utilizar no mбximo 28?
Reply
#5

Tutorial muito bбsico , falta explicar mta coisa !!
Na onde 60*60 й uma hora -.-
Reply
#6

pawn Код:
stock PlayerName(playerid) {
new PlayerName[MAX_PLAYERS];
Isso vai dar erro, pois estб definida 2 vezes.

--

Poderia fazer mais coisas aн ein, mas parabйns, pelo menos nгo tб igual a alguns outros do forum ai.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)