Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Fergosonn poslato Maj 25, 2021, 16:51:26 POSLE PODNE

Naslov: Port
Poruka od: Fergosonn poslato Maj 25, 2021, 16:51:26 POSLE PODNE
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: [pawn]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;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Vaš odgovor
Naslov: Odg: Port
Poruka od: PazzOnee poslato Maj 25, 2021, 17:16:36 POSLE PODNE
Posalji definisanje varijable i response dialoga

Takodje izmeni
[pawn]if (targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, ""ZUTA"[INFO] "BELA"Wrong ID");[/pawn]
Naslov: Odg: Port
Poruka od: Fergosonn poslato Maj 25, 2021, 17:48:31 POSLE PODNE
Citat: PazzOnee poslato Maj 25, 2021, 17:16:36 POSLE PODNE
Posalji definisanje varijable i response dialoga

Takodje izmeni
[pawn]if (targetid == INVALID_PLAYER_ID) return SCM(playerid, -1, ""ZUTA"[INFO] "BELA"Wrong ID");[/pawn]
[pawn]new targetid = PortaIgraca[targetid];[/pawn]
Naslov: Odg: Port
Poruka od: Goku ^ poslato Maj 25, 2021, 18:42:49 POSLE PODNE
Ja sam kod sebe ovako uradio
[pawn]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;
}[/pawn]
[pawm]new port[MAX_PLAYERS];[/pawn]
Portovanje igraca
[pawn]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;
}[/pawn]
e sad ukoliko zelis kreiranje ig teleport takodje i da ga mozes port na te lokacije pisi pm zauzima 80 posto manje od ovoga
Naslov: Odg: Port
Poruka od: Salesman poslato Maj 25, 2021, 19:25:59 POSLE PODNE
[pawn]PortaIgraca[ targetid ] = playerid;[/pawn]

ovo zamjeni sa

[pawn]PortaIgraca[ playerid ] = targetid;[/pawn]

javi da li radi
Naslov: Odg: Port
Poruka od: Fergosonn poslato Maj 25, 2021, 21:49:20 POSLE PODNE
Fixed hvala svima