Wysłany: 2012-09-13, 09:41
DMN
Wiek: 33 Na forum: 5015 dni Posty: 15
Piwa : 17
Witam ponownie. Utworzy?em public odpowiedzialny za tworzenie pliku .ini, plik ?adnie si? tworzy niestety brak mu tre?ci. Na czym mo?e polega? b??d?
Kod: public OnPlayerRegister(playerid, password[])
{
new name[20], string[20], key[20];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "Accounts/%s.ini", name);
format(key, sizeof(key), "Brak");
if(IsPlayerConnected(playerid))
{
DOF_CreateFile(string);
DOF_SetString(string, "Password", password);
DOF_SetString(string, "Name", key);
DOF_SetInt(string, "Admin", 0);
DOF_SetInt(string, "UID", 0);
DOF_SetInt(string, "Cash", START_CASH);
DOF_SetFloat(string, "Health", 100.0);
DOF_SetString(string, "Origin", key);
DOF_SetInt(string, "Sex", 0);
DOF_SetInt(string, "Age", 0);
DOF_SetFloat(string, "Pos_x", 0.0);
DOF_SetFloat(string, "Pos_y", 0.0);
DOF_SetFloat(string, "Pos_z", 0.0);
DOF_SetFloat(string, "Angle", 0.0);
DOF_SetInt(string, "World", 0);
DOF_SetInt(string, "Interior", 0);
DOF_SetInt(string, "Skin", 6);
DOF_SaveFile(string);
}
return 1;
}
/\ Poradzi?em sobie, mam inne pytanie odno?nie tablicy.
Zrobi?em tak? tablic?:
Kod: new CountryNames[][] =
{
{"Albania",}, {"Arabia Saudyjska",}, {"Argentyna",}
};
Chcia?bym, aby podczas rejestracji, przy wyborze pochodzenia warunkiem by?o podanie kt?rego? z wpisanych Pa?stw.
Kod: if(strlen(inputtext) != strlen(CountryNames[1]))
{
FAQ(playerid, "Niepoprawna nazwa pa?stwa!");
ShowPlayerDialog(playerid, DIALOG_SETORIGIN, DIALOG_STYLE_INPUT, "Rejestracja, krok #2", "Wymie? kraj, z kt?rego pochodzi twoja posta? (z du?ej litery):", "Wybierz", "");
return 1;
}
Problem polega na tym, ?e nie mam poj?cia co wpisa? w CountryNames[1] w miejsce '1' aby sprawdzi?o wszystkie dost?pne nazwy, a nie tylko t? na pozycji pierwszej.
Wysłany: 2012-09-13, 13:17
Toskan
Wiek: 40 Na forum: 5013 dni Posty: 4
Piwa : 47
Kod:
new poprawna = -1;
for (new i=0; i < sizeof(CountryNames) && poprawna == -1; i++)
{
if (strcmp(inputtext, CountryNames[i], true) == 0) poprawna = i;
}
if (poprawna == -1)
{
//podal zle panstwo;
return 1;
}
//podal dobre panstwo i CountryNames[poprawna] - panstwo ktore wybral
Tak w petli mozesz sprawdzic wszystkie CountryNames.
Ostatnio zmieniony przez Toskan 2012-09-13, 14:32, w całości zmieniany 2 razy
Wysłany: 2012-09-13, 13:22
DMN
Wiek: 33 Na forum: 5015 dni Posty: 15
Piwa : 17
Aha, je?li dodam break; to jak znajdzie to zatrzyma p?tl? i to wszystko tak?
Wysłany: 2012-09-13, 13:35
Toskan
Wiek: 40 Na forum: 5013 dni Posty: 4
Piwa : 47
Nie musisz dawa? break bo w warunku p?tli jest "i < sizeof(CountryNames) && poprawna == -1" - wi?c wykonuje si? dop?ki poprawna jest r?wna -1.
Tagi: tablica
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: