Jump to content

prco167

Uživatel
  • Příspěvků

    49
  • Registrován

  • Aktivní

Reputace

0 Na nule

Kontaktní údaje

  • Skype
    prco167

Návštěvníci

968 profile views
  1. rad by som to urobil ale neni tak taky podľa mojich predstav
  2. Zdravím pawneri mal by som takú prozbu za peňažnú odmenu.. Hľadám pawnera ktorý by mi napawnil mod podľa vlastného predpokladu.... Ponuknem peknu finančnú odmenu len nech to vyzerá..... Ak by mal niekto zaujem mi to spraviť stačí ma kontaktovať na email: [email protected] alebo skype : prco167 Viem zaplatiť pekne od 0-100€ popripade aj viacej ak sa mi to bude páčiť... dopredu vám pekne Ďakujem
  3. No na tie updaty by som sa pozrel
  4. prco167

    pomoc dokopy

    no tak to je riadny help
  5. prco167

    pomoc dokopy

    ok nepochopil som urobiš my to?
  6. prco167

    pomoc dokopy

    zabudol som sorry C:\Users\Prcoooo\Desktop\race system.pwn(124) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(179) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(181) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(202) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(204) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(235) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(330) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(336) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(392) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(398) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(437) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(438) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(448) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(470) : warning 209: function "OnPlayerDisconnect" should return a value C:\Users\Prcoooo\Desktop\race system.pwn(506) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(509) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(513) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(517) : warning 217: loose indentation C:\Users\Prcoooo\Desktop\race system.pwn(978) : warning 209: function "sscanf" should return a value C:\Users\Prcoooo\Desktop\race system.pwn(991) : error 001: expected token: ";", but found "return" C:\Users\Prcoooo\Desktop\race system.pwn(991) : warning 217: loose indentation D:\PAWNO\filterscripts\PAWNO2\Programy na samp\pawno\include\ostatni.inc(11) : warning 201: redefinition of constant/macro (symbol "dcmd(%1,%2,%3)") D:\PAWNO\filterscripts\PAWNO2\Programy na samp\pawno\include\ostatni.inc(303) : error 021: symbol already defined: "sscanf" C:\Users\Prcoooo\Desktop\race system.pwn(1059) : error 021: symbol already defined: "OnPlayerDisconnect" C:\Users\Prcoooo\Desktop\race system.pwn(1121) : error 021: symbol already defined: "OnDialogResponse" C:\Users\Prcoooo\Desktop\race system.pwn(1141) : warning 217: loose indentation Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
  7. prco167

    pomoc dokopy

    Zdravým pawnery sanžím sa dať racesystem s titul system dať do kopy lenže ukazuje my 2 erory a prečo to chcem dať do kopy nejde my podstatne dialogy /* ================================================================================ -------------------------------------------------------------------------------- ================================================================================ Race System Verzia: 1.0 Created by Angelus 4.6.2012 - 6.6.2012 Copyright © 2012 ================================================================================ -------------------------------------------------------------------------------- ================================================================================ */ //INCLUDE #include <a_samp> #include <dini> #define MAX_PLAYERS_EX MAX_PLAYERS #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 //DEFINE #define MAX_RACE_CPS 30 #define MAX_RACE 10 #define MAX_RACERS 15 //Názvy PVarov #define CRace "CreatingRace" #define CID "CreatingID" #define CPC "CPCount" #define CRP "CarRacePlace" #define ARID "ActuallyRaceID" #define PJTR "PlayerJoinedToRace" #define PRV "PlayerRaceVehicle" #define PCP "PlayerCheckpoint" #define QCMD:%1(%2) \ forward cmd_%1(%2); \ public cmd_%1(%2) #define DIALOG_ERROR 133000 #define DIALOG_RACES 155000 #define DIALOG_MANAGE_RACE 166000 #define DIALOG_SETWIN 177000 #define SCM SendClientMessage #define SCMTA SendClientMessageToAll #define ADMINCOL 0xFFB666FF #define RED 0xFF0000FF // #define RCON_Allowed //Ak chceš použiť vlastnú podmienku pre admina na vytvorenie závodu, daj "//" (bez úvodzoviek) na začiatok //riadku 63 a uprav riadky: //ENUM enum Race_Info { Float:RaceX, Float:RaceY, Float:RaceZ, Float:Radius, }; enum Race__Info { Name[50], bool:RaceCreating, bool:RaceCreated, ModelVozu, CPs, Places, Win, Interier, }; enum Racers_Info { Float:RposX, Float:RposY, Float:RposZ, Float:RposF, }; //NEWS new RaceCPInfo[MAX_RACE][MAX_RACE_CPS][Race_Info]; new RaceInfo[MAX_RACE][Race__Info]; new RacersInfo[MAX_RACE][MAX_RACERS][Racers_Info]; new RaceTimer; new RaceTimerCount; new RaceUcastnici; new RaceStartedID; new RaceEndPlace; new bool:RaceStarted; new bool:RaceStarting; new RaceCount=-1; //FORWARD forward CreatingRace(playerid,name[],model); forward EndCRace(playerid,bool:MozeVytvoritRace); forward AddCheckpoint(playerid,Float:radius); forward AddRacePlace(playerid); forward EndPlayerRace(playerid,reason[]); forward Start(); forward Jeden(); forward Dva(); forward Tri(); forward Drei(); forward LoadPlayersOnRacePlace(); forward PredcasnyKonec(); public CreatingRace(playerid,name[],model) { if(MAX_RACE > RaceCount) { SCM(playerid,ADMINCOL,"Začal si vytvárať závod. Teraz vytvor závodné miesta na štarte pomocou /saveplace"); SetPVarInt(playerid,CRace,1); SetPVarInt(playerid,CID,GetPlayerFreeRaceID()); SetPVarInt(playerid,CPC,0); RaceInfo[GetPVarInt(playerid,CID)][RaceCreating]=true; RaceInfo[GetPVarInt(playerid,CID)][ModelVozu]=model; RaceInfo[GetPVarInt(playerid,CID)][Interier]=GetPlayerInterior(playerid); format(RaceInfo[GetPVarInt(playerid,CID)][Name],50,"%s",name); } else SCM(playerid,RED,"Nemôžeš vytvoriť závod, bol naplnený maximálny limit závodov!"); return 1; } public EndCRace(playerid,bool:MozeVytvoritRace) { if(MozeVytvoritRace) { if(GetPVarInt(playerid,CRP)<2)return SCM(playerid,RED,"Musíš vytvoriť aspoň 2 závodné miesta!"); if(GetPVarInt(playerid,CPC)<2)return SCM(playerid,RED,"Musíš vytvoriť aspoň 2 checkpointy!"); new s[75],cid=GetPVarInt(playerid,CID),i; format(s,sizeof(s),"Races/Race%d.ini",cid); if(fexist(s))return SCM(playerid,RED,"ERROR: Súbor s ID tohto závodu už existuje!"); dini_Create(s); dini_Set(s,"Name",RaceInfo[cid][Name]); dini_IntSet(s,"RaceModel",RaceInfo[cid][ModelVozu]); dini_IntSet(s,"CPs",GetPVarInt(playerid,CPC)); dini_IntSet(s,"Places",GetPVarInt(playerid,CRP)); dini_IntSet(s,"Interior",RaceInfo[cid][Interier]); RaceInfo[cid][CPs]=GetPVarInt(playerid,CPC); RaceInfo[cid][Places]=GetPVarInt(playerid,CRP); for( ;i<GetPVarInt(playerid,CPC);i++) { format(s,sizeof(s),"Races/Race%d CP%d.ini",cid,i); dini_Create(s); dini_FloatSet(s,"PosX",RaceCPInfo[cid][i][RaceX]); dini_FloatSet(s,"PosY",RaceCPInfo[cid][i][RaceY]); dini_FloatSet(s,"PosZ",RaceCPInfo[cid][i][RaceZ]); dini_FloatSet(s,"Radius",RaceCPInfo[cid][i][Radius]); } i=0; for( ;i<GetPVarInt(playerid,CRP);i++) { format(s,sizeof(s),"Races/Race%d Place%d.ini",cid,i); dini_Create(s); dini_FloatSet(s,"PosX",RacersInfo[cid][i][RposX]); dini_FloatSet(s,"PosY",RacersInfo[cid][i][RposY]); dini_FloatSet(s,"PosZ",RacersInfo[cid][i][RposZ]); dini_FloatSet(s,"ZAngle",RacersInfo[cid][i][RposF]); } RaceInfo[GetPVarInt(playerid,CID)][RaceCreating]=false; RaceInfo[GetPVarInt(playerid,CID)][RaceCreated]=true; SCM(playerid,ADMINCOL,"Ukončil si vytvárenie závodu. Teraz môžeš spustiť závod pomocou /races!"); RaceCount++; } else { SCM(playerid,ADMINCOL,"Ukončil si vytváranie závodu, závod nebol uložený."); RaceInfo[GetPVarInt(playerid,CID)][RaceCreating]=false; } DeletePVar(playerid,CRace); DeletePVar(playerid,CID); DeletePVar(playerid,CPC); DeletePVar(playerid,CRP); return 0; } public AddCheckpoint(playerid,Float:radius) { new i = GetPVarInt(playerid,CPC); if(MAX_RACE_CPS > i) { new Float:p1,Float:p2,Float:p3,b=GetPVarInt(playerid,CID); GetPlayerPos(playerid,p1,p2,p3); RaceCPInfo[b][i][RaceX]=p1; RaceCPInfo[b][i][RaceY]=p2; RaceCPInfo[b][i][RaceZ]=p3; RaceCPInfo[b][i][Radius]=radius; SetPVarInt(playerid,CPC,i+1); new s[60]; format(s,60,"* Vytvorený Checkpoint %d/%d!",i+1,MAX_RACE_CPS); SCM(playerid,ADMINCOL,s); } else { SCM(playerid,RED,"Nemôžeš vytvoriť ďalší Checkpoint, už bol naplnený limit!"); } return 1; } public AddRacePlace(playerid) { new i = GetPVarInt(playerid,CRP); if(MAX_RACERS > i) { new Float:p1,Float:p2,Float:p3,Float:p4,b=GetPVarInt(playerid,CID); GetVehiclePos(GetPlayerVehicleID(playerid),p1,p2,p3); GetVehicleZAngle(GetPlayerVehicleID(playerid),p4); RacersInfo[b][i][RposX]=p1; RacersInfo[b][i][RposY]=p2; RacersInfo[b][i][RposZ]=p3; RacersInfo[b][i][RposF]=p4; SetPVarInt(playerid,CRP,i+1); new s[60]; format(s,60,"* Vytvorené Závodné Miesto %d/%d!",i+1,MAX_RACERS); SCM(playerid,ADMINCOL,s); } else { SCM(playerid,RED,"Nemôžeš vytvoriť ďalšie Závodné Miesto, už si naplnil limit (15 miest) !"); } return 1; } public EndPlayerRace(playerid,reason[]) { DestroyVehicle(GetPVarInt(playerid,PRV)); DeletePVar(playerid,PJTR); DeletePVar(playerid,PRV); DeletePVar(playerid,PCP); DisablePlayerRaceCheckpoint(playerid); SetPlayerInterior(playerid,0); SpawnPlayer(playerid); RaceUcastnici--; new s[128]; format(s,sizeof(s),"* Hráč %s (ID:%d) ukončil závod [ Dôvod: %s ]. V závode ostalo %d hráčov.",PlayerName(playerid),playerid,reason,RaceUcastnici); SCMTA(ADMINCOL,s); if(RaceUcastnici==1) { for(new i;i<MAX_PLAYERS_EX;i++) { if(GetPVarInt(i,PJTR)) { DestroyVehicle(GetPVarInt(i,PRV)); DeletePVar(i,PJTR); DeletePVar(i,PRV); DeletePVar(i,PCP); DisablePlayerRaceCheckpoint(i); SetPlayerInterior(playerid,0); SpawnPlayer(i); format(s,sizeof(s),"* Hráč %s (ID:%d) kontumačne vyhral závod! Dostane výhru %d$",PlayerName(i),i,RaceInfo[RaceStartedID][Win]); SCMTA(ADMINCOL,s); GivePlayerMoney(i,RaceInfo[RaceStartedID][Win]); RaceStarted=false; break; } } } } public Start() { for(new i;i<MAX_PLAYERS_EX;i++) { if(GetPVarInt(i,PJTR)) { GameTextForPlayer(i,"~r~start",1000,5); TogglePlayerControllable(i,true); SetPVarInt(i,PCP,0); SetPlayerRaceCheckpoint(i,0,RaceCPInfo[RaceStartedID][0][RaceX],RaceCPInfo[RaceStartedID][0][RaceY],RaceCPInfo[RaceStartedID][0][RaceZ],RaceCPInfo[RaceStartedID][1][RaceX],RaceCPInfo[RaceStartedID][1][RaceY],RaceCPInfo[RaceStartedID][1][RaceZ],RaceCPInfo[RaceStartedID][0][Radius]); } } } public Jeden() { for(new i;i<MAX_PLAYERS_EX;i++) { if(GetPVarInt(i,PJTR)) { GameTextForPlayer(i,"~r~1",1000,5); } } SetTimer("Start",1050,false); } public Dva() { for(new i;i<MAX_PLAYERS_EX;i++) { if(GetPVarInt(i,PJTR)) { GameTextForPlayer(i,"~r~2",1000,5); } } SetTimer("Jeden",1050,false); } public Tri() { for(new i;i<MAX_PLAYERS_EX;i++) { if(GetPVarInt(i,PJTR)) { GameTextForPlayer(i,"~r~3",1000,5); } } SetTimer("Dva",1050,false); } public Drei() { RaceTimerCount--; if(RaceTimerCount == 40 || RaceTimerCount == 20 || RaceTimerCount == 10 || RaceTimerCount == 5) { new s[128]; format(s,128,"Bol vytvorený závod %s. Výhra: $%d. Pripojíte sa pomocou /joinrace. Ostáva %d sekúnd do štartu!",RaceInfo[RaceStartedID][Name],RaceInfo[RaceStartedID][Win],RaceTimerCount); SCMTA(ADMINCOL,s); } if(RaceTimerCount==0) { KillTimer(RaceTimer); if(RaceUcastnici<2) { SCMTA(ADMINCOL,"* Závod bol zrušený kvôli nedostatku účastníkov!"); } else { RaceStarting=false; RaceStarted=true; LoadPlayersOnRacePlace(); SetTimer("Tri",5050,false); } RaceStarting=false; } } public LoadPlayersOnRacePlace() { new count; for(new i;i<MAX_PLAYERS_EX;i++) { if(GetPVarInt(i,PJTR)) { SetPVarInt(i,PRV,CreateVehicle(RaceInfo[RaceStartedID][ModelVozu],RacersInfo[RaceStartedID][count][RposX],RacersInfo[RaceStartedID][count][RposY],RacersInfo[RaceStartedID][count][RposZ],RacersInfo[RaceStartedID][count][RposF],random(150),random(150),-1)); LinkVehicleToInterior(GetPVarInt(i,PRV),RaceInfo[RaceStartedID][Interier]); SetPlayerInterior(i,RaceInfo[RaceStartedID][Interier]); PutPlayerInVehicle(i,GetPVarInt(i,PRV),0); SetCameraBehindPlayer(i); TogglePlayerControllable(i,false); SCM(i,ADMINCOL,"Bol si spawnutý na dráhu závodu! Počkaj na odštartovánie závodu!"); count++; } } RaceUcastnici=count; } public PredcasnyKonec() { if(RaceStarted) { for(new a;a<MAX_PLAYERS_EX;a++) { if(GetPVarInt(a,PJTR)) { DestroyVehicle(GetPVarInt(a,PRV)); DeletePVar(a,PJTR); DeletePVar(a,PRV); DeletePVar(a,PCP); DisablePlayerRaceCheckpoint(a); SetPlayerInterior(a,0); SpawnPlayer(a); } } RaceStarted=false; RaceEndPlace=0; SCMTA(ADMINCOL,"* Závod skončil. Ďakujeme všetkým závodníkom za účasť!"); } } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == DIALOG_RACES && response) { if(!RaceInfo[listitem][RaceCreated]) { DialogListOfRaces(playerid); } else { SetPVarInt(playerid,ARID,listitem); new s[128]; format(s,sizeof(s),"Info: Počet Checkpointov: %d | Počet závodných miest: %d\nSpustiť\nZmazať",RaceInfo[listitem][CPs],RaceInfo[listitem][Places]); ShowPlayerDialog(playerid,DIALOG_MANAGE_RACE,DIALOG_STYLE_LIST,RaceInfo[listitem][Name],s,"Vybrať","Koniec"); } } if(dialogid == DIALOG_MANAGE_RACE) { if(response) { if(listitem == 0) { new s[128]; format(s,sizeof(s),"Info: Počet Checkpointov: %d | Počet závodných miest: %d\nSpustiť\nZmazať",RaceInfo[GetPVarInt(playerid,ARID)][CPs],RaceInfo[GetPVarInt(playerid,ARID)][Places]); ShowPlayerDialog(playerid,DIALOG_MANAGE_RACE,DIALOG_STYLE_LIST,RaceInfo[GetPVarInt(playerid,ARID)][Name],s,"Vybrat","Konec"); } else if(listitem == 1) { if(RaceStarted || RaceStarting)return SCM(playerid,RED,"Niekto už spúšťa závod!"); ShowPlayerDialog(playerid,DIALOG_SETWIN,DIALOG_STYLE_INPUT,RaceInfo[GetPVarInt(playerid,ARID)][Name],"Zadejte výhru závodu:","Zadat","Konec"); } else if(listitem == 2) { new s[128],cid=GetPVarInt(playerid,ARID),i; DeletePVar(playerid,ARID); format(s,sizeof(s),"Races/Race%d.ini",cid); dini_Remove(s); RaceInfo[cid][RaceCreated]=false; for( ;i<RaceInfo[cid][CPs];i++) { format(s,sizeof(s),"Races/Race%d CP%d.ini",cid,i); dini_Remove(s); RaceCPInfo[cid][i][RaceX]=0; RaceCPInfo[cid][i][RaceY]=0; RaceCPInfo[cid][i][RaceZ]=0; RaceCPInfo[cid][i][Radius]=0; } i=0; for( ;i<RaceInfo[cid][Places];i++) { format(s,sizeof(s),"Races/Race%d Place%d.ini",cid,i); dini_Remove(s); RacersInfo[cid][i][RposX]=0; RacersInfo[cid][i][RposY]=0; RacersInfo[cid][i][RposZ]=0; RacersInfo[cid][i][RposF]=0; } format(RaceInfo[cid][Name],50," "); format(s,sizeof(s),"* Závod %s bol zmazaný!",RaceInfo[cid][Name]); SCM(playerid,ADMINCOL,s); } } else { DeletePVar(playerid,ARID); } } if(dialogid == DIALOG_SETWIN) { if(response) { if(!strlen(inputtext))return ShowPlayerDialog(playerid,DIALOG_SETWIN,DIALOG_STYLE_INPUT,RaceInfo[GetPVarInt(playerid,ARID)][Name],"Zadejte výhru závodu:","Zadat","Konec"); new cid=GetPVarInt(playerid,ARID); RaceInfo[cid][Win]=strval(inputtext); new s[128]; format(s,sizeof(s),"* Admin %s (ID:%d) vytvoril závod %s pre %d hráčov. Výhra: %d$. Závod bude spustený o 60 sekúnd!",PlayerName(playerid),playerid,RaceInfo[cid][Name],RaceInfo[cid][Places],RaceInfo[cid][Win]); SCMTA(ADMINCOL,s); format(s,128,"Bol vytvorený závod %s. Výhra: $%d. Pripojíte sa pomocou /joinrace. Ostáva 60 sekúnd do štartu!",RaceInfo[cid][Name],RaceInfo[cid][Win]); SCMTA(ADMINCOL,s); RaceTimerCount=60; RaceStarting=true; RaceUcastnici=0; RaceStartedID=cid; RaceTimer=SetTimer("Drei",1000,true); } DeletePVar(playerid,ARID); } return 1; } public OnPlayerDisconnect(playerid) { if(GetPVarInt(playerid,CRace)) EndCRace(playerid,false); if(RaceStarting) { if(GetPVarInt(playerid,PJTR)) { RaceUcastnici--; } } if(RaceStarted) { if(GetPVarInt(playerid,PJTR)) { EndPlayerRace(playerid,"Odišiel zo serveru"); } } } public OnPlayerDeath(playerid) { if(GetPVarInt(playerid,CRace)) EndCRace(playerid,false); if(RaceStarted) { if(GetPVarInt(playerid,PJTR)) { EndPlayerRace(playerid,"Smrť"); } } } public OnPlayerExitVehicle(playerid) { if(RaceStarted) { if(GetPVarInt(playerid,PJTR)) { EndPlayerRace(playerid,"Vystúpenie z vozidla"); } } } public OnPlayerEnterRaceCheckpoint(playerid) { if(GetPVarInt(playerid,PJTR)) { new i=GetPVarInt(playerid,PCP)+1; SetPVarInt(playerid,PCP,i); if(i == (RaceInfo[RaceStartedID][CPs]-1)) { SetPlayerRaceCheckpoint(playerid,1,RaceCPInfo[RaceStartedID][i][RaceX],RaceCPInfo[RaceStartedID][i][RaceY],RaceCPInfo[RaceStartedID][i][RaceZ],RaceCPInfo[RaceStartedID][i+1][RaceX],RaceCPInfo[RaceStartedID][i+1][RaceY],RaceCPInfo[RaceStartedID][i+1][RaceZ],RaceCPInfo[RaceStartedID][i][Radius]); } else if(i == RaceInfo[RaceStartedID][CPs]) { RaceEndPlace++; new s[128]; format(s,sizeof(s),"* Hráč %s (ID:%d) skončil v závode na %d. mieste!",PlayerName(playerid),playerid,RaceEndPlace); SCMTA(ADMINCOL,s); new bool:F; if(RaceEndPlace == 1) { F=true; GivePlayerMoney(playerid,RaceInfo[RaceStartedID][Win]); SetTimer("PredcasnyKonec",60*1000,false); } DestroyVehicle(GetPVarInt(playerid,PRV)); DeletePVar(playerid,PJTR); DeletePVar(playerid,PRV); DeletePVar(playerid,PCP); DisablePlayerRaceCheckpoint(playerid); SetPlayerInterior(playerid,0); SpawnPlayer(playerid); new b; for(new a;a<MAX_PLAYERS_EX;a++) { if(GetPVarInt(a,PJTR)) { b++; if(F) { SCM(a,ADMINCOL,"Máš 60 sekund než skončí závod aby si prišiel do cieľa!"); } } } if(b == 0) { RaceStarted=false; RaceEndPlace=0; SCMTA(ADMINCOL,"* Závod skončil. Ďakujeme všetkým závodníkom za účasť!"); } } else if(i < (RaceInfo[RaceStartedID][CPs]-1)) { SetPlayerRaceCheckpoint(playerid,0,RaceCPInfo[RaceStartedID][i][RaceX],RaceCPInfo[RaceStartedID][i][RaceY],RaceCPInfo[RaceStartedID][i][RaceZ],RaceCPInfo[RaceStartedID][i+1][RaceX],RaceCPInfo[RaceStartedID][i+1][RaceY],RaceCPInfo[RaceStartedID][i+1][RaceZ],RaceCPInfo[RaceStartedID][i][Radius]); } } } public OnGameModeInit() { new s[60],i; for(new cid;cid<MAX_RACE;cid++) { format(s,sizeof(s),"Races/Race%d.ini",cid); if(fexist(s)) { format(RaceInfo[cid][Name],50,"%s",dini_Get(s,"Name")); RaceInfo[cid][ModelVozu]=dini_Int(s,"RaceModel"); RaceInfo[cid][CPs]=dini_Int(s,"CPs"); RaceInfo[cid][Places]=dini_Int(s,"Places"); RaceInfo[cid][Interier]=dini_Int(s,"Interior"); printf("Zavod %s (%d) nacitany",RaceInfo[cid][Name],cid); for(i=0 ;i<RaceInfo[cid][CPs];i++) { format(s,sizeof(s),"Races/Race%d CP%d.ini",cid,i); if(fexist(s)) { RaceCPInfo[cid][i][RaceX]=dini_Float(s,"PosX"); RaceCPInfo[cid][i][RaceY]=dini_Float(s,"PosY"); RaceCPInfo[cid][i][RaceZ]=dini_Float(s,"PosZ"); RaceCPInfo[cid][i][Radius]=dini_Float(s,"Radius"); printf("Race CP (%d) nacitany",i); } } for(i=0 ;i<RaceInfo[cid][Places];i++) { format(s,sizeof(s),"Races/Race%d Place%d.ini",cid,i); if(fexist(s)) { RacersInfo[cid][i][RposX]=dini_Float(s,"PosX"); RacersInfo[cid][i][RposY]=dini_Float(s,"PosY"); RacersInfo[cid][i][RposZ]=dini_Float(s,"PosZ"); RacersInfo[cid][i][RposF]=dini_Float(s,"ZAngle"); printf("Race Place (%d) nacitane",i); } } RaceInfo[cid][RaceCreated]=true; RaceCount++; } } } //STOCK stock GetPlayerFreeRaceID() { for(new i;i<MAX_RACE;i++) { if(!RaceInfo[i][RaceCreated]) return i; } return -1; } stock DialogListOfRaces(playerid) { new s[256]; for(new i;i<MAX_RACE;i++) { if(RaceInfo[i][RaceCreated]) { format(s,sizeof(s),"%s%s\n",s,RaceInfo[i][Name]); } else { format(s,sizeof(s),"%sNevytvorený\n",s); } } ShowPlayerDialog(playerid,DIALOG_RACES,DIALOG_STYLE_LIST,"Zoznam závodov:",s,"Vybrať","Koniec"); return 1; } stock PlayerName(playerid) { new p[MAX_PLAYER_NAME]; GetPlayerName(playerid,p,MAX_PLAYER_NAME); return p; } //CMDs dcmd_createrace(playerid,params[]) { #if defined RCON_Allowed if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"Nedostatočný level!"); #else //if( Vasa podmienka pre admin level )return SCM(playerid,RED,"Nedostatočný level!"); #endif if(GetPVarInt(playerid,CRace))return SCM(playerid,RED,"Nemôžeš vytvoriť závod, keď už jeden vytváraš! (zadaj /endcreaterace pre ukončenie vytvárania závodu bez uloženia)"); if(strlen(params)>49)return SCM(playerid,RED,"Príliš dlhý názov!"); new i,s[50]; if(sscanf(params,"dz",i,s))return SCM(playerid,RED,"Použitie: /createrace [ID modelu auta v závode][názov závodu]"); CreatingRace(playerid,s,i); return 1; } dcmd_endcreaterace(playerid,params[]) { #if defined RCON_Allowed #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"Nedostatočný level!"); #else //if( Vasa podmienka pre admin level )return SCM(playerid,RED,"Nedostatočný level!"); #endif if(!GetPVarInt(playerid,CRace))return SCM(playerid,RED,"Žiadny závod nevytváraš!"); EndCRace(playerid,false); return 1; } dcmd_saverace(playerid,params[]) { #if defined RCON_Allowed #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"Nedostatočný level!"); #else //if( Vasa podmienka pre admin level )return SCM(playerid,RED,"Nedostatočný level!"); #endif if(!GetPVarInt(playerid,CRace))return SCM(playerid,RED,"Žiadny závod nevytváraš!"); EndCRace(playerid,true); return 1; } dcmd_savecp(playerid,params[]) { #if defined RCON_Allowed #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"Nedostatočný level!"); #else //if( Vasa podmienka pre admin level )return SCM(playerid,RED,"Nedostatočný level!"); #endif if(!GetPVarInt(playerid,CRace))return SCM(playerid,RED,"Nemôžeš uložiť checkpoint, ak si nespustil vytváranie závodu!"); new Float:radius; if(sscanf(params,"f",radius))return SCM(playerid,RED,"Použitie: /savecp [rádius]"); AddCheckpoint(playerid,radius); return 1; } dcmd_saveplace(playerid,params[]) { #if defined RCON_Allowed #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"Nedostatočný level!"); #else //if( Vasa podmienka pre admin level )return SCM(playerid,RED,"Nedostatočný level!"); #endif if(!GetPVarInt(playerid,CRace))return SCM(playerid,RED,"Nemôžeš uložiť závodné miesto, ak si nespustil vytváranie závodu!"); if(GetVehicleModel(GetPlayerVehicleID(playerid))!=RaceInfo[GetPVarInt(playerid,CID)][ModelVozu])return SCM(playerid,RED,"Závodní místo musíš ukládat ve vozidle, které je určeno pro závod!"); AddRacePlace(playerid); return 1; } dcmd_races(playerid,params[]) { #if defined RCON_Allowed #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"Nedostatočný level!"); #else //if( Vasa podmienka pre admin level )return SCM(playerid,RED,"Nedostatočný level!"); #endif DialogListOfRaces(playerid); return 1; } dcmd_rhelp(playerid,params[]) { #if defined RCON_Allowed #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"Nedostatočný level!"); #else //if( Vasa podmienka pre admin level )return SCM(playerid,RED,"Nedostatočný level!"); #endif new s[1000]; strcat(s,"Vitajte v pomocníku pre Race Systém\n\n\nMaximum Checkpointov: 30\nMaximum Závodných miest: 15\nMaximum Závodov: 10\n\n\nZoznam príkazov: \n\t/createrace - spustí vytváranie závodu\n\t/endcreaterace - ukončí vytváranie závodu bez uloženia\n\t/saverace - uloží vytvorený závod\n\t/savecp - uloží Checkpoint pre závod\n\t/saveplace - uloží závodné miesto\n\t/races - zoznam vytvorených závodov",1000); strcat(s,"\n\n\nNávod:\n\n\n1. Spustiť vytvárnie závodu pomocou /createrace\n2. Uložiť závodné miesta pomocou /saveplace\n3. Uložiť checkpointy pre závod pomocou /savecp\n( pokiaľ ste niečo zle uložili musíte zrušiť vytváranie závodu pomocou /endcreaterace a potom podľa návodu od bodu 1. pokračovať )\n4. Uložiť závod, miesta atď. pomocou /saverace",1000); strcat(s,"\n5. Spustiť závod pomocou /races > vybraný závod podľa názvu",1000); ShowPlayerDialog(playerid,DIALOG_ERROR,DIALOG_STYLE_MSGBOX,"Race Systém",s,"OK",""); return 1; } dcmd_joinrace(playerid,params[]) { #pragma unused params if(!RaceStarting && !RaceStarted)return SCM(playerid,RED,"Nebol spustený žiadny závod!"); if(!RaceStarting && RaceStarted)return SCM(playerid,RED,"Závod už začal!"); if(RaceInfo[RaceStartedID][Places]>RaceUcastnici) { RaceUcastnici++; SetPVarInt(playerid,PJTR,1); SCM(playerid,ADMINCOL,"Úspešne si sa prihlásil do závodu. Počkaj, než budeš spawnutý na závod!"); } else SCM(playerid,RED,"Počet účastníkov je plný!"); return 1; } stock sscanf(string[], format[], {Float,_}:...) { #if defined isnull if (isnull(string)) #else if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) #endif { return format[0]; } #pragma tabsize 4 new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(), delim = ' '; while (string[stringPos] && string[stringPos] <= ' ') { stringPos++; } while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if ('0' <= ch <= '9') { num = (num * 10) + (ch - '0'); } else { return -1; } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new num = 0, ch = string[stringPos]; do { stringPos++; switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } default: { return -1; } } } while ((ch = string[stringPos]) > ' ' && ch != delim); setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new changestr[16], changepos = 0, strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim) { changestr[changepos++] = string[strpos++]; } changestr[changepos] = '\0'; setarg(paramPos,0,_:floatstr(changestr)); } case 'p': { delim = format[formatPos++]; continue; } case '\'': { new end = formatPos - 1, ch; while ((ch = format[++end]) && ch != '\'') {} if (!ch) { return -1; } format[end] = '\0'; if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) { if (format[end + 1]) { return -1; } return 0; } format[end] = '\''; stringPos = ch + (end - formatPos); formatPos = end + 1; } case 'u': { new end = stringPos - 1, id = 0, bool:num = true, ch; while ((ch = string[++end]) && ch != delim) { if (num) { if ('0' <= ch <= '9') { id = (id * 10) + (ch - '0'); } else { num = false; } } } if (num && IsPlayerConnected(id)) { setarg(paramPos, 0, id); } else { #if !defined foreach #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS_EX; %2++) if (IsPlayerConnected(%2)) #define __SSCANF_FOREACH__ #endif string[end] = '\0'; num = false; new pname[MAX_PLAYER_NAME]; id = end - stringPos; foreach (Player, playerid) { GetPlayerName(playerid, pname, sizeof (pname)); if (!strcmp(pname, string[stringPos], true, id)) { setarg(paramPos, 0, playerid); num = true; break; } } if (!num) { setarg(paramPos, 0, INVALID_PLAYER_ID); } string[end] = ch; #if defined __SSCANF_FOREACH__ #undef foreach #undef __SSCANF_FOREACH__ #endif } stringPos = end; } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != delim) { setarg(paramPos, i++, ch); } if (!i) { return -1; } } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') { stringPos++; } while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) { stringPos++; } paramPos++; } do { if ((delim = format[formatPos++]) > ' ') { if (delim == '\'') { while ((delim = format[formatPos++]) && delim != '\'') {} } else if (delim != 'z') { return delim; } } } while (delim > ' '); } public OnPlayerCommandText(playerid,cmdtext[]) { dcmd(createrace,10,cmdtext); dcmd(endcreaterace,13,cmdtext); dcmd(saverace,8,cmdtext); dcmd(savecp,6,cmdtext); dcmd(saveplace,9,cmdtext); dcmd(races,5,cmdtext); dcmd(rhelp,5,cmdtext); dcmd(joinrace,8,cmdtext); dcmd(titul,5,cmdtext); dcmd(stitul,6,cmdtext) return 1; } #include <ostatni> //============================================================================// #define DIALOG_TITUL 2000 //============================================================================// new Titul[MAX_PLAYERS]; //============================================================================// new str[256]; new file[50]; //============================================================================// new ZakazaneTituly[][] = { "Administrátor","Administrator","Adminystrátor","Adminystrator","Admynistrátor", "Admynistrator","Admynystrátor","Admynystrator","Admin","Admyn","Moderator","Moderátor", "Majitel","Zástupce Majitele","Zastupce Majitele","RCON","VIP","Tester","Kurva","Píča", "Kunda","Děvka","Devka","Pica","Creator","Curak","Čůrák","Píčus","Picus","Gay","Gej","Buzna", "Buzík","Buzik","Kokot",".",",",":","www","1","2","3","4","5","6","7","8","9","A-Team","ATeam" }; //============================================================================// public OnFilterScriptInit() { for(new i; i < MAX_PLAYERS; i++) { format(file,sizeof(file),"Titul/%s.ini",Jmeno(i)); if(dini_Exists(file)) { Titul[i] = dini_Int(file,"MaTitul"); } } return 1; } //============================================================================// public OnPlayerRequestSpawn(playerid) { SM(playerid,""g"Server využívá Titul "r"** "w" by .[P]rco_ "r"**"); SM(playerid,""g"pro nastavení titulu použijte příkaz "r"/titul"); return 1; } //============================================================================// public OnPlayerText(playerid,text[]) { if(Titul[playerid] == 1) { format(file,sizeof(file),"Titul/%s.ini",Jmeno(playerid)); if(strlen(text) > 64) { new Text[2][65]; strmid(Text[0],text,0,64); strmid(Text[1],text,64,128); format(str,sizeof(str),"%s[%s] {%06x}%s"w" (%d): %s%s",dini_Get(file,"BarvaTitulu"),dini_Get(file,"Titul"),GetPlayerColor(playerid) >>> 8,Jmeno(playerid),playerid,dini_Get(file,"BarvaTextu"),Text[0]); SCMTA(bila,str); format(str,sizeof(str),"%s%s",dini_Get(file,"BarvaTextu"),Text[1]); SCMTA(bila,str); } else { format(str,sizeof(str),"%s[%s] {%06x}%s"w" (%d): %s%s",dini_Get(file,"BarvaTitulu"),dini_Get(file,"Titul"),GetPlayerColor(playerid) >>> 8,Jmeno(playerid),playerid,dini_Get(file,"BarvaTextu"),text); SCMTA(bila,str); } return 0; } return 1; } //============================================================================// public OnPlayerDisconnect(playerid,reason) { Titul[playerid] = 0; return 1; } //============================================================================// public OnPlayerConnect(playerid) { if(dini_Exists(file)) { Titul[playerid] = dini_Int(file,"MaTitul"); } return 1; } //============================================================================// //============================================================================// dcmd_stitul(playerid,params[]) { new id,titul[150]; if(!IsPlayerAdmin(playerid)) return SM(playerid,"Nemáte dostatečná oprávnění"); if(sscanf(params,"iz",id,titul)) return SM(playerid,"Použití: "r"/stitul [ ID ] [ Titul ]"); if(strlen(titul) > 25) return SM(playerid,"Zadal jste příliš mnoho znaků"); format(file,sizeof(file),"Titul/%s.ini",Jmeno(id)); if(Titul[id] == 0) { if(!dini_Exists(file)) { dini_Create(file); } Titul[id] = 1; dini_Set(file,"Titul",titul); dini_IntSet(file,"MaTitul",1); dini_Set(file,"BarvaTextu",w); dini_Set(file,"BarvaTitulu",w); format(str,sizeof(str),"Správce "w"%s "r"nastavil hráči "w"%s "r"Titul: "g"%s",Jmeno(playerid),Jmeno(id),titul); SCMTA(red,str); } else { Titul[id] = 0; format(str,sizeof(str),"Správce "w"%s "r"odebral hráči "w"%s "r"Titul",Jmeno(playerid),Jmeno(id)); SCMTA(red,str); dini_Remove(file); } return 1; } //============================================================================// dcmd_titul(playerid,params[]) { #pragma unused params if(Titul[playerid] == 0) { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul","Vybrat","Zavřít"); } else { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul\nOdebrat titul\nZměnit barvu titulu\nZměnit barvu textu","Vybrat","Zavřít"); } return 1; } //============================================================================// public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[]) { if(dialogid == DIALOG_TITUL) { if(response) { format(str,sizeof(str),"Zadejte titul, který budete mít před jménem\n\n"r"Příklad: "g"Agent\n"r"Bude Vypadat: "g"[Agent]%s\n"y"[ ! ] Nezadávejte závorky [ ]",Jmeno(playerid)); switch(listitem) { case 0: SPD(playerid,DIALOG_TITUL+1,DIALOG_STYLE_INPUT,""g"Titul System",str,"Nastavit","Zpět"); case 1: { format(file,sizeof(file),"Titul/%s.ini",Jmeno(playerid)); SPD(playerid,999,DIALOG_STYLE_MSGBOX,""g"Titul System","Titul odebrán","Ok",""); Titul[playerid] = 0; dini_Remove(file); } case 2: SPD(playerid,DIALOG_TITUL+2,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); case 3: SPD(playerid,DIALOG_TITUL+3,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); } } return 1; } if(dialogid == DIALOG_TITUL+1) { if(response) { new titul[1000]; if(sscanf(inputtext,"z",titul)) return SPD(playerid,DIALOG_TITUL+1,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Nezadal jste žádný titul","Nastavit","Zpět"); if(strlen(titul) > 25) return SPD(playerid,DIALOG_TITUL+1,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Zadal jste příliš mnoho znaků","Nastavit","Zpět"); if(strlen(inputtext) > 25) return SPD(playerid,DIALOG_TITUL+1,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Zadal jste příliš mnoho znaků","Nastavit","Zpět"); if(!IsPlayerAdmin(playerid)) { for(new i; i < sizeof(ZakazaneTituly); i++) { if(strfind(inputtext,ZakazaneTituly[i],true) != -1 ) return SPD(playerid,DIALOG_TITUL+1,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Tento titul je zakázaný","Nastavit","Zpět"); } } format(file,sizeof(file),"Titul/%s.ini",Jmeno(playerid)); if(!dini_Exists(file)) { dini_Create(file); } dini_Set(file,"Titul",titul); format(str,sizeof(str),"Titul nastaven: "g"%s",titul); SPD(playerid,9999,DIALOG_STYLE_MSGBOX,""g"Titul System",str,"Ok",""); Titul[playerid] = 1; dini_IntSet(file,"MaTitul",1); } else { if(Titul[playerid] == 0) { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul","Vybrat","Zavřít"); } else { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul\nOdebrat titul\nZměnit barvu titulu\nZměnit barvu textu","Vybrat","Zavřít"); } } return 1; } if(dialogid == DIALOG_TITUL+2) { if(response) { format(file,sizeof(file),"Titul/%s.ini",Jmeno(playerid)); SPD(playerid,DIALOG_TITUL+2,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); switch(listitem) { case 0: { dini_Set(file,"BarvaTitulu",w); SM(playerid,"Barva titulu nastavena na: Bílou"); } case 1: { dini_Set(file,"BarvaTitulu",r); SM(playerid,"Barva titulu nastavena na: "r"Červenou"); } case 2: { dini_Set(file,"BarvaTitulu",c); SM(playerid,"Barva titulu nastavena na: "c"Cyanovou"); } case 3: { dini_Set(file,"BarvaTitulu",b); SM(playerid,"Barva titulu nastavena na: "b"Modrou"); } case 4: { dini_Set(file,"BarvaTitulu",g); SM(playerid,"Barva titulu nastavena na: "g"Zelenou"); } case 5: { dini_Set(file,"BarvaTitulu",y); SM(playerid,"Barva titulu nastavena na: "y"Žlutou"); } case 6: { dini_Set(file,"BarvaTitulu",or); SM(playerid,"Barva titulu nastavena na: "or"Oranžovou"); } case 7: { dini_Set(file,"BarvaTitulu",s); SM(playerid,"Barva titulu nastavena na: "s"Šedou"); } case 8: SPD(playerid,DIALOG_TITUL+4,DIALOG_STYLE_INPUT,""g"Titul System","Zadejte barvu v hex kódě\n\nPříklad:\n"r"FF0000 - Červená\n"w"FFFFFF - Bílá","Nastavit","Zpět"); } } else { if(Titul[playerid] == 0) { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul","Vybrat","Zavřít"); } else { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul\nOdebrat titul\nZměnit barvu titulu\nZměnit barvu textu","Vybrat","Zavřít"); } } return 1; } if(dialogid == DIALOG_TITUL+3) { if(response) { format(file,sizeof(file),"Titul/%s.ini",Jmeno(playerid)); SPD(playerid,DIALOG_TITUL+3,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); switch(listitem) { case 0: { dini_Set(file,"BarvaTextu",w); SM(playerid,"Barva textu nastavena na: Bílou"); } case 1: { dini_Set(file,"BarvaTextu",r); SM(playerid,"Barva textu nastavena na: "r"Červenou"); } case 2: { dini_Set(file,"BarvaTextu",c); SM(playerid,"Barva textu nastavena na: "c"Cyanovou"); } case 3: { dini_Set(file,"BarvaTextu",b); SM(playerid,"Barva textu nastavena na: "b"Modrou"); } case 4: { dini_Set(file,"BarvaTextu",g); SM(playerid,"Barva textu nastavena na: "g"Zelenou"); } case 5: { dini_Set(file,"BarvaTextu",y); SM(playerid,"Barva textu nastavena na: "y"Žlutou"); } case 6: { dini_Set(file,"BarvaTextu",or); SM(playerid,"Barva textu nastavena na: "or"Oranžovou"); } case 7: { dini_Set(file,"BarvaTextu",s); SM(playerid,"Barva textu nastavena na: "s"Šedou"); } case 8: SPD(playerid,DIALOG_TITUL+5,DIALOG_STYLE_INPUT,""g"Titul System","Zadejte barvu v hex kódě\n\nPříklad:\n"r"FF0000 - Červená\n"w"FFFFFF - Bílá","Nastavit","Zpět"); } } else { if(Titul[playerid] == 0) { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul","Vybrat","Zavřít"); } else { SPD(playerid,DIALOG_TITUL,DIALOG_STYLE_LIST,""g"Titul System","Nastavit titul\nOdebrat titul\nZměnit barvu titulu\nZměnit barvu textu","Vybrat","Zavřít"); } } return 1; } if(dialogid == DIALOG_TITUL+4) { if(response) { SPD(playerid,DIALOG_TITUL+2,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); format(file,sizeof(file),"Titul/%s.ini",Jmeno(playerid)); new barva[6]; if(sscanf(inputtext,"z",barva)) return SPD(playerid,DIALOG_TITUL+4,DIALOG_STYLE_INPUT,""g"Titul System","Zadejte barvu v hex kódě\n\nPříklad:\n"r"FF0000 - Červená\n"w"FFFFFF - Bílá","Nastavit","Zpět"); if(strlen(barva) < 6) return SPD(playerid,DIALOG_TITUL+5,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Zadal jste přiliš málo znaků","Nastavit","Zpět"); if(strlen(barva) > 6) return SPD(playerid,DIALOG_TITUL+4,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Zadal jste přiliš mnoho znaků","Nastavit","Zpět"); format(str,sizeof(str),"{%s}",barva); dini_Set(file,"BarvaTitulu",str); format(str,sizeof(str),"{%s}Barva titulu nastavena",barva); SM(playerid,str); } else { SPD(playerid,DIALOG_TITUL+2,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); } return 1; } if(dialogid == DIALOG_TITUL+5) { if(response) { SPD(playerid,DIALOG_TITUL+3,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); format(file,sizeof(file),"Titul/%s.ini",Jmeno(playerid)); new barva[6]; if(sscanf(inputtext,"z",barva)) return SPD(playerid,DIALOG_TITUL+5,DIALOG_STYLE_INPUT,""g"Titul System","Zadejte barvu v hex kódě\n\nPříklad:\n"r"FF0000 - Červená\n"w"FFFFFF - Bílá","Nastavit","Zpět"); if(strlen(barva) < 6) return SPD(playerid,DIALOG_TITUL+5,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Zadal jste přiliš málo znaků","Nastavit","Zpět"); if(strlen(barva) > 6) return SPD(playerid,DIALOG_TITUL+5,DIALOG_STYLE_INPUT,""g"Titul System",""r"CHYBA: Zadal jste přiliš mnoho znaků","Nastavit","Zpět"); format(str,sizeof(str),"{%s}",barva); dini_Set(file,"BarvaTextu",str); format(str,sizeof(str),"{%s}Barva textu nastavena",barva); SM(playerid,str); } else { SPD(playerid,DIALOG_TITUL+3,DIALOG_STYLE_LIST,""g"Titul System","Bílá\n"r"Červená\n"c"Cyanová\n"b"Modrá\n"g"Zelená\n"y"Žlutá\n"or"Oranžová\n"s"Šedá\n"w"Vlastní barva","Změnit","Zpět"); } return 1; } return 0; } //============================================================================//
  8. Zdravičko kto by bol ochotny my napawniť mod podľa mojich predstav za € koľko si popitate napište my na na pawno alebo na skype prco167 dik
  9. prco167

    pomoc nokill

    ano len neviem jak to udelat
  10. prco167

    pomoc nokill

    sorry ale si nepochopil ja chcem ked urobim zonu chcem aby svietila nejakou farbou že tam je zona v mapku
  11. prco167

    pomoc warpy

    Ty si negramotny ale už som si to spravil to iste čo si my poslal ty už tu bolo mojko
  12. prco167

    pomoc warpy

    nie vše už mam len ešte tie warpy nech nechcem ich v chate
  13. prco167

    pomoc nokill

    mam taky problem mam no kill zonu lenže nie moju ale chcem aby ked admin vytvori zonu aby svietila na niejaku farbu #include <a_samp> #define MAX_PLAYERS_EX 250 #include <sscanf> #include <dini> #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 #define SCM SendClientMessage #define SCMToAll SendClientMessageToAll #define RED 0xFF0000FF #define MAX_PEACE_ZONES 50 enum Peace_Zone { Float:PposX, Float:PposY, Float:PposZ, Float:Prange, Ppickup, Text3D:Plabel, bool:Pcreated, name[101], } new PeaceInfo[MAX_PEACE_ZONES][Peace_Zone]; new PeaceCount=-1; forward CreatePeaceZone(playerid,Float:PPX,Float:PPY,Float:PPZ,Float:PPRange,nazov[]); public CreatePeaceZone(playerid,Float:PPX,Float:PPY,Float:PPZ,Float:PPRange,nazov[]) { if(PeaceCount+1<MAX_PEACE_ZONES) { PeaceCount++; new FreePeaceCount; for(new i;i<MAX_PEACE_ZONES;i++) { if(!PeaceInfo[i][Pcreated]) { FreePeaceCount=i; break; } } new vw = GetPlayerVirtualWorld(playerid); PeaceInfo[FreePeaceCount][PposX]=PPX; PeaceInfo[FreePeaceCount][PposY]=PPY; PeaceInfo[FreePeaceCount][PposZ]=PPZ; PeaceInfo[FreePeaceCount][Prange]=PPRange; PeaceInfo[FreePeaceCount][Pcreated]=true; PeaceInfo[FreePeaceCount][Ppickup]=CreatePickup(1254,1,PPX,PPY,PPZ,vw); format(PeaceInfo[FreePeaceCount][name],101,"%s",nazov); new s[128]; format(s,sizeof(s),"[ No-Kill zone ]{FFFFFF}\r\n%s\n\rin %d range",nazov,floatround(PPRange)); PeaceInfo[FreePeaceCount][Plabel]=Create3DTextLabel(s,RED,PPX,PPY,PPZ+1,PPRange,vw,1); format(s,sizeof(s),"[ Server ] {FFFFFF}Admin %s (ID:%d) vytvoril No-Kill zónu %s v okruhu %d metrov !",PlayerName(playerid),playerid,nazov,floatround(PPRange)); SCMToAll(RED,s); format(s,sizeof(s),"NoKill/Zone%d.ini",FreePeaceCount); dini_Create(s); dini_FloatSet(s,"PosX",PPX); dini_FloatSet(s,"PosY",PPY); dini_FloatSet(s,"PosZ",PPZ); dini_FloatSet(s,"PosR",PPRange); dini_IntSet(s,"VW",vw); dini_Set(s,"Nazov",nazov); } else SCM(playerid,RED,"[ Server ] {FFFFFF}Maximálny počet zón bol prekročený, zóna nemôže byť vytvorená."); return 1; } stock DeletePeaceZone(playerid,zoneid) { PeaceCount--; new s[128]; format(s,sizeof(s),"[ Server ] {FFFFFF}Admin %s (ID:%d) zrušil No-Kill %s zónu v okruhu %d metrov !",PlayerName(playerid),playerid,PeaceInfo[zoneid][name],floatround(PeaceInfo[zoneid][Prange])); SCMToAll(RED,s); format(s,sizeof(s),"NoKill/Zone%d.ini",zoneid); dini_Remove(s); format(PeaceInfo[zoneid][name],101," "); PeaceInfo[zoneid][PposX]=0; PeaceInfo[zoneid][PposY]=0; PeaceInfo[zoneid][PposZ]=0; PeaceInfo[zoneid][Prange]=0; PeaceInfo[zoneid][Pcreated]=false; DestroyPickup(PeaceInfo[zoneid][Ppickup]); Delete3DTextLabel(PeaceInfo[zoneid][Plabel]); } stock PlayerName(i) { new p[MAX_PLAYER_NAME]; GetPlayerName(i,p,MAX_PLAYER_NAME); return p; } forward PlayerInPeace(); public PlayerInPeace() { for(new i;i<MAX_PLAYERS_EX;i++) { if(IsPlayerConnected(i)&&!IsPlayerNPC(i)) { for(new z;z<MAX_PEACE_ZONES;z++) { if(IsPlayerInRangeOfPoint(i,PeaceInfo[z][Prange],PeaceInfo[z][PposX],PeaceInfo[z][PposY],PeaceInfo[z][PposZ])) { if(GetPlayerWeapon(i)!=0) { SetPlayerArmedWeapon(i,0); } } } } } } public OnFilterScriptInit() { print("--------------------------------------"); print("In-game no-kill zone creator by Angelus"); print("--------------------------------------"); new s[100],Float:p[4],vw,str[101]; for(new i;i<MAX_PEACE_ZONES;i++) { format(s,20,"NoKill/Zone%d.ini",i); if(fexist(s)) { PeaceCount++; p[0]=dini_Float(s,"PosX"); p[1]=dini_Float(s,"PosY"); p[2]=dini_Float(s,"PosZ"); p[3]=dini_Float(s,"PosR"); vw=dini_Int(s,"VW"); format(str,101,"%s",dini_Get(s,"Nazov")); PeaceInfo[i][PposX]=p[0]; PeaceInfo[i][PposY]=p[1]; PeaceInfo[i][PposZ]=p[2]; PeaceInfo[i][Prange]=p[3]; PeaceInfo[i][Pcreated]=true; PeaceInfo[i][Ppickup]=CreatePickup(1254,1,p[0],p[1],p[2],vw); format(s,sizeof(s),"[ No-Kill zone ]{FFFFFF}\r\n%s\n\rin %d range",str,floatround(p[3])); PeaceInfo[i][Plabel]=Create3DTextLabel(s,RED,p[0],p[1],p[2]+1,p[3],vw,1); format(PeaceInfo[i][name],101,"%s",str); printf("...Zone [%d] %s loaded... X:%f Y:%f Z:%f Range:%d VirtualWorld:%d",i,str,p[0],p[1],p[2],floatround(p[3]),vw); } } SetTimer("PlayerInPeace",525,true); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(createnk,8,cmdtext); dcmd(deletenk,8,cmdtext); dcmd(nkzones,7,cmdtext); return 0; } dcmd_nkzones(playerid,params[]) { #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"[ Server ] {FFFFFF}Musíš mať RCON pre zoznam No-Kill zón !"); if(PeaceCount>-1) { new s[1000]; for(new i;i<MAX_PEACE_ZONES;i++) { if(PeaceInfo[i][Pcreated]) { format(s,sizeof(s),"%s[%d] %s\n",s,i,PeaceInfo[i][name]); } } ShowPlayerDialog(playerid,1235,DIALOG_STYLE_LIST,"Zóny:",s,"OK","Cancel"); } else { ShowPlayerDialog(playerid,1235,DIALOG_STYLE_LIST,"Zóny:","Na serveri nie je vytvorená žiadna NoKill zóna!","OK","Cancel"); } return 1; } dcmd_createnk(playerid,params[]) { if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"[ Server ] {FFFFFF}Musíš mať RCON pre vytvorenie No-Kill zóny !"); if(strlen(params)>100)return SCM(playerid,RED,"[ Server ] {FFFFFF}Príliš dlhý názov zóny!"); new Float:range,nazov[101]; if(sscanf(params,"fz",range,nazov))return SCM(playerid,RED,"[ Server ] {FFFFFF}Použitie: /createnk [range 10-500] [názov no kill zóny]"); if(range < 10 || range > 500)return SCM(playerid,RED,"[ Server ] {FFFFFF}Použitie: /createnk [range 10-500] [názov no kill zóny]"); new Float:pos[3]; GetPlayerPos(playerid,pos[0],pos[1],pos[2]); CreatePeaceZone(playerid,pos[0],pos[1],pos[2],range,nazov); return 1; } dcmd_deletenk(playerid,params[]) { #pragma unused params if(!IsPlayerAdmin(playerid))return SCM(playerid,RED,"[ Server ] {FFFFFF}Musíš mať RCON pre zrušenie No-Kill zóny !"); for(new i;i<MAX_PEACE_ZONES;i++) { if(PeaceInfo[i][Pcreated]) { if(IsPlayerInRangeOfPoint(playerid,2,PeaceInfo[i][PposX],PeaceInfo[i][PposY],PeaceInfo[i][PposZ])) { DeletePeaceZone(playerid,i); break; } } } return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys == KEY_FIRE) { for(new z;z<MAX_PEACE_ZONES;z++) { if(PeaceInfo[z][Pcreated]) { if(IsPlayerInRangeOfPoint(playerid,PeaceInfo[z][Prange],PeaceInfo[z][PposX],PeaceInfo[z][PposY],PeaceInfo[z][PposZ])) { TogglePlayerControllable(playerid,false); TogglePlayerControllable(playerid,true); break; } } } } return 1; } public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid) { for(new z;z<MAX_PEACE_ZONES;z++) { if(PeaceInfo[z][Pcreated]) { if(IsPlayerInRangeOfPoint(playerid,PeaceInfo[z][Prange],PeaceInfo[z][PposX],PeaceInfo[z][PposY],PeaceInfo[z][PposZ])) { TogglePlayerControllable(playerid,false); SetTimerEx("UnFreeze",5000,false,"i",playerid); GameTextForPlayer(playerid,"~r~v no-kill zone je zakazane utocit na hracov !",5000,5); break; } } } return 1; } forward UnFreeze(i); public UnFreeze(i) { TogglePlayerControllable(i,true); }
  14. prco167

    pomoc warpy

    nechapem temu urobiš my aspon 1 vzor?
  15. prco167

    pomoc warpy

    a kde to najdem?
×
×
  • Create New...