Page 1 of 1
kaip pasidaryti?
Posted: 2011 Jun 01 12:12
by aurimasko
Kaip pasidaryti, kad teisingai atvaizduotų tą ką reikia?
Turiu kodą:
Code: Select all
new vip[33], country[33]new vip2[500]new country2[500] switch(key) { case 1: { vip[id] = 1; } case 2: { vip[id] = 2; } case 3: { vip[id] = 3; } } switch(key) { case 0: { country[id] = 1; check_info(id); } case 1: { country[id] = 2; check_info(id); } } switch(country[id]) { case 1: { country2[400] = "Lietuva"; } case 2: { country2[400] = "Anglija"; } } switch(vip[id]) { case 1: { vip2][400] = "V.I.P Bronze"; } case 2: { vip2[400] = "V.I.P Silver"; } case 3: { vip2[400] = "V.I.P Gold"; } } formatex(opcion, charsmax(opcion), "%L", LANG_PLAYER, "INFO_COUNTRY", country2[]) menu_additem(menu, opcion, "5") formatex(opcion, charsmax(opcion), "%L", LANG_PLAYER, "INFO_STATUS", vip2[]) menu_additem(menu, opcion, "6")
Bet mėto labai daug errorų... žinau kad čia daug klaidų, bet nežinau kaip ištaisyt.
P.S. Šis kodas nėra vienoje funkcijoje, vieni
switch vienoje funkcijoje, kiti - kitoje.
Re: kaip pasidaryti?
Posted: 2011 Jun 01 12:53
by beast
Negali taip priskirt tekstinės eilutės:
country2[400] = "Lietuva"
reikia naudoti copy(country2, charsmax(country2), "Lietuva")
vip2][400]
country2[] -> country2
vip2[] > vip2
Re: kaip pasidaryti?
Posted: 2011 Jun 01 13:11
by aurimasko
beast wrote:Negali taip priskirt tekstinės eilutės:
country2[400] = "Lietuva"
reikia naudoti copy(country2, charsmax(country2), "Lietuva")
vip2][400]
country2[] -> country2
vip2[] > vip2
Code: Select all
static vip2, country2 switch(country[id]) { case 1: { copy(country2, charsmax(country2), "Lietuva"); } case 2: { copy(country2, charsmax(country2), "Anglija"); } } switch(vip[id]) { case 1: { copy(vip2, charsmax(vip2), "V.I.P Bronze"); } case 2: { copy(vip2, charsmax(vip2), "V.I.P Silver"); } case 3: { copy(vip2, charsmax(vip2), "V.I.P Gold"); } }
ir ant
case eilučių meta errorus
argument type mismatch < argument 1 >
Beje o kaip padaryti, kad būtų ne
vip2 ir ne
country2, o
vip2[id] ir
country2[id] ?
Re: kaip pasidaryti?
Posted: 2011 Jun 01 15:15
by aaarnas
vip2[33][400]
country2[33][400]
O klaida dėl to, kad kopijuoji string į integer tipo kintamąjį. country2 turi būti masyvas.
Re: kaip pasidaryti?
Posted: 2011 Jun 02 12:10
by aurimasko
pasidariau
Code: Select all
new vip2[33][400], country2[33][400]
ir meta errorą ant :
Code: Select all
switch(country[id]) { case 1: { copy(country2, charsmax(country2), "Lietuva"); } case 2: { copy(country2, charsmax(country2), "Anglija"); } } switch(vip[id]) { case 1: { copy(vip2, charsmax(vip2), "V.I.P Bronze"); } case 2: { copy(vip2, charsmax(vip2), "V.I.P Silver"); } case 3: { copy(vip2, charsmax(vip2), "V.I.P Gold"); } }
Erroras:
dimensions do not match
Re: kaip pasidaryti?
Posted: 2011 Jun 02 12:49
by beast
Nereikia tau čia dvimačio masyvo daryt. Tiesiog pasidaryk taip ir tiek:
Code: Select all
new vip[33], country[33], vip_str[64], country_str[64] switch(key){ case 1: { vip[id] = 1; } case 2: { vip[id] = 2; } case 3: { vip[id] = 3; }} switch(key){ case 0: { country[id] = 1; check_info(id); } case 1: { country[id] = 2; check_info(id); }} switch(country[id]){ case 1: { copy(country_str, charsmax(country_str), "Lietuva"); } case 2: { copy(country_str, charsmax(country_str), "Anglija"); }} switch(vip[id]){ case 1: { copy(vip_str, charsmax(vip_str), "V.I.P Bronze"); } case 2: { copy(vip_str, charsmax(vip_str), "V.I.P Silver"); } case 3: { copy(vip_str, charsmax(vip_str), "V.I.P Gold"); }} formatex(opcion, charsmax(opcion), "%L", LANG_PLAYER, "INFO_COUNTRY", country_str)menu_additem(menu, opcion, "5") formatex(opcion, charsmax(opcion), "%L", LANG_PLAYER, "INFO_STATUS", vip_str)menu_additem(menu, opcion, "6")
Re: kaip pasidaryti?
Posted: 2011 Jun 02 12:53
by aurimasko
na, bet man reikia, kad kiekvienam žaidėjui generuotų atskirai, nes kaip suprantu, jeigu žaidėjas sau prisikiria šalį Anglija, o ateina kitas ir pasirenka Lietuva, tai tam kuris pasirinko Anglija ką nors paspaudus tai jau rodys nebe Anglija, o Lietuva
Re: kaip pasidaryti?
Posted: 2011 Jun 02 12:56
by aaarnas
Na tai tada taip:
Code: Select all
new vip[33], country[33], vip_str[33][64], country_str[33][64] switch(key){ case 1: { vip[id] = 1; } case 2: { vip[id] = 2; } case 3: { vip[id] = 3; }} switch(key){ case 0: { country[id] = 1; check_info(id); } case 1: { country[id] = 2; check_info(id); }} switch(country[id]){ case 1: { copy(country_str[id], 63, "Lietuva"); } case 2: { copy(country_str[id], 63, "Anglija"); }} switch(vip[id]){ case 1: { copy(vip_str[id], 63, "V.I.P Bronze"); } case 2: { copy(vip_str[id], 63, "V.I.P Silver"); } case 3: { copy(vip_str[id], 63, "V.I.P Gold"); }}
Re: kaip pasidaryti?
Posted: 2011 Jun 02 13:00
by beast
Juk žinutė jau bus suformatuota ir meniu punktas pridėtas. Ir kiekvieną kartą iš naujo iškvietus funkciją, žinutė bus nukopijuojama ir performatuojama pagal country[id] ir vip[id] reikšmes.
Re: kaip pasidaryti?
Posted: 2011 Jun 02 14:08
by aurimasko
beast wrote:Juk žinutė jau bus suformatuota ir meniu punktas pridėtas. Ir kiekvieną kartą iš naujo iškvietus funkciją, žinutė bus nukopijuojama ir performatuojama pagal country[id] ir vip[id] reikšmes.
nu tikrai ;D gerai ačiū, abiem +karma.