Szerző Téma: sscanf gond!  (Megtekintve 547 alkalommal)

sscanf gond!
« Dátum: 2012. május 21. - 17:28:57 »
0 Show voters
Hello.szerveremet csinalom.A cuff (bilincs) paranccsal van gondom.sscanf al csinaltam meg,meg nincs kesz.Minden tokeletesen mukodik,viszont az egy hiba az hogy az uzenet hogy sikeresen lebilincseltem valakit tobbszor is megjelenik.Lehet valamit el rontottam.Ennek az okat keresem es nagyon remelem hogy valaki tud segiteni nekem.Koszonom szepen elore.Ime itt a kod:
 

dcmd_cuff(playerid, params[])
{
    new givepid, str3[100], str4[100], pname[MAX_PLAYER_NAME], rname[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
{
if (sscanf(params, \"i\", givepid)) return SendClientMessage(playerid, 0x00FF00, \"HASZNALAT: /cuff [iD]\");
{
if(pjob[playerid] != rendor) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy rendor!\");
{
if(pjob[givepid] == rendor) return SendClientMessage(playerid, 0x00FF00, \"Ez a jatekos rendor!\");
{
    if(!IsPlayerConnected(givepid)) return SendClientMessage(playerid, 0xFF0000AA, \"Nem talalhato jatekos!\");
{
if(GetPlayerWantedLevel(givepid) == 0) return SendClientMessage(playerid, 0xFF0000AA, \"Artatlan jatekost nem bilincselhetsz le\");
{
if(bilincselve[givepid] == 1) return SendClientMessage(playerid, 0xFF0000AA, \"Ez a jatekos mar le van bilincselve!\");
{
if(GetDistanceBetweenPlayers(playerid, givepid) > 3) return SendClientMessage(playerid, 0x00FF00, \"Nincs jatekos a kozelben\");
{
    GetPlayerName(givepid, pname,sizeof(pname));
    format(str3,sizeof(str3), \"Rendor:%s lebilincselt teged!\", rname);
SendClientMessage(givepid, 0x00FF00AA, str3);
format(str4,sizeof(str4), \"Sikeresen lebilincselted %s-t!\", pname);
SendClientMessage(playerid, 0x00FF00AA, str4);
    SetPlayerAttachedObject(givepid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    SetPlayerSpecialAction(givepid,SPECIAL_ACTION_CUFFED);
    bilincselve[givepid]++;
    }
}
}
}
}
}
}
}
return 1;
}

sscanf gond!
« Válasz #1 Dátum: 2012. május 21. - 17:53:40 »
0 Show voters
Hát azt a for ciklust elég rossz helyre illesztetted be.
Ugyanis ami alatta van {} közt 500-szor ismétlõdik. (ha nincs újra definiálva a MAX_PLAYERS értéke)
Kicsit jobban gondolod át az egészet.

sscanf gond!
« Válasz #2 Dátum: 2012. május 21. - 17:57:44 »
0 Show voters
Most nem ertem.Akkor most a for ciklussal van gond?

sscanf gond!
« Válasz #3 Dátum: 2012. május 21. - 17:28:57 »
0 Show voters
Hello.szerveremet csinalom.A cuff (bilincs) paranccsal van gondom.sscanf al csinaltam meg,meg nincs kesz.Minden tokeletesen mukodik,viszont az egy hiba az hogy az uzenet hogy sikeresen lebilincseltem valakit tobbszor is megjelenik.Lehet valamit el rontottam.Ennek az okat keresem es nagyon remelem hogy valaki tud segiteni nekem.Koszonom szepen elore.Ime itt a kod:
 

dcmd_cuff(playerid, params[])
{
    new givepid, str3[100], str4[100], pname[MAX_PLAYER_NAME], rname[MAX_PLAYER_NAME];
    for(new i = 0; i < MAX_PLAYERS; i++)
{
if (sscanf(params, \"i\", givepid)) return SendClientMessage(playerid, 0x00FF00, \"HASZNALAT: /cuff [iD]\");
{
if(pjob[playerid] != rendor) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy rendor!\");
{
if(pjob[givepid] == rendor) return SendClientMessage(playerid, 0x00FF00, \"Ez a jatekos rendor!\");
{
    if(!IsPlayerConnected(givepid)) return SendClientMessage(playerid, 0xFF0000AA, \"Nem talalhato jatekos!\");
{
if(GetPlayerWantedLevel(givepid) == 0) return SendClientMessage(playerid, 0xFF0000AA, \"Artatlan jatekost nem bilincselhetsz le\");
{
if(bilincselve[givepid] == 1) return SendClientMessage(playerid, 0xFF0000AA, \"Ez a jatekos mar le van bilincselve!\");
{
if(GetDistanceBetweenPlayers(playerid, givepid) > 3) return SendClientMessage(playerid, 0x00FF00, \"Nincs jatekos a kozelben\");
{
    GetPlayerName(givepid, pname,sizeof(pname));
    format(str3,sizeof(str3), \"Rendor:%s lebilincselt teged!\", rname);
SendClientMessage(givepid, 0x00FF00AA, str3);
format(str4,sizeof(str4), \"Sikeresen lebilincselted %s-t!\", pname);
SendClientMessage(playerid, 0x00FF00AA, str4);
    SetPlayerAttachedObject(givepid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    SetPlayerSpecialAction(givepid,SPECIAL_ACTION_CUFFED);
    bilincselve[givepid]++;
    }
}
}
}
}
}
}
}
return 1;
}

sscanf gond!
« Válasz #4 Dátum: 2012. május 21. - 17:53:40 »
0 Show voters
Hát azt a for ciklust elég rossz helyre illesztetted be.
Ugyanis ami alatta van {} közt 500-szor ismétlõdik. (ha nincs újra definiálva a MAX_PLAYERS értéke)
Kicsit jobban gondolod át az egészet.

sscanf gond!
« Válasz #5 Dátum: 2012. május 21. - 17:57:44 »
0 Show voters
Most nem ertem.Akkor most a for ciklussal van gond?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal