Port


Započeo Fergosonn, Maj 25, 2021, 16:51:26 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Ovako napavio sam da se moze portati igrac komandom /port ID ali ima jedan problem a to je sto uvek porta igraca sa ID 0 ako zna neko kako da resim
Deo skripte:
CMD:tp(playerid, params[]){
	if (isnull(params)) {
	 SPD(playerid, 138, DIALOG_STYLE_LIST, "TELEPORT", "Organizacije\nLos Santos Lokacije\nLas Venturas & San Fierro\nPoslovi", "Odabir", "Izlaz");
	} else {
	new targetid;

	sscanf(params, "u", targetid);

	if (targetid == INVALID_PLAYER_ID) {
	 SCM(playerid, -1, ""ZUTA"[INFO] "BELA"Wrong ID");
	}
	SPD(playerid, 1387, DIALOG_STYLE_LIST, GetName(targetid), "Organizacije\nLos Santos Lokacije\nLas Venturas & San Fierro\nPoslovi", "Odabir", "Izlaz");
	PortaIgraca[ targetid ] = playerid;
	}
	return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Vaš odgovor
Poslednja Izmena: Maj 25, 2021, 22:10:40 POSLE PODNE od M Ө M Σ N Z I

Posalji definisanje varijable i response dialoga

Takodje izmeni
if (targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, ""ZUTA"[INFO] "BELA"Wrong ID");
Poslednja Izmena: Maj 25, 2021, 17:19:40 POSLE PODNE od PazzOnee

Citat: PazzOnee poslato Maj 25, 2021, 17:16:36 POSLE PODNE
Posalji definisanje varijable i response dialoga

Takodje izmeni
if (targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, ""ZUTA"[INFO] "BELA"Wrong ID");

new targetid = PortaIgraca[targetid];

Ja sam kod sebe ovako uradio
CMD:ateleport(playerid, params[])
{
	new player;
	if(sscanf(params, "U(-1)", player)) return SCM(playerid,NS_YELLOW, "[KORISCENJE] "BELA"/ateleport [ID/Ime_Prezime]");
	if(!IsPlayerConnected(player))
	{
		if(UsaoEvent[playerid] == 1) return SCM(playerid,NS_ORANGE, "* Ne mozete koristiti ovu komandu dok ste na live eventu.");
		for(new idzons = 0; idzons < sizeof(GZ); idzons++)
		if(IsPlayerInRangeOfPoint(playerid, 60.0, GZ[idzons][gPickupx], GZ[idzons][gPickupy], GZ[idzons][gPickupz])) return SCM(playerid, NS_ORANGE, "* Ne mozete koristiti ovu komandu ukoliko ste unutar zone.");
		if(PlayerInfo[playerid][pRadi] == 1) return SendClientMessage(playerid, NS_ORANGE,"* Radite posao, ne mozete koristiti ovu komandu.");
		if(Zavezan[playerid] == 1) return SendClientMessage(playerid, NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste zavezani.");
		if(PlayerInfo[playerid][pTrazeniLevel] >= 1) return SendClientMessage(playerid, NS_ORANGE,"* Ne mozete koristiti ovu komandu dok imate trazeni level.");
		if(PlayerInfo[playerid][pZatvor] != 0) return SendClientMessage(playerid, NS_ORANGE,"* Ne mozete koristiti ovu komandu u zatvoru.");
		if(PolicajacNaDuznosti[playerid] == 1) return SendClientMessage(playerid, NS_ORANGE,"* Ne mozete koristiti ovu komandu dok ste policajac na duznosti.");
		if(PlayerInfo[playerid][pPromoter] == 1 || PlayerInfo[playerid][pPromoter] == 2 || PlayerInfo[playerid][pPromoter] == 3 || PlayerInfo[playerid][pVip] == 1 || PlayerInfo[playerid][pVip] == 2 || PlayerInfo[playerid][pVip] == 3 || PlayerInfo[playerid][pVip] == 4 || PlayerInfo[playerid][pVip] == 5 || PlayerInfo[playerid][pVip] == 6 || PlayerInfo[playerid][pGM] == 1 || PlayerInfo[playerid][pGM] == 1)
	    {
        SPD(playerid,150, DIALOG_STYLE_LIST, ""BELA"Teleport - Vrste", "Los Santos\nLas Venturas\nSan Fierro\nOrganizacije\nPoslovi", "Odaberi", "Izlaz");
	    }
	    if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3 || PlayerInfo[playerid][pAdmin] == 4 || PlayerInfo[playerid][pAdmin] == 5 || PlayerInfo[playerid][pAdmin] == 6 || PlayerInfo[playerid][pTA] == 1)
	    {
	    SPD(playerid,191, DIALOG_STYLE_LIST, ""BELA"Teleport - Vrste", "Los Santos\nLas Venturas\nSan Fierro\nOrganizacije\nPoslovi\nEventi\nAdmin", "Odaberi", "Izlaz");
	    }
	}
	else if(IsPlayerConnected(player))
	{
		if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pGM] < 1 && PlayerInfo[playerid][pTA] < 1) return SendClientMessage(playerid,NS_ORANGE,"* Nemate ovlascenje za dalju upotrebu ove komande.");
		if(UsaoEvent[player] == 1) return SCM(playerid,NS_ORANGE, "* Taj igrac se nalazi na live eventu.");
		if(PlayerInfo[player][pRadi] == 1) return SendClientMessage(playerid, NS_ORANGE,"* Taj igrac radi posao, ne mozete ga portati.");
		if(Zavezan[player] == 1) return SendClientMessage(playerid, NS_ORANGE,"* Taj igrac je zavezan, ne mozete ga portati.");
		if(PlayerInfo[player][pTrazeniLevel] >= 1) return SendClientMessage(playerid, NS_ORANGE,"* Taj igrac ima trazeni level.");
		if(PlayerInfo[player][pZatvor] != 0) return SendClientMessage(playerid, NS_ORANGE,"* Ne mozete portati igraca koji je u zatvoru.");
		if(PolicajacNaDuznosti[player] == 1) return SendClientMessage(playerid, NS_ORANGE,"* Ne mozes portati policajca na duznosti.");
		SPD(playerid,193, DIALOG_STYLE_LIST, ""BELA"Teleport - Vrste", "Los Santos\nLas Venturas\nSan Fierro\nOrganizacije\nPoslovi\nEventi\nAdmin", "Odaberi", "Izlaz");
	    port[playerid] = playerid;
	    }
    return 1;
}

