Dini Warnings
#1

Код:
C:\Documents and Settings\Joe\Desktop\London Roleplay\gamemodes\londonrp-fromscratch.pwn(129) : warning 213: tag mismatch
C:\Documents and Settings\Joe\Desktop\London Roleplay\gamemodes\londonrp-fromscratch.pwn(130) : warning 213: tag mismatch
C:\Documents and Settings\Joe\Desktop\London Roleplay\gamemodes\londonrp-fromscratch.pwn(131) : warning 213: tag mismatch
C:\Documents and Settings\Joe\Desktop\London Roleplay\gamemodes\londonrp-fromscratch.pwn(381) : warning 213: tag mismatch
C:\Documents and Settings\Joe\Desktop\London Roleplay\gamemodes\londonrp-fromscratch.pwn(382) : warning 213: tag mismatch
C:\Documents and Settings\Joe\Desktop\London Roleplay\gamemodes\londonrp-fromscratch.pwn(383) : warning 213: tag mismatch
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


6 Warnings.
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    GetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
    PlayerInfo[playerid][pInterior] = GetPlayerInterior(playerid);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]);
        dini_IntSet(file, "Level",PlayerInfo[playerid][pLevel]);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdmin]);
        dini_IntSet(file, "Skin",PlayerInfo[playerid][pSkin]);
        dini_IntSet(file, "Gender",PlayerInfo[playerid][pGender]);
        dini_IntSet(file, "Age",PlayerInfo[playerid][pAge]);
        dini_IntSet(file, "Origin",PlayerInfo[playerid][pOrigin]);
        dini_IntSet(file, "Interior",PlayerInfo[playerid][pInterior]);
        dini_IntSet(file, "PosX",PlayerInfo[playerid][pPosX]); // 129
        dini_IntSet(file, "PosY",PlayerInfo[playerid][pPosY]); // 130
        dini_IntSet(file, "PosZ",PlayerInfo[playerid][pPosZ]); // 131
       
    }
    gPlayerLogged[playerid] = 0;
    return 1;
}

pawn Код:
if (dialogid == 1)
        {
            new name[MAX_PLAYER_NAME], file[256], string[128];
            GetPlayerName(playerid, name, sizeof(name));
            format(file, sizeof(file), SERVER_USER_FILE, name);
            if(!response) return Kick(playerid);
            if (!strlen(inputtext)) return
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registration", "Welcome to London Roleplay, Please enter a password below to register.", "Register", "Leave");
            dini_Create(file);
            dini_IntSet(file, "Password", udb_hash(inputtext));
            dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdmin] = 0);
            dini_IntSet(file, "Level",PlayerInfo[playerid][pLevel] = 1);
            dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 500);
            dini_IntSet(file, "Tut",PlayerInfo[playerid][pTut] = 0);
            dini_IntSet(file, "Interior",PlayerInfo[playerid][pInterior] = 1);
            dini_IntSet(file, "PosX",PlayerInfo[playerid][pPosX] = 1.808619); // 381
            dini_IntSet(file, "PosY",PlayerInfo[playerid][pPosY] = 32.384357); // 382
            dini_IntSet(file, "PosZ",PlayerInfo[playerid][pPosZ] = 1199.593750); // 383
            format(string, 128, "You succesfully registered the nickname %s, password %s. You have automatically been logged in.", name, inputtext);
            SendClientMessage(playerid, COLOR_WHITE, string);
            gPlayerLogged[playerid] = 1;
        }
Reply
#2

You should really use dini_set (which means string) for coords, and than use floatstr() to make a float from the string again, otherwise, which means using integer for floats, it will fail like hell:

Here you got good code though:
pawn Код:
new Float:coordx, Float:coordy, Float:coordz;
coordx = floatstr(PlayerInfo[playerid][pPosX]);
coordy = floatstr(PlayerInfo[playerid][pPosY]);
coordz = floatstr(PlayerInfo[playerid][pPosZ]);
GetPlayerPos(playerid, coordx, coordy, coordz);
best regards
Reply
#3

pawn Код:
dini_FloatSet(file, "PosX",PlayerInfo[playerid][pPosX]); // 129
dini_FloatSet(file, "PosY",PlayerInfo[playerid][pPosY]); // 130
dini_FloatSet(file, "PosZ",PlayerInfo[playerid][pPosZ]); // 131
pawn Код:
dini_FloatSet(file, "PosX",PlayerInfo[playerid][pPosX] = 1.808619); // 381
dini_FloatSet(file, "PosY",PlayerInfo[playerid][pPosY] = 32.384357); // 382
dini_FloatSet(file, "PosZ",PlayerInfo[playerid][pPosZ] = 1199.593750); // 383
You have used dini_IntSet, which means you set an Integer. But as the 1199.59 is a Float, you have to use dini_FloatSet. Easy eh^^.

Greetz!
Reply
#4

OMG, i am stupid
i didn't even know there was a dini_FloatSet
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)