Szerző Téma: Más embernek dolog adása  (Megtekintve 1285 alkalommal)

Más embernek dolog adása
« Dátum: 2012. június 19. - 20:17:28 »
0 Show voters
Üdv mindenkinek! Már félek ide írni :D Mostanában sokat kérek segítséget, de az a gond, hogy magamtól ezt nem tudom megtanulni és szükséges lenne... Azt szeretném megkérdezni, hogy, hogy tudok olyan parancsokat írni, amivel egy megadott ID-re adsz dolgot!pl /adpénz [playerid] [összeg]...De most nem a parancs számítana, hanem az, hogy aki segít az próbálja velem megértetni :D Mert ezeket nem bírom megérteni...Van egy ilyen parancsom, hogy:
 
CMD:adfegyver(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\");
new target,weaponid,tolteny,str[200];
if(sscanf(params,\"ddd\",target,weaponid,tolteny)) return SendClientMessage(playerid,0xFFFF00AA,\"Használat : /adfegyver [iD] [Fegyverid][Tölteny]\");
if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid,0xAA3333AA,\"Csak 1-46 közt lehetnek a fegyverek!\");
format(str,sizeof(str),\"Fegyvert adtál neki : %s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny);
SendClientMessage(playerid,0xFFFF00AA,str);
format(str,sizeof(str),\"Fegyvert kaptál tõle : %s\",pName(playerid));
SendClientMessage(target,0xFFFF00AA,str);
GivePlayerWeapon(target,weaponid,tolteny);
return 1;
}

 
Ezt sem értem, hogy miért így és hogyan... Aki segítene, hogy megértsem ezt a dolgot, annak köszönöm!

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
Más embernek dolog adása
« Válasz #1 Dátum: 2012. június 19. - 20:25:01 »
+1 Show voters
Magyarázat kell?
 
CMD:adfegyver(playerid,params[]) // maga a parancs
    { // nyitás
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,5,\"Nem vagy RCON ADMIN !\"); // ha nem admin nem használhatja
    new target,weaponid,tolteny,str[200]; // változók
    if(sscanf(params,\"ddd\",target,weaponid,tolteny)) return SendClientMessage(playerid,0xFFFF00AA,\"Használat : /adfegyver [iD] [Fegyverid][Tölteny]\"); // sscanf = Ha csak annyit ír be: /adfegyver akkor kiírjuk a használatát (bõvebben a leírásokban)
    if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid,0xAA3333AA,\"Csak 1-46 közt lehetnek a fegyverek!\"); // ha nem 1-46-ig van a fegyverid akkor nem használhatja
    format(str,sizeof(str),\"Fegyvert adtál neki : %s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny); // üzenet formázás
    SendClientMessage(playerid,0xFFFF00AA,str); // üzenet elküldése
    format(str,sizeof(str),\"Fegyvert kaptál tõle : %s\",pName(playerid)); // formázás
    SendClientMessage(target,0xFFFF00AA,str); // elküldés
    GivePlayerWeapon(target,weaponid,tolteny); // fegyver adás a beírt id-nek
    return 1; // visszatérés
    } // lezárás

 
a new target az a játékos akinek adjuk a fegyvert.

Más embernek dolog adása
« Válasz #2 Dátum: 2012. június 19. - 20:37:49 »
0 Show voters
Köszönöm, adnám a +-t de nem tudom, hogy kell...Ha leírod adom, a témát még nem zárom le, mert még lehet írok, csak most megpróbálkozok egy saját iesmi scriptel.

Nem elérhető zeteni

  • 1970
  • Ex-Scripter
    • Profil megtekintése
Más embernek dolog adása
« Válasz #3 Dátum: 2012. június 19. - 20:38:42 »
0 Show voters
Amúgy rosszul van csinálva. Mert így úgy fog mûködni, hogyha a játékos NEM admin akkor használni tudja Tehát így a helyes:
 
if(IsPlayerAdmin(playeridÖÖ return SendClientMessage(playerid, -1, \"Nem vagy RCON admin!\");

 
Amúgy van egy kis felfele mutató kéz arra katt úgy tudsz +adni

Más embernek dolog adása
« Válasz #4 Dátum: 2012. június 19. - 20:55:23 »
0 Show voters
Ment a +, és megírtam egy skin váltót :D Full király!Köszönöm a segítséget, amm nekem jó a mostani if(!IsPlayerAdmin(playerid))-vel, és nem tudja csak az adsmin használni...A témát nem zárom, mert bárkinek kellhet még valami, még akár nekem is:) Szóval még ez jól jöhet!

Más embernek dolog adása
« Válasz #5 Dátum: 2012. június 19. - 21:01:31 »
0 Show voters
Idézetet írta: zeteni date=1340131122\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"23090\" data-ipsquote-contentclass=\"forums_Topic
Amúgy rosszul van csinálva. Mert így úgy fog mûködni, hogyha a játékos NEM admin akkor használni tudja Tehát így a helyes:
 
if(IsPlayerAdmin(playeridÖÖ return SendClientMessage(playerid, -1, \"Nem vagy RCON admin!\");

 
Amúgy van egy kis felfele mutató kéz arra katt úgy tudsz +adni
 
Az IsPlayerAdmin akkor ad vissza 1-es értéket ha RCON ADMIN.
Ez jól van megcsinálva.A tiéd mûködik úgy.
[mod]Azért kicsit kulturáltabban![/mod]
« Utoljára szerkesztve: 2012. június 19. - 21:23:55 írta kadaradam »

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
Más embernek dolog adása
« Válasz #6 Dátum: 2012. június 19. - 21:04:50 »
0 Show voters
Az !IsPlayerAdmin funkció az azt jelenti, hogy ha nem admin akkor visszatér egy üzenettel. Onnantól már csak az adminra vonatkozó dolgok vannak. Hidd el, nekem is így vannak a scriptejim megírva és tökéletesen mûködik.
Nincsmit ppatrik, bármi kérdésed van nyugodtan jöhet.

Más embernek dolog adása
« Válasz #7 Dátum: 2012. június 19. - 21:33:52 »
+1 Show voters
CMD:adfegyver(playerid,params[])
{
// a playerid játékos rcon admin vizsgálata (playerid annak a játékosnak az azonosítószáma aki beírta a parancsot.
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 5, \"Nem vagy RCON ADMIN !\");
// Lehetséges változók létrehozása melyek tárolni fogják a beírt adatokat.
new
target,
weaponid,
tolteny;
// plugin sscanf segítségével a beírt karakterlánc feldarabolása (params) és elhelyezése a létrehozott változókban
// a D(-1) jelölés opcionális paraméter melyet nem kötelezõ beírni a parancs részeként, alapértéknek 1-et adtam meg
// az u jelölés lehetõvé teszi a parancs használatát játékos név beírására is pl.: /adfegyver king 21
if(sscanf(params, \"udD(1)\", target, weaponid, tolteny)) return SendClientMessage(playerid, 0xFFFF00AA, \"Használat : /adfegyver [iD] [Fegyverid][Tölteny]\");
// a megadott weaponid ellenõrzése hogy 1 és 46 és közti szám legyen
if(weaponid < 1 || weaponid > 46) return SendClientMessage(playerid, 0xAA3333AA, \"Csak 1-46 közt lehetnek a fegyverek!\");
// fegyver odaadása a játékosnak
GivePlayerWeapon(target,weaponid,tolteny);
// üzenet megjelenítése annak aki beírta a parancsot és annak aki a fegyvert kapja
new
str[128];
format(str,sizeof(str),\"Fegyvert adtál neki : %s , Fegyver ID:%d, Töltény:%d\",pName(playerid),weaponid,tolteny);
SendClientMessage(playerid,0xFFFF00AA,str);
format(str,sizeof(str),\"Fegyvert kaptál tõle : %s\",pName(playerid));
SendClientMessage(target,0xFFFF00AA,str);
return 1;
}

Más embernek dolog adása
« Válasz #8 Dátum: 2012. június 19. - 22:03:42 »
0 Show voters
Lenne még 1 kérdésem...Ezt ez alapján írtam...De a jármûvet nem telézi ide...
CMD:v(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF0606FF,\"Nem vagy RCON ADMIN!\");
new Float: x, y, z, c;
new vehicleid, str[200];
if(sscanf(params,\"d\",vehicleid)) return SendClientMessage(playerid,0xFF0606FF,\"Használat: /v [Jármû ID]\");
format(str,sizeof(str),\"Lekértél egy jármûvet!ID-je: %d!\", vehicleid);
SendClientMessage(playerid,0xFF0606FF,str);
if(vehicleid < 411 || vehicleid > 611) return SendClientMessage(playerid,-1,\"Csak 411-611-es ID-k!\");
CreateVehicle(vehicleid,x+1,y+1,z+1,c+1,0,3,900000);
return 1;
}

 
Aki segít annak köszönöm!

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Más embernek dolog adása
« Válasz #9 Dátum: 2012. június 19. - 22:20:20 »
0 Show voters

CMD:v( playerid, params[] )
{
        if( IsPlayerAdmin( playerid ) )
        {
           new
Float: fPos[ 4 ],
                iVehicleID,
szMessage[ 50 ];
           if( sscanf( params, \"d\", iVehicleID ) ) return SendClientMessage( playerid, 0xFF0606FF, \"Használat: /v [Jármû ID]\" );
           if( iVehicleID < 411 || iVehicleID > 611 ) return SendClientMessage( playerid, -1, \"Csak 411-611-es ID-k!\" );
       
           GetPlayerPos( playerid, fPos[ 0 ], fPos[ 1 ], fPos[ 2 ] );
           GetPlayerFacingAngle( playerid, fPos[ 3 ] );
       
           format( szMessage, sizeof( szMessage ), \"Lekértél egy jármûvet!ID-je: %d!\", iVehicleID );
           SendClientMessage( playerid, 0xFF0606FF, szMessage );
       
           CreateVehicle( iVehicleID, fPos[ 0 ] + 4, fPos[ 1 ], fPos[ 2 ], fPos[ 3 ], 0, 3, 900000 );
}
else SendClientMessage( playerid,  0xFF0000AA, \"HIBA: Nem vagy RCon admin.\" );
        return 1;
}
« Utoljára szerkesztve: 2012. június 19. - 22:21:50 írta Gabor.. »

Más embernek dolog adása
« Válasz #10 Dátum: 2012. június 20. - 09:42:27 »
0 Show voters
Köszönöm, de az pl. hogy lehetne, hogy lehívok egy kocsit, és egybõl bele is száljon, és ha lehív még1-et akkor az az elõtti eltûnjön...Erre nem jövök rá...

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
Más embernek dolog adása
« Válasz #11 Dátum: 2012. június 20. - 09:45:30 »
0 Show voters
PutPlayerInVehicle
DestroyVehicle

Más embernek dolog adása
« Válasz #12 Dátum: 2012. június 20. - 09:52:20 »
0 Show voters
Bele írnád légyszi a scriptbe?

Más embernek dolog adása
« Válasz #13 Dátum: 2012. június 20. - 17:33:30 »
0 Show voters
Nem teszteltem, de talán így:
 
new
v_car[MAX_PLAYERS];
public
OnPlayerConnect(playerid)
{
v_car[playerid] = 0;
return 1;
}
CMD:v(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid, 0xFF0000AA, \"HIBA: Nem vagy RCon admin.\");
else
{
new
   Float:fpos[4],
   modelid,
   msg[50];
if(sscanf(params, \"d\", modelid) || !(400 <= modelid <= 611)) return SendClientMessage(playerid, 0xFF0606FF, \"Használat: /v [Jármû ID 400-611]\");
GetPlayerPos(playerid, fpos[0], fpos[1], fpos[2]);
GetPlayerFacingAngle(playerid, fpos[3]);
format(msg, sizeof msg, \"Lekértél egy jármûvet!ID-je: %d!\", modelid);
SendClientMessage(playerid, 0xFF0606FF, msg);
if(v_car[playerid]) DestroyVehicle(v_car[playerid]);
v_car[playerid] = CreateVehicle(modelid, fpos[0] + 4, fpos[1], fpos[2], fpos[3], random(255), random(255), 900000);
PutPlayerInVehicle(playerid, v_car[playerid], 0);
}
return 1;
}

Más embernek dolog adása
« Válasz #14 Dátum: 2012. június 20. - 19:28:44 »
0 Show voters
Köszönöm!Mûködik!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal