-
Üdv!
Csinálgatok egy munka fs-t...
Elkezdem a munkát a megszokott parancsal mikor elõször csinálom meg a 2 munkát minden tökéletesen mûködik, mikor másodjára próbálom a cp-k teljesen egymásba keverednek azaz mikor kukás vagyok uttisztito cp-k jelennek meg ez miért van? :shurg:
new UttJob[MAX_PLAYERS];
new KukaJob[MAX_PLAYERS];
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/munka\",cmdtext))
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2102.7422,-1804.0856,13.5547))
{
KukaJob[playerid] = 1;
SetPlayerCheckpoint(playerid,1843.8240,-1306.3604,13.3899,3);
}
if(IsPlayerInRangeOfPoint(playerid, 5.0, 1939.0388,2155.0005,10.8203))
{
UttJob[playerid] = 1;
SetPlayerCheckpoint(playerid,1927.9983,2163.2249,10.6719,3);
}
public OnPlayerEnterCheckpoint(playerid)
{
if(UttJob[playerid] == 1){
UttJob[playerid] = 2;
SetPlayerCheckpoint(playerid,1927.9983,2163.2249,10.6719,3);
return 1;
}
if(UttJob[playerid] == 2){
UttJob[playerid] = 3;
SetPlayerCheckpoint(playerid,1866.2133,2173.1252,10.6719,3);
return 1;
}
if(UttJob[playerid] == 3){
UttJob[playerid] = 4;
SetPlayerCheckpoint(playerid,1739.3602,2173.3799,10.6935,3);
return 1;
}
if(UttJob[playerid] == 4){
UttJob[playerid] = 5;
SetPlayerCheckpoint(playerid,1707.4702,2136.3660,10.6719,3);
return 1;
}
if(UttJob[playerid] == 5){
UttJob[playerid] = 0;
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,5000);
return 1;
}
//=======================================================================================//
//=======================================================================================//
//=======================================================================================//
//=======================================================================================//
if(KukaJob[playerid] == 1){
KukaJob[playerid] = 2;
SetPlayerCheckpoint(playerid,1843.8240,-1306.3604,13.3899,3);
return 1;
}
if(KukaJob[playerid] == 2){
KukaJob[playerid] = 3;
SetPlayerCheckpoint(playerid,1742.1877,-1302.0734,13.4688,3);
return 1;
}
if(KukaJob[playerid] == 3){
KukaJob[playerid] = 4;
SetPlayerCheckpoint(playerid,1612.0052,-1317.0580,17.2955,3);
return 1;
}
if(KukaJob[playerid] == 4){
KukaJob[playerid] = 5;
SetPlayerCheckpoint(playerid,1641.9424,-1438.4219,13.3828,3);
return 1;
}
if(KukaJob[playerid] == 5){
KukaJob[playerid] = 0;
DisablePlayerCheckpoint(playerid);
GivePlayerMoney(playerid,5000);
return 1;
}
return 1;
}
Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 22. - 19:08:08 )
Az esetleg nem lehet jogy valamit rosszul zártam le és azért keveredik? :hmmm:
-
Dupla hozzászólás automatikusan összefûzve. ( 2013. augusztus 22. - 19:08:08 )
Az esetleg nem lehet jogy valamit rosszul zártam le és azért keveredik? :hmmm:
a-a az nem lehet, talán összekeverted a kordinátákat! :) próbáld meg újra felvenni ingame-ben is és a skzriptben-is.
U.I: Egyszerûbb lenne a ++ megoldás ha az étékeket eggyel feljebb akarod tenni mindig.
UttJob[playerid] = 1;
helyett:
UttJon[playerid]++;
-
UttJob[playerid] = 1;
helyett:
UttJon[playerid]++;
Uttjon[playerid]++;
helyett nem:
Uttjob[playerd]++;
? :D
-
Megtaláltam :D
if(UttJob[playerid] == 5)
{
UttJob[playerid] = 0; // ITT A BAJ :)
}
A változóval van a gond.. mégpedig:
A végénél 0-ra teszed, és ez hiba.. miért? Mert a lekérdezésednél 1-rõl indulnak a dolgok...
if(UttJob[playerid] == 1) //Ha ez 1.. és a változód 0.. akkor
//össze fog keveredni, a
{ //munkavégzésnél..
UttJob[playerid] = 2;
}
Megoldás: az 5.cp-nél az \"UttJob = 0\"-t áttenni 1-re ;)
Mért? Mert ha 0-van .. és 1-rõl indul.. nem stimt :D
Edit: Ugyan ez a kuka job-nál, és a többinél is!
-
Tobbszor ujracsinaltam ... :/ de ezt a ++ megoldast nem ismertem de az az erdekes hogy a tobbi munka mindig az elsohelyen levo munkaval keveredik ossze :/
-
Nem lehet túl bonyolult a hiba, csak a logikáját nem érted.
Használj információ megjelenítést (hiba keresést / debug) hogy lásd mi történik a szkriptedben és az alapján talán rájössz mi a hiba és talán ki is tudod javítani.
Egyébként elég nehéz sõt szinte lehetetlen kettõ munkát elvállalni egyszerre mivel csak egy checkpoint jeleníthetõ meg egy idõben.
public OnPlayerEnterCheckpoint(playerid)
{
new
str[128];
format(str, sizeof str, \"Út: %d, Kuka: %D\", UttJob[playerid], KukaJob[playerid]);
SendClientMessage(playerid, -1, str);
if(UttJob[playerid] == 1){ ........
-
Es hogy oldjam meg hogy egyidoben tobb is megjelenitheto legyen ?? Es meg mindig kicsit homalyos a hiba :wall:
-
õõ olyat azt hiszem nem lehet :(..
-
Es most akkor hogy csinaljak munka fst mert mostmar vegkepp semmi otletem :( valaki ismer valamilyen megvalositasi dolgot ???
-
mi az hogy hogy csinálj? ..
itt van pl egy ötlet valaki beír egy parancsot az elteleportálja kocsikhoz és megjelenít egy cpt belemegy abba az adott cpbe megjeleníti a másikat.. stbstb
-
Ha nem latnad ezen vagyok :wall: csak a cpk kivitelezese fuccsolt be es nem tudom hogy folytassam erre kertem segitseget :tantrum:
-
próbáld meg úgy hogy ne lehessen egyszerre mind a kettõt felvenni valamint akkor se lehessen ha már épp munkában van.
valamint nullázás
CMD:felmond(playerid,params[]) {
KukaJob = 0;
UttJob = 0;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid,-1,\"Felmondtál\");
return 1;
}
valamint... ez most komoly????
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/munka\",cmdtext))
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2102.7422,-1804.0856,13.5547))
{
KukaJob[playerid] = 1;
SetPlayerCheckpoint(playerid,1843.8240,-1306.3604,13.3899,3);
}
if(IsPlayerInRangeOfPoint(playerid, 5.0, 1939.0388,2155.0005,10.8203))
{
UttJob[playerid] = 1;
SetPlayerCheckpoint(playerid,1927.9983,2163.2249,10.6719,3);
}
public OnPlayerEnterCheckpoint(playerid)
itt hol van valamilyen lezárás??:O csoda hogy nemkaptál errort
-
Mert gyors kivettem a parancsot es lemaradt a lezaras de nyugodj meg az fsbe benne van .......
-
new UtCP[][] =
{
//Ezeket majd írd át.
{x,y,z}, // Elsõ út CP
{x,y,z}, //Második út CP
{x,y,z} //Harmadik út CP
};
new KukaCP[][] =
{
{x,y,z}, // Elsõ kuka CP
{x,y,z}, //Második kuka CP
{x,y,z} //Harmadik kuka CP
};
new UttJob[MAX_PLAYERS];
new KukaJob[MAX_PLAYERS];
CMD:munka(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, 2102.7422,-1804.0856,13.5547))
{
KukaJob[playerid] = 1;
SetPlayerCheckpoint(playerid,KukaCP[KukaJob[playerid]-1][0],KukaCP[KukaJob[playerid]-1][1],KukaCP[KukaJob[playerid]-1][2],3);
SendClientMessage(playerid,-1,\"Gratulálunk! Elkezdted az kukás munkát!\");
}
else if(IsPlayerInRangeOfPoint(playerid, 5.0, 1939.0388,2155.0005,10.8203))
{
UttJob[playerid] = 1;
SetPlayerCheckpoint(playerid,UtCP[uttJob[playerid]-1][0],UtCP[uttJob[playerid]-1][1],UtCP[uttJob[playerid]-1][2],3);
SendClientMessage(playerid,-1,\"Gratulálunk! Elkezdted az úttisztitó munkát!\");
}
else return SendClientMessage(playerid,-1,\"Nem vagy munkahelynél\");
return 1;
}
CMD:felmond(playerid)
{
if(UttJob[playerid] != 0)
{
SendClientMessage(playerid,-1,\"Felmondtál az úttisztító munkából!\");
UttJob[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
if(KukaJob[playerid] != 0)
{
SendClientMessage(playerid,-1,\"Felmondtál a kukás munkából!\");
UttJob[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
switch(UttJob[playerid])
{
case 1:
{
SetPlayerCheckpoint(playerid,UtCP[uttJob[playerid]-1][0],UtCP[uttJob[playerid]-1][1],UtCP[uttJob[playerid]-1][2],3);
UttJob[playerid]++;
}
case 2:
{
SetPlayerCheckpoint(playerid,UtCP[uttJob[playerid]-1][0],UtCP[uttJob[playerid]-1][1],UtCP[uttJob[playerid]-1][2],3);
UttJob[playerid]++;
}
case 3:
{
UttJob[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
}
switch(KukaJob[playerid])
{
case 1:
{
SetPlayerCheckpoint(playerid,KukaCP[KukaJob[playerid]-1][0],KukaCP[KukaJob[playerid]-1][1],KukaCP[KukaJob[playerid]-1][2],3);
KukaJob[playerid]++;
}
case 2:
{
SetPlayerCheckpoint(playerid,KukaCP[KukaJob[playerid]-1][0],KukaCP[KukaJob[playerid]-1][1],KukaCP[KukaJob[playerid]-1][2],3);
KukaJob[playerid]++;
}
case 1:
{
KukaJob[playerid] == 0;
DisablePlayerCheckpoint(playerid);
}
}
return 1;
}
-
Jó csak Warningokat ír és nem tudom miért...
Hibák:
D:\\SZERVER\\filterscripts\\levelsystem.pwn(10) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(10) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(10) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(11) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(11) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(11) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(12) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(12) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(12) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(16) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(16) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(16) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(17) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(17) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(17) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(18) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(18) : warning 213: tag mismatch
D:\\SZERVER\\filterscripts\\levelsystem.pwn(18) : warning 213: tag mismatch
Hibásnak vélt sorok..
new UtCP[][] =
{
//Ezeket majd írd át.
{1927.9983,2163.2249,10.6719}, // Elsõ út CP
{1866.2133,2173.1252,10.6719}, //Második út CP
{1739.3602,2173.3799,10.6935} //Harmadik út CP
};
new KukaCP[][] =
{
{1935.5259,-1885.7679,13.5344}, // Elsõ kuka CP
{1846.3779,-1886.4840,13.4317}, //Második kuka CP
{1878.2389,-1737.6797,13.3552} //Harmadik kuka CP
};
-
bocsi, javítsd ki erre:
new Float:UtCP[][] =
{
//Ezeket majd írd át.
{1927.9983,2163.2249,10.6719}, // Elsõ út CP
{1866.2133,2173.1252,10.6719}, //Második út CP
{1739.3602,2173.3799,10.6935} //Harmadik út CP
};
new Float:KukaCP[][] =
{
{1935.5259,-1885.7679,13.5344}, // Elsõ kuka CP
{1846.3779,-1886.4840,13.4317}, //Második kuka CP
{1878.2389,-1737.6797,13.3552} //Harmadik kuka CP
};
-
Végre minden mûködik... :thumbsup:
Köszönöm