GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: tudvari - 2012. február 22. - 19:43:56

Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 22. - 19:43:56
Hello,
[pawn]
             for(new i = 0; i < MAX_PLAYERS; i++)
             {
               if(JatekosInfo[Telefon] == teloszam)

               {


                       new telefonom = JatekosInfo[playerid][Telefon];


                    new string[256],string2[256],string3[256];


                    format(string,sizeof(string),\"[sMS] Feladó: %d | Üzenet: %s\",telefonom,szoveg);


                    format(string2,sizeof(string2),\"[sMS] Címzett: %d | Üzenet: %s\",teloszam,szoveg);


                    format(string3,sizeof(string3),\"[sMS] Feladó: %d | Címzett: %d | Üzenet: %s\",telefonom,teloszam,szoveg);


                    SendClientMessage(playerid,SARGA,string2);


                    SendClientMessage(i,SARGA,string);


                    printf(string3);


               }


             }[/pawn]


ez az sms küldõ parancsom,de ha magamnak küldök üzenetet,nem ír ki semmit.Nem tudjátok mi a hiba?
Cím: Nem mûködõ parancs
Írta: Norby - 2012. február 22. - 21:48:41
string3 -at nem íratod ki sehol!
SendClientMessage(i,SARGA,string3);
Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 23. - 13:18:46
de, a végén: printf(string3);
Cím: Nem mûködõ parancs
Írta: Norby - 2012. február 23. - 13:53:18
Sorry nem láttam.
Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 23. - 13:56:08
Semmi baj,de szerintem valahol a for résznél van a hiba,nem is értek hozzá még annyira,és csak összedobtam valamennyire.
Cím: Nem mûködõ parancs
Írta: 1ST_Chr - 2012. február 23. - 14:28:06
Szerintem nem itt van a hiba, hanem korábban. Ha szerinted a ciklussal van a hiba akkor rakd a feltétel elé, hogy printf(\"%d\",i); és nézd meg h a te ID-det írja-e. Esetleg nézd meg h mások tudnak-e neked küldeni...
Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 23. - 15:59:29
de nem ír ki semmit,még a consolba se írja ki a printf-es részt.Vagy lehet , hogy mûködne hogy csak az id-t printf-elném?
Cím: Nem mûködõ parancs
Írta: CANNONN - 2012. február 23. - 16:18:48
Idézetet írta: tudvari date=1330009169\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17379\" data-ipsquote-contentclass=\"forums_Topic
de nem ír ki semmit,még a consolba se írja ki a printf-es részt.Vagy lehet , hogy mûködne hogy csak az id-t printf-elném?
 
Próba-szerencse ;) :D
Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 23. - 16:26:02
Nem ír ki semmit.For-os résznél van a baj.
Cím: Nem mûködõ parancs
Írta: CANNONN - 2012. február 23. - 16:28:38
Amúgy nem nagyon értem minek a for ciklus, ha csak egy embernek szeretnél üzenetet küldeni.
Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 23. - 16:33:15
Nem nagyon értek hozzá,hogy lehet máshogy megoldani,hogy annak az embernek küldje el,akinek ugyan ez a telefonszáma?
Cím: Nem mûködõ parancs
Írta: CANNONN - 2012. február 23. - 16:35:12
Idézetet írta: tudvari date=1330011195\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17379\" data-ipsquote-contentclass=\"forums_Topic
Nem nagyon értek hozzá,hogy lehet máshogy megoldani,hogy annak az embernek küldje el,akinek ugyan ez a telefonszáma?
 
Scriptelés közben rájöttem minek a for ciklus.
Írtam egy parancsot, hátha jó, próbáld meg:
 

CMD:sms(playerid, params[])
{
new telefonom = JatekosInfo[playerid][Telefon];
new string[256],string2[256],string3[256];
if(sscanf(params, \"is\",teloszam,uzenet)) return SendClientMessage(playerid, 0xFF0000AA, \"Használat: /sms [teloszam] [üzenet]\");
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000AA, \"Hiba: Nincs ilyen játékos!\");
format(string,sizeof(string),\"[sMS] Feladó: %d | Üzenet: %s\",telefonom,uzenet);
format(string2,sizeof(string2),\"[sMS] Címzett: %d | Üzenet: %s\",teloszam,uzenet);
format(string3,sizeof(string3),\"[sMS] Feladó: %d | Címzett: %d | Üzenet: %s\",telefonom,teloszam,uzenet);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(JatekosInfo[Telefon] == teloszam)
{
SendClientMessage(playerid,SARGA,string2);
SendClientMessage(i,SARGA,string);
}
}
printf(string3);
return 1;
}
Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 23. - 17:15:45
Ha írok magamnak üzenetet,nem ír ki semmit,de a consoleba kiírja,de ott meg meg a saját számomat 115-nek érzékeli.
Feladó: 8588 Címzett: 115 :D
A feladó telefonszáma helyes de a címzett nem.
Cím: Nem mûködõ parancs
Írta: 1ST_Chr - 2012. február 23. - 17:26:46
Sscanfnál próbáld meg \"is\" helyett a \"ds[ide az uzenet változó méretét]\"-t
Pl: if(sscanf(params, \"ds[80]\",teloszam,uzenet))
Cím: Nem mûködõ parancs
Írta: tudvari - 2012. február 23. - 17:34:26
Összeraktam a dolgokat, és mûködik :D i-t átírtam d-re és már mûködik.
Majd meghatároztam az üzenet hosszát,és így már minden mûködik.
Köszönöm a segítséget :D +1+1+1+1
Egyébként,hátha tudtok segíteni:
LINKLINKLINK