How to empty this string?
#10

Quote:
Originally Posted by ******
Посмотреть сообщение
There is simply no reason why this should be the case! Are you CERTAIN that it's not taking new values? And more to the point are you CERTAIN that the code to store the new values is not called? Could you post full example code which shows this issue, including any files you are attempting to load?
Sure, here:

Gamemode
pawn Код:
#define COLOR_WHITE         0xFFFFFFFF

#include <a_samp>
#include <YSI/y_ini>
#include "../include/loginsystem.inc"

main()
{
    print("AnteinoServer started.");
    return 1;
}

public OnPlayerSpawn(playerid)
{
    if(GetPVarInt(playerid, "logstatus") == 0){
        SendClientMessage(playerid, COLOR_WHITE, "SERVER: Kicked for teleporting from login.");
        Kick(playerid);
        return 1;
    }
    SetPlayerPos(playerid, 1754.0000, -1893.9800, 14.5000);
    SetPlayerFacingAngle(playerid, 270);
    SetCameraBehindPlayer(playerid);
    return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
   return 1;
}

SetupPlayerForClassSelection(playerid)
{
    PlayerPlaySound(playerid,1052,0.0,0.0,0.0);
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetupPlayerForClassSelection(playerid);
    return 1;
}

public OnGameModeInit()
{
    SetGameModeText("Amsterdam Roleplay");
    ShowPlayerMarkers(1);
    ShowNameTags(1);
    EnableStuntBonusForAll(0);
    return 1;
}
The included "../include/loginsystem.inc"
pawn Код:
new PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME], Password[MAX_PLAYERS][MAX_PASSWORD], gPass[MAX_PASSWORD];

INI:playerlist[](playerid, name[], value[])
{
    INI_String(PlayerName[playerid], gPass, MAX_PASSWORD);
    return 0;
}

stock CheckPlayer(playerid){
    GetPlayerName(playerid, PlayerName[playerid], MAX_PLAYER_NAME);
    INI_Load("playerlist.ini", true, playerid); // if set to true, playerid will be passed over to INI:playerlist[...
    strpack(Password[playerid], gPass);
    SendClientMessage(playerid, COLOR_WHITE, PlayerName[playerid]);
    SendClientMessage(playerid, COLOR_WHITE, Password[playerid]);
    if(strlen(Password[playerid]) == 0){
        ShowPlayerDialog(playerid, 30, 1, "Register", "To register you must first give in the first name of your character.", "OK", "");
        return 1;
    }
    else{
        ShowPlayerDialog(playerid, 33, 1, "Login", "Please give in your password.", "OK", "");
        return 1;
    }
}

stock CheckForSymbols(inputtext[], &error){
    if(strfind(inputtext, "/") != -1) error = true;
    if(strfind(inputtext, "~") != -1) error = true;
    if(strfind(inputtext, "`") != -1) error = true;
    if(strfind(inputtext, "!") != -1) error = true;
    if(strfind(inputtext, "@") != -1) error = true;
    if(strfind(inputtext, "#") != -1) error = true;
    if(strfind(inputtext, "$") != -1) error = true;
    if(strfind(inputtext, "%") != -1) error = true;
    if(strfind(inputtext, "^") != -1) error = true;
    if(strfind(inputtext, "&") != -1) error = true;
    if(strfind(inputtext, "*") != -1) error = true;
    if(strfind(inputtext, "(") != -1) error = true;
    if(strfind(inputtext, ")") != -1) error = true;
    if(strfind(inputtext, "-") != -1) error = true;
    if(strfind(inputtext, "+") != -1) error = true;
    if(strfind(inputtext, "=") != -1) error = true;
    if(strfind(inputtext, "|") != -1) error = true;
    if(strfind(inputtext, "1") != -1) error = true;
    if(strfind(inputtext, "2") != -1) error = true;
    if(strfind(inputtext, "3") != -1) error = true;
    if(strfind(inputtext, "4") != -1) error = true;
    if(strfind(inputtext, "5") != -1) error = true;
    if(strfind(inputtext, "6") != -1) error = true;
    if(strfind(inputtext, "7") != -1) error = true;
    if(strfind(inputtext, "8") != -1) error = true;
    if(strfind(inputtext, "9") != -1) error = true;
    if(strfind(inputtext, "0") != -1) error = true;
    if(strfind(inputtext, ",") != -1) error = true;
    if(strfind(inputtext, ".") != -1) error = true;
    if(strfind(inputtext, ";") != -1) error = true;
    if(strfind(inputtext, ":") != -1) error = true;
    if(strfind(inputtext, "'") != -1) error = true;
    if(strfind(inputtext, "\"") != -1) error = true;
    if(strfind(inputtext, "[") != -1) error = true;
    if(strfind(inputtext, "]") != -1) error = true;
    if(strfind(inputtext, "{") != -1) error = true;
    if(strfind(inputtext, "}") != -1) error = true;
    if(strfind(inputtext, "?") != -1) error = true;
    if(strfind(inputtext, "_") != -1) error = true;
    if(strfind(inputtext, " ") != -1) error = true;
    return 1;
}

