Szerző Téma: CP Keveredés  (Megtekintve 1600 alkalommal)

CP Keveredés
« Dátum: 2013. Augusztus 22. - 14:43:42 »
0 Show voters
Ü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:
« Utoljára szerkesztve: 2013. Augusztus 22. - 19:08:08 írta ninjo98 »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
CP Keveredés
« Válasz #1 Dátum: 2013. Augusztus 22. - 21:01:31 »
0 Show voters
Idézetet írta: ninjo98 date=1377175422\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41694\" data-ipsquote-contentclass=\"forums_Topic

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]++;

CP Keveredés
« Válasz #2 Dátum: 2013. Augusztus 22. - 21:38:12 »
0 Show voters
Idézetet írta: BoOy date=1377198091\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41694\" data-ipsquote-contentclass=\"forums_Topic


UttJob[playerid] = 1;
helyett:
UttJon[playerid]++;

 



Uttjon[playerid]++;
helyett nem:
Uttjob[playerd]++;
? :D

CP Keveredés
« Válasz #3 Dátum: 2013. Augusztus 22. - 22:15:45 »
0 Show voters
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!
« Utoljára szerkesztve: 2013. Augusztus 22. - 22:22:21 írta Bloody44 »

CP Keveredés
« Válasz #4 Dátum: 2013. Augusztus 22. - 22:16:41 »
0 Show voters
Tobbszor ujracsinaltam ... :/ de ezt a ++ megoldast nem ismertem de az az erdekes hogy a tobbi munka mindig az elsohelyen levo munkaval keveredik ossze :/

CP Keveredés
« Válasz #5 Dátum: 2013. Augusztus 22. - 22:30:44 »
0 Show voters
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){ ........

CP Keveredés
« Válasz #6 Dátum: 2013. Augusztus 22. - 22:44:58 »
0 Show voters
Es hogy oldjam meg hogy egyidoben tobb is megjelenitheto legyen ?? Es meg mindig kicsit homalyos a hiba  :wall:

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
CP Keveredés
« Válasz #7 Dátum: 2013. Augusztus 22. - 23:03:34 »
0 Show voters
õõ olyat azt hiszem nem lehet :(..

CP Keveredés
« Válasz #8 Dátum: 2013. Augusztus 22. - 23:07:45 »
0 Show voters
Es most akkor hogy csinaljak munka fst mert mostmar vegkepp semmi otletem :( valaki ismer valamilyen megvalositasi dolgot ???

CP Keveredés
« Válasz #9 Dátum: 2013. Augusztus 22. - 23:34:26 »
0 Show voters
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

CP Keveredés
« Válasz #10 Dátum: 2013. Augusztus 22. - 23:37:26 »
0 Show voters
Ha nem latnad ezen vagyok  :wall: csak a cpk kivitelezese fuccsolt be es nem tudom hogy folytassam erre kertem segitseget :tantrum:

CP Keveredés
« Válasz #11 Dátum: 2013. Augusztus 22. - 23:49:33 »
0 Show voters
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

CP Keveredés
« Válasz #12 Dátum: 2013. Augusztus 22. - 23:54:09 »
0 Show voters
Mert gyors kivettem a parancsot es lemaradt a lezaras de nyugodj meg az fsbe benne van .......

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
CP Keveredés
« Válasz #13 Dátum: 2013. Augusztus 23. - 23:55:24 »
+2 Show voters
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;
}

CP Keveredés
« Válasz #14 Dátum: 2013. Augusztus 24. - 14:21:32 »
0 Show voters
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
    };

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal