function " " should return a value
#1

I got two warnings in my script, i tryed on playerconnect to see if the name of a person excist and if not he need to register but if i join now it ALWAYS shows the register dialog and if you register in that dialog the server dont registers you he just spawns you...

So please help!:

Quote:

C:\Documents and Settings\Eigenaar\Bureaublad\Minigames\filterscrip ts\Minigame.pwn(75) : warning 209: function "OnPlayerConnect" should return a value
C:\Documents and Settings\Eigenaar\Bureaublad\Minigames\filterscrip ts\Minigame.pwn(119) : warning 217: loose indentation
C:\Documents and Settings\Eigenaar\Bureaublad\Minigames\filterscrip ts\Minigame.pwn(145) : warning 217: loose indentation
C:\Documents and Settings\Eigenaar\Bureaublad\Minigames\filterscrip ts\Minigame.pwn(180) : warning 209: function "OnDialogResponse" should return a value
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Warnings.

Quote:

public OnPlayerDisconnect(playerid, reason)
{
GetPlayerName(playerid, playername, sizeof(playername));
money[playerid] = GetPlayerMoney(playerid);
score[playerid] = GetPlayerScore(playerid);
dini_IntSet(udb_encode(playername), "money", money[playerid]);
dini_IntSet(udb_encode(playername), "score", score[playerid]);
dini_IntSet(udb_encode(playername), "adminlevel", adminlevel[playerid]);
logged[playerid] = 0;
return 1;
}

Quote:

#include <a_samp>
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[256];
new inputtext2[MAX_PLAYERS];
GetPlayerName(playerid, playername, sizeof(playername));

if(dialogid == 1)
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, "If you want to play you need to register!");
Kick(playerid);
}
if(response)
{
if (!dini_Exists(udb_encode(playername)))
{
logged[playerid] = 1;
dini_Create(udb_encode(playername));
dini_IntSet(udb_encode(playername), "password", udb_hash(inputtext));
dini_IntSet(udb_encode(playername), "adminlevel", 0);
dini_IntSet(udb_encode(playername), "money", 0);
dini_IntSet(udb_encode(playername), "score", 0);
format(string, sizeof(string), "Account %s has been made!", playername, inputtext);
SendClientMessage(playerid, COLOR_GREEN, string);
printf("%s has registered",playername);
}
return 1;
}
}


if(dialogid == 1)
{
if(!response)
{
SendClientMessage(playerid, COLOR_RED, "If you want to play you need to login!");
Kick(playerid);
}
if(response)
{
if (dini_Exists(udb_encode(playername)))
{
inputtext2 = dini_Get(udb_encode(playername), "password");
if (udb_hash(inputtext) != strval(inputtext2))
{
SendClientMessage(playerid, COLOR_RED, "Wrong password !");
Kick(playerid);
SendClientMessage(playerid, COLOR_RED, " If you want to play you need to enter the good password");
}
}
else
{
money[playerid] = dini_Int(udb_encode(playername), "money");
score[playerid] = dini_Int(udb_encode(playername), "score");
adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
format(string, sizeof(string), "%s, You are now logged in. Your adminlevel is %d, Your money is %d, and your score is %d.", playername, adminlevel[playerid], money[playerid], score[playerid]);
SendClientMessage(playerid, COLOR_GREEN, string);
GivePlayerMoney(playerid, money[playerid]);
SetPlayerScore(playerid, score[playerid]);
printf("%s has logged in",playername);
logged[playerid] = 1;
return 1;
}
return 1;
}
}
}

Reply
#2

You should add
pawn Код:
return 1;
At the end of OnPlayerConnect and OnDialogResponse callbacks.
Example:
pawn Код:
public OnPlayerConnect(playerid)
{
//Alot of stuff here
return 1;//There is should be return at the end
}
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//Alot of stuff here
return 1;//There is should be return at the end
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)