public OnPlayerConnect(playerid){
    SetPVarInt(playerid, "logstatus", 0);
    CheckPlayer(playerid);
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    if(response == 0){
        if(dialogid >= 30 && dialogid <= 33){
            CheckPlayer(playerid);
            return 0;
        }
    }
    if(response){
        switch(dialogid){
            case 30:{
                new bool:error;
                CheckForSymbols(inputtext, error);
                if(error == true){
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Don't use symbols.");
                    ShowPlayerDialog(playerid, 30, 1, "Register", "Please give in the first name of your character.", "OK", "");
                    return 0;
                }
                if(strlen(inputtext) < 2){
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: That firstname is too short.");
                    ShowPlayerDialog(playerid, 30, 1, "Register", "Please give in the first name of your character.", "OK", "");
                    return 0;
                }
                SetPVarString(playerid, "FirstName", inputtext);
                ShowPlayerDialog(playerid, 31, 1, "Register", "Please give in the last name of your character.", "OK", "Back");
                return 0;
            }
            case 31:{
                new bool:error, msg[128], name;
                CheckForSymbols(inputtext, error);
                if(error == true){
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Don't use symbols.");
                    ShowPlayerDialog(playerid, 31, 1, "Register", "Please give in the last name of your character.", "OK", "Back");
                    return 0;
                }
                if(strlen(inputtext) < 2){
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: That lastname is too short.");
                    ShowPlayerDialog(playerid, 31, 1, "Register", "Please give in the last name of your character.", "OK", "");
                    return 0;
                }
                SetPVarString(playerid, "LastName", inputtext);
                name = GetPVarString(playerid, "FirstName", msg, sizeof(msg)) + GetPVarString(playerid, "LastName", msg, sizeof(msg));
                if(name > 23 || name < 5){
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Your character's total name is either too long or too short.");
                    ShowPlayerDialog(playerid, 31, 1, "Register", "Please give in the last name of your character.", "OK", "Back");
                    return 0;
                }
                format(msg, sizeof(msg), "Please give in a password between 5 and %d characters.", MAX_PASSWORD);
                ShowPlayerDialog(playerid, 32, 1, "Register", msg, "OK", "Back");
                return 0;
            }
            case 32:{
                if(strlen(inputtext) < 5 || strlen(inputtext) > MAX_PASSWORD){
                    new msg[128];
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Your password is either too long or too short.");
                    format(msg, sizeof(msg), "Please give in a password between 5 and %d characters.", MAX_PASSWORD);
                    ShowPlayerDialog(playerid, 32, 1, "Register", msg, "OK", "Back");
                    return 0;
                }
                new FirstName[MAX_PLAYER_NAME - 4], LastName[MAX_PLAYER_NAME - 4], FullName[MAX_PLAYER_NAME], msg[128];
                GetPVarString(playerid, "FirstName", FirstName, sizeof(FirstName));
                GetPVarString(playerid, "LastName", LastName, sizeof(LastName));
                format(msg, sizeof(msg), "SERVER: You can now login with username %s_%s.", FirstName, LastName);
                SendClientMessage(playerid, COLOR_WHITE, msg);
                format(FullName, sizeof(FullName), "%s_%s", FirstName, LastName);
                new INI:playerlist = INI_Open("playerlist.ini");
                INI_WriteString(playerlist, FullName, inputtext);
                INI_Close(playerlist);
                SetPlayerName(playerid, FullName);
                SetPVarInt(playerid, "logstatus", 1);
                return 0;
            }
            case 33:{
                if(strlen(inputtext) == 0){
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Wrong password.");
                    ShowPlayerDialog(playerid, 33, 1, "Login", "Please give in your password.", "OK", "");
                    return 0;
                }
                if(strcmp(Password[playerid], inputtext, false) == 0){
                    SetPVarInt(playerid, "logstatus", 1);
                    return 0;
                }
                else{
                    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Wrong password.");
                    ShowPlayerDialog(playerid, 33, 1, "Login", "Please give in your password.", "OK", "");
                    return 0;
                }
            }
        }
    }
    return 0;
}
and the file named playerlist.ini
pawn Код:
Max_Havelaar = mypass
Har_Levis = mypass3
Lead_Admin = mypass67
Reply


Messages In This Thread
How to empty this string? - by Anteino - 24.04.2011, 14:30
Re: How to empty this string? - by playbox12 - 24.04.2011, 14:41
Re: How to empty this string? - by Anteino - 24.04.2011, 15:04
Re: How to empty this string? - by Vince - 24.04.2011, 15:13
Re: How to empty this string? - by Sinner - 24.04.2011, 15:13
Re: How to empty this string? - by playbox12 - 24.04.2011, 15:23
Re: How to empty this string? - by Anteino - 24.04.2011, 15:50
Re: How to empty this string? - by playbox12 - 24.04.2011, 16:08
Re: How to empty this string? - by Anteino - 24.04.2011, 16:31
Re: How to empty this string? - by Anteino - 24.04.2011, 16:51

Forum Jump:


Users browsing this thread: 1 Guest(s)