Ich zeige euch heute mein einfach zu nutzendes PickupSystem
hier der Code
enum PICK
{
valuea,//weaponid, float:x
valueb,//ammo, float:y
valuec,//float:z
valued,//flaot:angle
valuee,//interior
typ,//typ 1 = weapon, typ 2 = tele
pickup
};
stock AddPickup(index, model, type, Float:x, Float:y, Float:z, value1, value2, value3 = 0, value4 = 0, value5 = 0)
{
if(type != 1|| type != 2)return printf("Error: Cannot Create Pickup: %d typ: %d", index, type);
PD[index][pickup] = CreatePickup(model, 1, x, y, z);
if(type == 1)//Weapon
{
PD[index][valuea]=value1;
PD[index][valueb]=value2;
PD[index][typ]=1;
printf("Create Pickup: Weapon: %d:%d", value1, value2);
}
else if(type == 2)//teleport
{
PD[index][valuea]=value1;
PD[index][valueb]=value2;
PD[index][valuec]=value3;
PD[index][valued]=value4;
PD[index][valuee]=value5;
PD[index][typ]=2;
printf("Creat Pickup: Tele: %d, %d, %d, %d INT: %d", value1, value2, value3, value4, value5);
}
return 1;
}
for(new i=0; i<ALLPICK; i++)
{
if(pickupid == PD[i][pickup])
{
if(PD[i][typ]==1)//weapon
{
GivePlayerWeapon(playerid, PD[i][valuea], PD[i][valuea]);
}
else if(PD[i][typ]==2)//tele
{
SetPlayerPos(playerid, PD[i][valuea], PD[i][valueb], PD[i][valuec]);
SetPlayerFacingAngle(playerid, PD[i][valued]);
SetPlayerInterior(playerid, PD[i][valuee]);
}
}
}
Ihr benutzt es mit AddPickup
Mann kann Waffen geben lassen oder zu xyz teleportieren lassen
Oben muss mann die Benutzten Pickups Eintragen ,unter Define
#define ALLPICK 2 //wenn es die zahl 2 ist kann mann 2 Pickups benutzen , 0 und 1 dass unter index bei CreatePickup
dies packt mann unter OnGameModeInit()
Typ ID´s:
1 = Waffe
2 = Teleport
hier ein Beispiel
public OnGameModeInit()
{
// index, model, typ, x, y, z, weapon, ammo
AddPickup( 0, 1239, 1, 0, 0, 0, 30, 100);
// index, model, typ, x, y, z, telex, teley, telez, telea, interior
AddPickup( 1, 1239, 2, 0, 0, 4, 0, 5, 4, 20, 0);
return 1;
}
Es ist Sehr einfach zu nutzen und mann braucht nur die a_samp.inc keine anderen
MFG Piet