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.
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
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])
}
}