Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ___ ___ ___ _____ _____ _____ __ __
- / |/ | / | | _ \ | ____| | _ \ \ \ / /
- / /| /| | / /| | | | | | | |__ | |_| | \ \/ /
- / / |__/ | | / / | | | | | | | __| | _ { \ /
- / / | | / / | | | |_| | | |___ | |_| | / /
- /_/ |_| /_/ |_| |_____/ |_____| |_____/ /_/
- __ __ __ __ _____ _ _____ _____ __ __ __ __
- \ \ / / \ \ / / | ___| | | | _ \ | ____| \ \ / / \ \ / /
- \ \/ / \ \/ / | |__ | | | |_| | | |__ \ \/ / \ \/ /
- } { } { | __| | | | _ / | __| } { } {
- / /\ \ / /\ \ | | | | | | \ \ | |___ / /\ \ / /\ \
- /_/ \_\ /_/ \_\ |_| |_| |_| \_\ |_____| /_/ \_\ /_/ \_\
- http://forum.sa-mp.de/index.php?page=User&userID=11194
- ------------------------------------------------------------------
- Credits:
- SA:MP Team - Das dies möglich ist :)
- ZCMD - Zeex
- SSCANF - Unknown...
- ------------------------------------------------------------------
- */
- #include <a_samp>
- #include <zcmd>
- #include <sscanf>
- #define cooldown 1 // Wielange die Rakete fürs nachladen brauch 1 = 1 Sekunde
- enum cCar
- {
- vID,
- vRakete,
- vObjRakete,
- Float:vRaketeWeite,
- }
- new veH[MAX_VEHICLES][cCar];
- new mustWait[MAX_PLAYERS];
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if((newkeys & KEY_FIRE) && !(oldkeys & KEY_FIRE) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new vehid = GetPlayerVehicleID(playerid);
- if(veH[vehid][vRakete] == 1 && mustWait[playerid] == 0)
- {
- new Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:az;
- GetPlayerPos(playerid,x,y,z);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), az);
- x2 = x + (veH[vehid][vRaketeWeite] * floatsin(-az, degrees));
- y2 = y + (veH[vehid][vRaketeWeite] * floatcos(-az, degrees));
- CreateExplosion(x2,y2,z,0,5.0);
- SetTimerEx("resetwait", cooldown*1000, 0, "i",playerid);
- mustWait[playerid] = 1;
- }
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new v=0; v < MAX_VEHICLES; v++)
- {
- if(veH[v][vRakete] == 1)
- {
- DestroyObject(veH[v][vObjRakete]);
- veH[v][vRakete] = 0;
- }
- }
- }
- public OnVehicleDeath(vehicleid)
- {
- if(veH[vehicleid][vRakete] == 1){ DestroyObject(veH[vehicleid][vObjRakete]); veH[vehicleid][vRakete] = 0;}
- }
- CMD:rakete(playerid,params[])
- {
- #pragma unused params
- new vehicle = GetPlayerVehicleID(playerid);
- if(IsVehicleCar(GetVehicleModel(vehicle)))
- {
- if(veH[vehicle][vRakete] == 1)
- {
- DestroyObject(veH[vehicle][vObjRakete]);
- veH[vehicle][vRakete] = 0;
- }
- else
- {
- veH[vehicle][vObjRakete] = CreateObject(18848, 0.0 ,0.0,0.0,0.0,0.0,0.0);
- AttachObjectToVehicle(veH[vehicle][vObjRakete], vehicle, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0);
- veH[vehicle][vRakete] = 1;
- veH[vehicle][vRaketeWeite] = 14.0; // Reichweite von der Rakete
- }
- }
- return 1;
- }
- stock IsVehicleCar(model)
- {
- switch(model)
- {
- case 401:return 1;
- case 402:return 1;
- case 404:return 1;
- case 405:return 1;
- case 409:return 1;
- case 410:return 1;
- case 411:return 1;
- case 412:return 1;
- case 415:return 1;
- case 419:return 1;
- case 420:return 1;
- case 421:return 1;
- case 426:return 1;
- case 429:return 1;
- case 434:return 1;
- case 436:return 1;
- case 438:return 1;
- case 439:return 1;
- case 442:return 1;
- case 445:return 1;
- case 451:return 1;
- case 458:return 1;
- case 466:return 1;
- case 467:return 1;
- case 474:return 1;
- case 475:return 1;
- case 477:return 1;
- case 479:return 1;
- case 480:return 1;
- case 491:return 1;
- case 492:return 1;
- case 496:return 1;
- case 506:return 1;
- case 507:return 1;
- case 516:return 1;
- case 517:return 1;
- case 518:return 1;
- case 526:return 1;
- case 527:return 1;
- case 529:return 1;
- case 533:return 1;
- case 534:return 1;
- case 535:return 1;
- case 536:return 1;
- case 540:return 1;
- case 541:return 1;
- case 542:return 1;
- case 545:return 1;
- case 546:return 1;
- case 547:return 1;
- case 549:return 1;
- case 550:return 1;
- case 551:return 1;
- case 555:return 1;
- case 558:return 1;
- case 559:return 1;
- case 560:return 1;
- case 561:return 1;
- case 562:return 1;
- case 565:return 1;
- case 566:return 1;
- case 567:return 1;
- case 575:return 1;
- case 576:return 1;
- case 580:return 1;
- case 585:return 1;
- case 587:return 1;
- case 589:return 1;
- case 596:return 1;
- case 597:return 1;
- case 598:return 1;
- case 600:return 1;
- case 602:return 1;
- case 603:return 1;
- }
- return 0;
- }
- forward resetwait(playerid);
- public resetwait(playerid)
- {
- mustWait[playerid] = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment