Skripta koju koristim:GTARP
Dio skripte:/
Opis problema:Ovako interesujeme kako mogu da namestim da kad udjes sa vozilom ispred opstine na onaj parking, da mu da ticket od 1000$ i da ga izbaci iz auta.Hvala Unapred :)
Slika:/
Napravi neki tajmer http://wiki.sa-mp.com/wiki/SetTimer ili ubaci u neki postojevi vec i onda ubacis u njega ovako nesto
foreach (new i : Player)
{
if (IsPlayerInRangeOfPoint(i, Range, X, Y, Z))
{
// Sta da se desi
}
}
Ako budes ubacivao u neki vec postojeci public od tajmera i imas foreach ili proveru za sve igrace onda ti ona linija u vezi foreacha i ne treba ...
Brt a kako dotati ovo pTiket da mu da kaznu neznam kako samo, ako moze da pojasnis malo.Hvala
Lepo ti je covek napisao
// Sta da se desi
i ti tu stavis sta oces npr da mu da tiket, ispise poruku svim igracima da je dobio tiket i slicno.
foreach (new i : Player)
{
if (IsPlayerInRangeOfPoint(i, Range, X, Y, Z))
{
GivePlayerMoney(i,-1000);
SendClientMessage(i,COLOR_WHITE,"Drzava ti je naplatila ulazak na parking 1000$");
}
}
samo stavis tu gore svoje koordinate gdje kad udje u koju zonu ovo x,y,z
Citat: [UG]Cile poslato Januar 26, 2015, 13:00:52 POSLE PODNE
foreach (new i : Player)
{
if (IsPlayerInRangeOfPoint(i, Range, X, Y, Z))
{
GivePlayerMoney(i,-1000);
SendClientMessage(i,COLOR_WHITE,"Drzava ti je naplatila ulazak na parking 1000$");
}
}
samo stavis tu gore svoje koordinate gdje kad udje u koju zonu ovo x,y,z
isto tako treba napraviti provjeru da li je igraÄ u vozilu http://wiki.sa-mp.com/wiki/Function:IsPlayerInVehicle
i onda da ga kika iz auta http://wiki.sa-mp.com/wiki/RemovePlayerFromVehicle i onda da mu oduzme keš http://wiki.sa-mp.com/wiki/GetPlayerMoney
nece covjek tako covjek hoce da mu da tiket a rekao mu je eto rudi
Evo errori C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(85002) : warning 219: local variable "kazneni" shadows a variable at a preceding level
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96436) : error 055: start of function body without function header
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96437) : error 010: invalid function or declaration
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96439) : error 010: invalid function or declaration
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96443) : error 021: symbol already defined: "GetPlayerName"
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96450) : error 010: invalid function or declaration
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(100330) : warning 203: symbol is never used: "kaznapare"
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(100330) : warning 203: symbol is never used: "kazneni"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
forward proveraopstina();
public proveraopstina();
{
foreach (new i : Player)
{
if (IsPlayerInRangeOfPoint(i, Range, 1480.6249,-1763.7592,22.1978))
{
new kazneni[512];
new kaznapare = (1000);
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(kazneni, sizeof(kazneni), "{FF0000}[TICKET]{FFFFFF}RoboCot je napisao tiket igracu %s Cena: %d Razlog: {FF0000}Vozilom u pesacku zonu ", giveplayer, kaznapare);
SendClientMessageToAll(COLOR_LIGHTRED, kazneni);
PI[playerid][pTiket] += 1;
PI[playerid][pTiket] = kazna;
}
}
return 1;
}
forward proveraopstina();
public proveraopstina();
{
foreach (new i : Player)
{
if (IsPlayerInRangeOfPoint(i, Range, 1480.6249,-1763.7592,22.1978)) // Kad ne znas funkciju i njene parametre kucaj njeno ime na netu idi na samp wiki i proci njene parametre u ovom slucaju Range nisi popunio idi i prouci sta je to za sta je taj parametar
{
new kazneni[512];
format(kazneni, sizeof(kazneni), "{FF0000}[TICKET]{FFFFFF}RoboCot je napisao tiket igracu %s Cena: %d Razlog: {FF0000}Vozilom u pesacku zonu ", GetName(i), 1000);
SendClientMessageToAll(COLOR_LIGHTRED, kazneni);
PI[playerid][pTiket] += 1;
//PI[playerid][pTiket] = kazna; // odakle da ti cita ovo kazna ? Usput ista je varijabla kao ova gora te ne znam sta si s njom zamislio
}
}
return 1;
}
Ako nemas Stock za GetName ubaci ga negde na kraj scripte
stock GetName(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96460) : error 055: start of function body without function header
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96461) : error 010: invalid function or declaration
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96463) : error 010: invalid function or declaration
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96466) : error 021: symbol already defined: "format"
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96470) : error 054: unmatched closing brace ("}")
C:\Users\HOME\Downloads\gamemodes\New folder\test.pwn(96472) : error 010: invalid function or declaration
forward proveraopstina();
public proveraopstina();
{
foreach (new i : Player)
{
if (IsPlayerInRangeOfPoint(i, Range, 1480.6249,-1763.7592,22.1978)) // Kad ne znas funkciju i njene parametre kucaj njeno ime na netu idi na samp wiki i proci njene parametre u ovom slucaju Range nisi popunio idi i prouci sta je to za sta je taj parametar
{
format(kazneni, sizeof(kazneni), "{FF0000}[TICKET]{FFFFFF}RoboCot je napisao tiket igracu %s Cena: %d Razlog: {FF0000}Vozilom u pesacku zonu ", GetName(i), 1000);
SendClientMessageToAll(COLOR_LIGHTRED, kazneni);
PI[playerid][pTiket] += 1;
//PI[playerid][pTiket] = kazna; // odakle da ti cita ovo kazna ? Usput ista je varijabla kao ova gora te ne znam sta si s njom zamislio
}
}
return 1;
}
public proveraopstina()
bez ; na kraju
Samo nece da pise prijavu stavio sam SetTimer("proveraopstina", 1, 1); da provera i nista se nedesava.
Citat: Markoni990 poslato Januar 26, 2015, 18:19:12 POSLE PODNE
Samo nece da pise prijavu stavio sam SetTimer("proveraopstina", 1, 1); da provera i nista se nedesava.
Gdje si stavio timer? i stavi 100ms
Stavio sam pod OnGameModeInit, nisam te shvatio za 100ms
SetTimer("proveraopstina", 100, 1);
I dalje brt isto nista se nedesava nece da pise prijavu.:@
Jel imas ti foreach ?
Radi sad e sad kad sam stavio da mu provera samo kad je kolima i da mu napise samo 1 kaznu ono nece da radi nzm sto.:@
forward proveraopstina();
public proveraopstina()
{
foreach (Player, i)
{
if(Kaznioga[i] == 0)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
if (IsPlayerInRangeOfPoint(i, 20.0, 1469.5833,-1774.6041,13.3620)) // Kad ne znas funkciju i njene parametre kucaj njeno ime na netu idi na samp wiki i proci njene parametre u ovom slucaju Range nisi popunio idi i prouci sta je to za sta je taj parametar
{
new moneys = 1000;
new kaznenii[512];
format(kaznenii, sizeof(kaznenii), "{FF0000}[TICKET]{FFFFFF}RoboCot je napisao tiket igracu %s Cena: %d Razlog: {FF0000}Vozilom u pesacku zonu ", GetName(i), moneys);
SendClientMessageToAll(COLOR_LIGHTRED, kaznenii);
PI[i][pTiket] += 1;
TicketMoney[i] = moneys;
Kaznioga[i] = 1;
//SetTimerEx("GotovaKaznica",600000, false, "i", i);
//PI[playerid][pTiket] = kazna; // odakle da ti cita ovo kazna ? Usput ista je varijabla kao ova gora te ne znam sta si s njom zamislio
}
}
}
}
return 1;
}
Sta nece da radi ?
Nasao sam u cemu je bio problem, namestio sam sad radi.Hvala svima koji su mi pomogli :) Moze Lock