kaip pasidaryti?

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

kaip pasidaryti?

Post 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.

User avatar
beast
AMX Mod X ekspertai
Posts: 509
Joined: 2011 Jan 08 18:44
Skype: thefurious4
Contact:

Re: kaip pasidaryti?

Post 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

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: kaip pasidaryti?

Post 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] ?

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: kaip pasidaryti?

Post 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.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: kaip pasidaryti?

Post 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

User avatar
beast
AMX Mod X ekspertai
Posts: 509
Joined: 2011 Jan 08 18:44
Skype: thefurious4
Contact:

Re: kaip pasidaryti?

Post 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")

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: kaip pasidaryti?

Post 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

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: kaip pasidaryti?

Post 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"); }}
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
beast
AMX Mod X ekspertai
Posts: 509
Joined: 2011 Jan 08 18:44
Skype: thefurious4
Contact:

Re: kaip pasidaryti?

Post 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.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: kaip pasidaryti?

Post 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.

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests