Szerző Téma: fegyver átadó script hiba  (Megtekintve 857 alkalommal)

fegyver átadó script hiba
« Dátum: 2012. október 30. - 00:29:54 »
0 Show voters
Sziasztok!Lenne egy script amit Gabor csinált de nekem hibás.Valaki segítene benne hogy-hogy kéne javítani?Meg még annyit hogy ránézésre jó lesz-e.Köszönöm:
 
CMD:atad( playerid, params[] )
{
     new
              iPlayer,
              iWeapon,
              iAmmo,
              szFormat[ 144 +  ];
     if( sscanf( params, \"uii\", iPlayer, iWeapon, iAmmo ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /atad <Játékos ID/Név> <Fegyver ID> <Fegyver töltény>\" );
     if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Érvénytelen ID.\" );
     if( iPlayer == playerid ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Magadnak nem küldhetsz fegyvert...Û\" );
     if( GetPlayerWeapon( playerid ) != iWeapon ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Neked nincs ilyen fegyvered!\" );
     if( GetPlayerAmmo( playerid ) != iAmmo ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Neked nincs ennyi töltényed!\" );
     if( GetPlayerWeapon( playerid ) == GetPlayerWeapon( iPlayer ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Ennek a játékosnak, már van ilyen fegyvere.\" );
   
     GivePlayerWeapon( iPlayer, GetPlayerWeapon( playerid ), GetPlayerAmmo( playerid ) );
     return 1;
}

 
hibája: 
E:\\Letöltés\\sumo\\server alap\\atad.pwn(19) : warning 203: symbol is never used: \"atad\"
E:\\Letöltés\\sumo\\server alap\\atad.pwn(19) : error 013: no entry point (no public functions)
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Error.
« Utoljára szerkesztve: 2012. október 30. - 00:32:55 írta Bonfini »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
fegyver átadó script hiba
« Válasz #1 Dátum: 2012. október 30. - 00:49:44 »
0 Show voters
huh ez a sok szóköz elég furán néz ki :D
 
szFormat[ 144 +  ]

 
tömb mérete 144 + SEMMI? szóval vagy 144 vagy 144+1 ( akkor már egyszerûbb 145-öt írni... )
és ebben a verzióban nem is használod ezt a tömböt semmire...szóval felesleges ! ha késõbb szöveget akarsz belehelyezni akkor se 144-et adj neki szerintem...\"XY átadta a fegyverét YX-nek.\" ha mondjuk ezt írod be...az 2 név + 25 karakter + 1 a string végi \\0...szóval leghosszabb szöveg: 24+24+25+1=74...
 
if(GetPlayerAmmo(playerid) != iAmmo)

 
ez a sor konkrétan azt jelenti hogy ha nem azt a számot írja be amennyi tölténye van akkor nem is tudja átadni !
GetPlayerWeapon + GetPlayerAmmo nem hiszem hogy megfelelõ lenne itt...mivel ezekkel a kezében levõ fegyver adatokat tudod lekérdezni !
http://wiki.sa-mp.com/wiki/GetPlayerWeapon
http://wiki.sa-mp.com/wiki/GetPlayerAmmo
pontosabban 2 lehetõséged van...
vagy a kezében levõ fegyvert tudja átadni vagy valamelyik fegyverét...
ha valamelyik fegyverét szeretnéd megvalósítani akkor erre a függvényre lesz szükséged:
http://wiki.sa-mp.com/wiki/GetPlayerWeaponData
viszont ha a kezében levõt akkor meg felesleges ugye a 2 paraméter...
és ezeket még ajánlom figyelmedbe:
- a játékostól ( aki átadja a fegyvert ) vedd el a fegyvert...
- a 2 játékos közötti távolságot is figyeld hogy pl a pálya egyik felérõl ne tudjon a másikra átadni
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

fegyver átadó script hiba
« Válasz #2 Dátum: 2012. október 30. - 01:08:40 »
0 Show voters
Kösz a segítséget de a scriptet nem én írtam,én csak tanulok scriptelni.És igen úgy akarom hogy a kezébe lévõ fegyvert tudja átadni.Mivel nem értek hozzá megtudnád nekem írni a scriptet úgy hogy jó legyen?

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
fegyver átadó script hiba
« Válasz #3 Dátum: 2012. október 30. - 10:36:39 »
0 Show voters
Itt tök felesleges megadni a töltényt és a fegyver idt, mert úgyis a kezében lévõ fegyvert adja át...
 
CMD:atad( playerid, params[] )
{
     new iPlayer;
     if( sscanf( params, \"u\", iPlayer ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /atad <Játékos ID/Név>\" );
     if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Érvénytelen ID.\" );
     if( iPlayer == playerid ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Magadnak nem küldhetsz fegyvert...\" );
     if( GetPlayerWeapon( playerid ) == GetPlayerWeapon( iPlayer ) ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Ennek a játékosnak, már van ilyen fegyvere.\" );
     GivePlayerWeapon( iPlayer, GetPlayerWeapon( playerid ), GetPlayerAmmo( playerid ) );
     RemovePlayerWeapon(playerid, GetPlayerWeapon(playerid));
     return 1;
}

 
RemovePlayerWeapon:
 
stock RemovePlayerWeapon(playerid, weaponid)
{
new plyWeapons[12]
new plyAmmo[12]
for(new slot = 0; slot != 12; slot++)
{
new wep, ammo
GetPlayerWeaponData(playerid, slot, wep, ammo)
if(wep != weaponid)
{
   GetPlayerWeaponData(playerid, slot, plyWeapons[slot], plyAmmo[slot])
}
}
ResetPlayerWeapons(playerid)
for(new slot = 0; slot != 12; slot++)
{
GivePlayerWeapon(playerid, plyWeapons[slot], plyAmmo[slot])
}
}

Nem elérhető Cappsy

  • Adminisztrátor
  • 2754
    • Profil megtekintése
fegyver átadó script hiba
« Válasz #4 Dátum: 2012. október 30. - 12:09:16 »
0 Show voters
OFF: Remélem nem rpg szerverre tervezed mert akkor  ha valaki a postán áll simán átadja a fegyverét a haverjának aki eqban járkál
ON: Jó már?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal