03.12.2012, 13:34
Estou tentando fazer o sistema de tutorial e coloquei outras coisas, mais esse do tutorial estб muito chato jб tentei um tanto de coisa e nada resolve. Alguйm poderia me dar uma ajuda? E caso tenha algo de errado em outras linhas poderia me falar ou atй mesmo tentar resolve-lo para mim? Estarei aqui tentando quebrar a cabeзa mais ainda para tentar corrigir isso.
Aqui estб o GM.
Код:
C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(45) : error 055: start of function body without function header C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(148) : error 029: invalid expression, assumed zero C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(148) : error 004: function "Tutorial" is not implemented C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(158) : error 017: undefined symbol "TEMPO_EM_SEGUNDOS" C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(162) : error 017: undefined symbol "TEMPO_EM_SEGUNDOS" C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(165) : error 017: undefined symbol "ULTIMA_PARTE" C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(167) : error 017: undefined symbol "TimePlayer" C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(167) : warning 215: expression has no effect C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(167) : error 001: expected token: ";", but found "]" C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(167) : error 029: invalid expression, assumed zero C:\Users\Leilson\Desktop\Los Angeles Official 2013 RPG\gamemodes\teste.pwn(167) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 10 Errors.
Код:
#include a_samp #include DOF2 new TutPlayer[MAX_PLAYERS]; // topo do GM #define Azul #1919B3 #define AzulClaro #66CCFF #define AzulEscuro #006699 #define Amarelo #FFFF00 #define Branco #FFFFFF #define Laranja #FF8800 #define Rosa #FF99CC #define Roxo #880099 #define Verde #00CC00 #define Vermelho #CC0000 #define DIALOG_REGISTRO 1 #define DIALOG_LOGAR 2 #define ContasSalvas "/Contas/%s.ini" #define SEGUNDOS 1000 #define MINUTOS 60000 #define HORAS 3600000 #define DEAGLEDANO 40 #define M4DANO 38 #define SMGDANO 25 #define MP5DANO 25 #define SOCODANO 1 #define NOVEDANO 20 #define SILENCEDDANO 20 #define FACADANO 4 #define SHOTGUNDANO 30 #define SAWNDANO 20 #define AK47DANO 28 #define COUNTRYDANO 90 forward Tutorial(playerid); enum Informacoes { Senha, Matou, Morreu, Dinheiro, PlayerAdmin } new TimerPlayer[MAX_PLAYERS]; { SendClientMessage "Seja bem vindo ao Los Angeles Official 2013.\n\n", } { SendClientMessage "Se vocк estб precisando de ajuda, sу usar o /sos e esperar um admin lhe ajudar.\n", } { SendClientMessage "Nosso objetivo, й poder sempre deixar nossos players felizes.\n\n", } { SendClientMessage "O servidor estб em fase de desenvolvimento no momento, caso queira deixar uma sugestгo ou reporta algum bug, sу ir no fуrum.\n\n",", } { SendClientMessage "Divirta-se ao mбximo aqui no servidor, chame amigos, parentes, entre outros.", } #define TextCasaVenda "Los Angeles Official RPG\nEsta casa estб a venda\nTipo da Casa: %s\nPreзo da Casa: R$%d\nNivel: %d\nID da Casa: %d\nVocк pode comprar esta casa usando:\n/comprarcasa." #define TextCasa "Los Angeles Official RPG\nO Dono desta casa й: %s\nNivel: %d\nID da Casa: %d ID da Casa: %d\nDigite /entrar para poder entrar na casa." #define TextCasaAl "Los Angeles Official RPG\nO Dono desta casa й: %s\nPreзo do Aluguel: R$%d\nNivel: %d\nID da Casa: %d\nPara alugar esta casa digite\n/alugarquarto\nAperte a Tecla 'F' para entrar." #define TextEmpresaVenda "Los Angeles Official RPG\nEsta Empresa estб a venda\n%s\nPreзo: R$%d\nNivel: %d\nID da Empresa: %d\nSe vocк for um Jogador VIP pode comprar esta empresa\nUsando /comprarempresa" #define TextEmpresa "Los Angeles Official RPG\n%s\nDono: %s\nExtorзгo: %s\nEntrada: R$%d\nNivel: %d\nID da Empresa: %d\nAperte a Tecla 'F' para entrar" //*#define TEXTOCASAVENDA "Los Angeles Official RPG\nEsta casa estб a venda\nTipo da Casa: %s\nValor da Casa: R$%d\nNivel: %d\nID da Casa: %d\nVocк pode comprar esta casa usando:\n/comprarcasa" #define TEXTOCASADONO "Los Angeles Official RPG\nO Dono desta casa й:%s\nNivel: %d" #define TEXTOCASALUGUEL "Los Angeles Official RPG\nO Dono desta casa й:%s\nPreзo do Aluguel: {167405}R$%d\n{569DBE}Nivel: %d\nPara alugar esta casa digite\n/alugarquarto\nAperte a Tecla 'F' para entrar." #define TEXTOEMPRESAVENDA "Los Angeles Official RPG\nEsta Empresa estб a venda\n%s\n{86BED7}Esta empresa esta a venda\nValor: R$%d\nNivel: %d\nPara comprar digite \n/compraremp" #define TEXTOEMPRESADONO "Los Angeles Official RPG\n%s\nDono: %s\nExtorcao: %s\nEntrada: {167405}R$%d\nNivel: %d\nAperte Enter Para Entrar" #define LEVEL 1 // LEVEL AO PLAYER SE REGISTRAR #define CREDITOCEL 20 // QUANTIDADE DE CRЙDITOS QUANDO O PLAYER SE REGISTRA #define DINHEIRO 3000 // DINHEIRO AO LOGAR #define CONTABANCO 0 //DINHEIRO CONTA DO BANCO new Player[MAX_PLAYERS][Informacoes]; public OnGameModeExit() { DOF2_Exit(); return 1; } main() { print("\n-------------------------------------------"); print("[PT/BR]Los Angeles RPG Official 2013 RPG[PT/BR]"); print("-------------------------------------------\n"); } public OnGameModeInit() { // Don't use these lines if it's a filterscript SetGameModeText("Los Santos Official RPG 2013"); AddPlayerClass(0, 1642.1667, -2335.4941, 13.5469, 7.6790, 0, 0, 0, 0, 0, 0); return 1; } public OnPlayerConnect(playerid) { new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid GetPlayerName(playerid, name, MAX_PLAYER_NAME); //Pega o nome do playerid format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid if (DOF2_FileExists(arquivo)) //Verifica se a pasta existe { //Caso existir, irб retornar a dialog de Login ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк jб estб registrado em nosso banco de dados, digite sua senha para logar.\nCaso vocк erre sua senha cinco (5) vezes terб sua conta banida.", "Confirma", "Cancelar"); } else //Caso o arquivo nгo exista { //Irб retornar a dialog de registro ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo estб registrado em nosso server, digite uma senha para se registrar.", "Confirma", "Cancelar"); } return 1; } public OnPlayerDisconnect(playerid, reason) { new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid GetPlayerName(playerid, name, MAX_PLAYER_NAME); //Para pegar o nome do playerid format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid if (DOF2_FileExists(arquivo)) //Verifica se o arquivo da conta do playerid existe { Player[playerid][Dinheiro] = GetPlayerMoney(playerid); //Pega o dinheiro que o player tem no momento e iguala a Var de informaзхes dele DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Salva a senha, caso ele tenha modificado DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Salva quantos players ele matou DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Salva quantas vezes ele morreu DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Salva o dinheiro que foi igualado ao GetPlayerMoney logo acima no comeзo da funзгo DOF2_SaveFile(); //E finalmente salvando o arquivo } 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[]) { public Tutorial(playerid) { TimerPlayer[playerid] = SetTimerEx("Tutorial", 30000, true, "d", playerid); //Coloca isso pra comeзar o tutorial. Vai chamar a public de tutorial a cada 1 segundo TutPlayer[playerid] ++; // isso й como se fosse os segundos switch(TutPlayer[playerid]) { case 1: //Primeira vez que chamar a public { SendClientMessage(playerid, -1, "Bem vindo ao tutorial."); } case TEMPO_EM_SEGUNDOS: { SendClientMessage(playerid, -1, "DM й vocк pegar seu PC e tacar no chгo."); } case TEMPO_EM_SEGUNDOS: { // } case ULTIMA_PARTE: { KillTimer(TimePlayer[playerid]); //vai parar de chamar a public } } 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[]) { new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid GetPlayerName(playerid, name, MAX_PLAYER_NAME); //Para pegar o nome do playerid format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid if (dialogid == DIALOG_REGISTRO) { if (!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true { //Retorna a dialog de registro novamente para ele digitar NЪMEROS ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Por favor, digite apenas nъmeros em sua senha!\nPor favor, digite sua senha novamente para concluir seu registro!", "Confirma", "Cancelar"); return 1; } if (!response) //Verifica se ele clicar em 'Cancelar" { //Caso ele clicar em cancelar, irб retornar ao playerid KICK Kick(playerid); return 1; } else //Verifica se ele Confirma o Registro { //Caso for true, ira criar o arquivo na pasta CONTAS Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Vai salvar a senha do playerid DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Vai salvar quantas vezes ele matou DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Vai salvar quantas vezes ele morreu DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Vai salvar o dinheiro dele DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa funзгo o arquivo nгo serб salvo! //Retornando a dialog de Login ao player no final para ele logar no server ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк acaba de se registrar em nosso banco de dados, por favor digite sua senha para logar!", "Confirma", "Cancelar"); } } if (dialogid == DIALOG_LOGAR) { if (!response) { SendClientMessage(playerid, -1, "Vocк nгo quis logar, por isso foi kickado automaticamente."); Kick(playerid); } if (response) { new file[32]; if (DOF2_FileExists(file)) { if (DOF2_CheckLogin(file, inputtext)) { SendClientMessage(playerid, -1, "Parabйns"); //SpawnPlayer ( playerid ); return 1; } else { ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Por favor, digite apenas nъmeros em sua senha.\nPor favor, digite sua senha para poder logar!\nCaso vocк erre sua senha cinco (5) vezes terб sua conta banida.", "Confirma", "Cancelar"); } } } } return 1; } public OnPlayerClickPlayer(playerid, clickedplayerid, source) { return 1; } stock PlayerArchive(playerid) { new StringArquivo[128], NomeArquivo[24]; GetPlayerName(playerid, NomeArquivo, sizeof(NomeArquivo)); format(StringArquivo, sizeof(StringArquivo), ContasSalvas, NomeArquivo); return StringArquivo; } forward CarregarDados(playerid); public CarregarDados(playerid) { return 1; } stock SalvarDados(playerid) { DOF2_SaveFile(); return 1; } stock PlayerName(playerid) { new Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, MAX_PLAYER_NAME); return Name; }