[pawm]new port[MAX_PLAYERS];[/pawn]
Portovanje igraca
fDialog(600)
{
	if(!response) return 1;
	switch(listitem)
	{
		case 0:
		{
                       new idigraca = port[playerid];
			if(GetPlayerState(idigraca) == 2)
			{
				new idv = GetPlayerVehicleID(idigraca);
				SetVehiclePos(idv,1440.7800,-1722.9600,13.5469);
				SetVehicleZAngle(idv, 137.8100);
			}
			else
			{
				SetPlayerPos(idigraca,1440.7783,-1722.9792,13.2830);
				SetPlayerFacingAngle(idigraca, 137.8100);
			}
			SetPlayerInterior(idigraca, 0);
			SetPlayerVirtualWorld(idigraca,0);
            va_SendClientMessage(idigraca,NS_YELLOW,"[INFO] "BELA"Staff %s vas je portao do lokacije.", GetName(playerid));
            va_SendClientMessage(playerid,NS_YELLOW,"[INFO] "BELA"Portali ste %s do lokacije.", GetName(idigraca));
           }
	}
	return 1;
}

e sad ukoliko zelis kreiranje ig teleport takodje i da ga mozes port na te lokacije pisi pm zauzima 80 posto manje od ovoga

PortaIgraca[ targetid ] = playerid;


ovo zamjeni sa

PortaIgraca[ playerid ] = targetid;


javi da li radi
Third-party Pawn Developer