nvault zapis wielu zmiennych
Najlepsza odpowiedź GwynBleidD 09.03.2014 14:54
;o 50 wartości?
format( vd,255,"%i %i %i %i %i %i %i\ %i %i %i %i %i %i %i", Q1, Q2, Q3, Q4, Q5, Q6, Q7 )
Nie musi być wszystko w jednej linii. Nie pamiętam tylko nigdy czy stringi w PAWNie przełamuje się znakiem \ czy ^, jeśli tak nie zadziała, to spróbuj zamienić na ^. I zmień na nazwy, które coś komuś mówią, a nie Q1, MQ itp. Możesz sobie nawet pieprznąć "czy_baba_jaga_wstala_lewa_noga", jeśli taką informację musisz zapisać. Nazwa może być dłuższa, a w kodzie nie będziesz się sam gubił (ani nikt inny).
Przejdź do postu
Kmf!p
09.03.2014
new Q0[33], Q1[33], Q2[33], Q3[33], Q4[33], Q5[33], Q6[33], Q7[33], Q8[33], Q9[33], Q10[33], Q11[33], Q12[33], Q13[33], Q14[33], Q15[33], Q16[33], Q17[33], Q18[33], Q19[33], Q20[33], Q21[33], Q22[33], Q23[33], Q24[33], Q25[33], Q26[33], Q27[33], Q28[33], Q29[33], Q30[33], Q31[33], Q32[33], Q33[33], Q34[33], Q35[33], Q36[33], Q37[33], Q38[33], Q39[33], Q40[33], Q41[33], Q42[33], Q43[33], Q44[33], Q45[33], Q46[33], Q47[33], Q48[33]; public SaveQuest(id) { new vaultkey[35], vd[256]; get_user_name(id,vaultkey,charsmax(vaultkey)); format(vd,255,"%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i",MQ[id],Q0[id],Q1[id],Q2[id],Q3[id],Q4[id],Q5[id],Q6[id],Q7[id],Q8[id],Q9[id],Q10[id],Q11[id],Q12[id],Q13[id],Q14[id],Q15[id],Q16[id],Q17[id],Q18[id],Q19[id],Q20[id],Q21[id],Q22[id],Q23[id],Q24[id],Q25[id],Q26[id],Q27[id],Q28[id],Q29[id],Q30[id],Q31[id],Q32[id],Q33[id],Q34[id],Q35[id],Q36[id],Q37[id],Q38[id],Q39[id],Q40[id],Q41[id],Q42[id],Q43[id],Q44[id],Q45[id],Q46[id],Q47[id],Q48[id]); nvault_set(vault, vaultkey, vd); return PLUGIN_CONTINUE; } public LoadQuest(id) { new vaultkey[35], vd[256]; get_user_name(id,vaultkey,charsmax(vaultkey)); nvault_get(vault, vaultkey, vd,255); new mq[32], q0[32], q1[32], q2[32], q3[32], q4[32], q5[32], q6[32], q7[32], q8[32], q9[32], q10[32], q11[32], q12[32], q13[32], q14[32], q15[32], q16[32], q17[32], q18[32], q19[32], q20[32], q21[32], q22[32], q23[32], q24[32], q25[32], q26[32], q27[32], q28[32], q29[32], q30[32], q31[32], q32[32], q33[32], q34[32], q35[32], q36[32], q37[32], q38[32], q39[32], q40[32], q41[32], q42[32], q43[32], q44[32], q45[32], q46[32], q47[32], q48[32]; parse(vd, mq, 31, q0, 31, q1, 31, q2, 31, q3, 31, q4, 31, q5, 31, q6, 31, q7, 31, q8, 31, q9, 31, q10, 31, q11, 31, q12, 31, q13, 31, q14, 31, q15, 31, q16, 31, q17, 31, q18, 31, q19, 31, q20, 31, q21, 31, q22, 31, q23, 31, q24, 31, q25, 31, q26, 31, q27, 31, q28, 31, q29, 31, q30, 31, q31, 31, q32, 31, q33, 31, q34, 31, q35, 31, q36, 31, q37, 31, q38, 31, q39, 31, q40, 31, q41, 31, q42, 31, q43, 31, q44, 31, q45, 31, q46, 31, q47, 31, q48, 31); MQ[id] = str_to_num(mq); Q0[id] = str_to_num(q0); Q1[id] = str_to_num(q1); Q2[id] = str_to_num(q2); Q3[id] = str_to_num(q3); Q4[id] = str_to_num(q4); Q5[id] = str_to_num(q5); Q6[id] = str_to_num(q6); Q7[id] = str_to_num(q7); Q8[id] = str_to_num(q8); Q9[id] = str_to_num(q9); Q10[id] = str_to_num(q10); Q11[id] = str_to_num(q11); Q12[id] = str_to_num(q12); Q13[id] = str_to_num(q13); Q14[id] = str_to_num(q14); Q15[id] = str_to_num(q15); Q16[id] = str_to_num(q16); Q17[id] = str_to_num(q17); Q18[id] = str_to_num(q18); Q19[id] = str_to_num(q19); Q20[id] = str_to_num(q20); Q21[id] = str_to_num(q21); Q22[id] = str_to_num(q22); Q23[id] = str_to_num(q23); Q24[id] = str_to_num(q24); Q25[id] = str_to_num(q25); Q26[id] = str_to_num(q26); Q27[id] = str_to_num(q27); Q28[id] = str_to_num(q28); Q29[id] = str_to_num(q29); Q30[id] = str_to_num(q30); Q31[id] = str_to_num(q31); Q32[id] = str_to_num(q32); Q33[id] = str_to_num(q33); Q34[id] = str_to_num(q34); Q35[id] = str_to_num(q35); Q36[id] = str_to_num(q36); Q37[id] = str_to_num(q37); Q38[id] = str_to_num(q38); Q39[id] = str_to_num(q39); Q40[id] = str_to_num(q40); Q41[id] = str_to_num(q41); Q42[id] = str_to_num(q42); Q43[id] = str_to_num(q43); Q44[id] = str_to_num(q44); Q45[id] = str_to_num(q45); Q46[id] = str_to_num(q46); Q47[id] = str_to_num(q47); Q48[id] = str_to_num(q48); return PLUGIN_CONTINUE; }
Najlepsza odpowiedź
GwynBleidD
09.03.2014
;o 50 wartości?
format( vd,255,"%i %i %i %i %i %i %i\ %i %i %i %i %i %i %i", Q1, Q2, Q3, Q4, Q5, Q6, Q7 )
Nie musi być wszystko w jednej linii. Nie pamiętam tylko nigdy czy stringi w PAWNie przełamuje się znakiem \ czy ^, jeśli tak nie zadziała, to spróbuj zamienić na ^. I zmień na nazwy, które coś komuś mówią, a nie Q1, MQ itp. Możesz sobie nawet pieprznąć "czy_baba_jaga_wstala_lewa_noga", jeśli taką informację musisz zapisać. Nazwa może być dłuższa, a w kodzie nie będziesz się sam gubił (ani nikt inny).
Kmf!p
09.03.2014
ja wiem o co chodzi z tymi nazwami byly dluzsze ale myslalem ze zmieszcze 50 wartosci skracajac nazwy ale nie udalo sie.
wlasnie chodzi o ta linijke bo jest zbyt dluga
znalazlem cos takiego jak to uzyc?
Maksymalna długość stringu w PAWN to 498, teksty dłuższe będą powodować błąd
error 075: input line too long (after substitutions)
By go ominąć należy podzielić string na teksty długości 498 lub mniejsze (byle jak, nie muszą być dzielone tam gdzie spacje itp. pamiętaj też by nie przedzielać znaków z backslashem '\' )
By to ominąć można użyć przykładu z format lub użyć funkcji strcat:
new xyz[500]; strcat(xyz, "tekst pierwszy 498"); strcat(xyz, "tekst drugi 498"); strcat(xyz, "itd.");
jak by to wygladalo dla format bo nie dziala mi z tym \ i ^
format(vd,255,"%i %i %i %i %i %i %i %i %i %i %i" |tu podzielic o ile mozna|,MQ[id],Q0[id],Q1[id],Q2[id],Q3[id],Q4[id],Q5[id],Q6[id],Q7[id],Q8[id],Q9[id],Q10[id]);
Użytkownik Kmf!p edytował ten post 09.03.2014 15:23
Kmf!p
09.03.2014
ale to proste
wystarczy kliknac enter tam gdzie chcemy przedzielic i sie kompiluje.
zobacze tylko czy problemow nie bedzie na serwie i pozniej dam znac.
Użytkownik Kmf!p edytował ten post 09.03.2014 15:47
Kmf!p
14.03.2014
ok dziala. musialem tylko do tego zapisu dodac nick gracza bo jak ktos zmienil nick na serwerze to sie resetowal zapis mozna zamknac.