Nem szeretnék most veszekedni de hazudni sem. Nekem is volt régen lopott szkriptem .. sokat megszívtam érte évekkel ezelõtt mert más munkáját a sajátomnak neveztem. Idõvel rájön minden fórumozó, hogy nem szép dolog mások munkáját és idõpazarlását sajátjának nevezni. Nem tudod mirõl beszélek? Hát felvilágosítlak kedves, Cube.
Lássuk az alábbi stock kódodat amit szíved szerint te készítettél és írtál:
GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &veh)
{
for(new i = 1; i < MAX_VEHICLES; i++)
{
if(GetVehicleModel(i) > 0)
{
if(GetPlayerVehicleID(playerid) != i )
{
new Float:x, Float:y, Float:z;
new Float:x2, Float:y2, Float:z2;
GetVehiclePos(i, x, y, z);
x2 = x1 - x; y2 = y1 - y; z2 = z1 - z;
new Float:vDist = (x2*x2+y2*y2+z2*z2);
if( vDist < dist)
{
veh = i;
dist = vDist;
}
}
}
}
}
Hivatalos fórumon lévõ stock kód amit még Deat_Itself készített:
GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &veh){//It should be in script other wise the GetVehicleWithInDistance will not work
for(new i = 1; i < MAX_VEHICLES; i++){
if(GetVehicleModel(i) > 0){
if(GetPlayerVehicleID(playerid) != i ){
new Float:x, Float:y, Float:z;
new Float:x2, Float:y2, Float:z2;
GetVehiclePos(i, x, y, z);
x2 = x1 - x; y2 = y1 - y; z2 = z1 - z;
new Float:vDist = (x2*x2+y2*y2+z2*z2);
if( vDist < dist){
veh = i;
dist = vDist;
}
}
}
}
}
Nézzük a saját jármû szám lekérdezés stockodat:
IsVehicleRc(vehicleid)
{
new vid= GetVehicleModel(vehicleid);
switch(vid)
{
case 441, 464, 501, 465, 449, 564, 594: return 1;
else return 0;
}
return 0;
}
Nézzük a hivatalos fórumon lévõ Dead_Itself kódját:
IsVehicleRc( vehicleid ){//defines the RC vehicles.
new model = GetVehicleModel(vehicleid);
switch(model){
case RC_GOBLIN, RC_BARON, RC_BANDIT, RC_RAIDER, RC_MINITANK: return 1;
default: return 0;
}
return 0;
}
Lássuk hát a gombok lekérdezését amit te készítettél:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SECONDARY_ATTACK )
{
if(!IsPlayerInAnyVehicle(playerid))
{
new Float:x, Float:y, Float:z, vehicle;
GetPlayerPos(playerid, x, y, z );
GetVehicleWithinDistance(playerid, x, y, z, 20.0, vehicle);
if(IsVehicleRc(vehicle))
{
PutPlayerInVehicle(playerid, vehicle, 0);
}
}
else
{
new vehicleID = GetPlayerVehicleID(playerid);
if(IsVehicleRc(vehicleID) || GetVehicleModel(vehicleID) == 594)
{
if(GetVehicleModel(vehicleID) != 449)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x+0.5, y, z+1.0);
}
}
}
}
return 1;
}
Nézzük az eredeti készítõ kódját amit még since 2009 -ben készített elõ:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SECONDARY_ATTACK ){//the secondary attack key ,which you can change into your own choice
if(!IsPlayerInAnyVehicle(playerid)){ //checks the player if he/she is in the vehicle.
new Float:x, Float:y, Float:z, vehicle; //these Float gets the player position that where the player is present
GetPlayerPos(playerid, x, y, z );//gets player position
GetVehicleWithinDistance(playerid, x, y, z, 20.0, vehicle);//gets the player distance from the vehicle
if(IsVehicleRc(vehicle)){ //it checks the player vehicle is RC or not .
PutPlayerInVehicle(playerid, vehicle, 0);
}
}
else {
new vehicleID = GetPlayerVehicleID(playerid);
if(IsVehicleRc(vehicleID) || GetVehicleModel(vehicleID) == RC_CAM){
if(GetVehicleModel(vehicleID) != D_TRAM){
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x+0.5, y, z+1.0);
}
}
}
}
}
Bizonyíték, hogy saját munkádnak tekinted ezt a kódot:
sziasztok. köztudott, hogy az rc illetve a villamos jármûvekbõl nem lehet kiszállni. ez a kód ezt segít kiküszöbölni.
készítõ:én
idõ: 3-4 perc + a teszt.